站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
SpeedPHP/dump变量调试
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
{{SpeedPHP top}} dump变量调试是在[[PHP]]框架日常开发中最常用的调试手段,开发者应善用dump调试工具,以提高开发效率。 dump变量调试可以测试一切PHP变量,下面举几个常用的例子: ==排错案例== <pre><?php class main extends spController { function index(){ $tpl = $this->spArgs('tpl','default'); // 接收tpl参数作为显示的模板名称,默认是default if( $tpl = 'green' ){ // 当模板是绿色的时候 $this->title = "绿色模板"; }else{ // 当模板是默认的时候 $this->title = "默认模板"; } $this->display($tpl.'.html'); } } ?> </pre> 以上的[[代码]]运行后,我们发现无论输入的tpl值是否green,都是显示green的模板,这是为什么呢? 我们在display之前加入dump来看看$tpl的值。 <pre><?php class main extends spController { function index(){ $tpl = $this->spArgs('tpl','default'); // 接收tpl参数作为显示的模板名称,默认是default if( $tpl = 'green' ){ // 当模板是绿色的时候 $this->title = "绿色模板"; }else{ // 当模板是默认的时候 $this->title = "默认模板"; } dump($tpl); $this->display($tpl.'.html'); } } ?> </pre> 发现$tpl一直都是'green',那么我们再在多个位置dump($tpl);看看。 <pre> <?php class main extends spController { function index(){ $tpl = $this->spArgs('tpl','default'); // 接收tpl参数作为显示的模板名称,默认是default dump($tpl); // 提交参数没问题 if( $tpl = 'green' ){ dump($tpl); // 绿色? // 当模板是绿色的时候 $this->title = "绿色模板"; }else{ dump($tpl); // 默认? // 当模板是默认的时候 $this->title = "默认模板"; } dump($tpl); $this->display($tpl.'.html'); } } ?> </pre> 最终发现,是在IF判断的位置,$tpl值被改变了,把“=”改为“==”,运行程序正常。 <pre><?php class main extends spController { function index(){ $tpl = $this->spArgs('tpl','default'); // 接收tpl参数作为显示的模板名称,默认是default if( $tpl == 'green' ){ // 当模板是绿色的时候 $this->title = "绿色模板"; }else{ // 当模板是默认的时候 $this->title = "默认模板"; } $this->display($tpl.'.html'); } } ?> </pre> 通常,IF中使用双等号的时候,要注意是否写少了一个等号。有个推荐的编程习惯,就是把IF内的判断式调转一下位置,值在前变量在后。如上例中写成if( 'green' == $tpl ),那么即使写错为“=”,$tpl也不会被赋值,这样更容易判断出问题所在,不会被$tpl的取值影响。在框架的多个例子中到有这种写法。 ==检查提交参数== 在接收到提交参数后,通常我们可以dump一下全部的提交参数出来看看,检查表单提交的[[数据]]是否和理想中一样。 dump($this->spArgs()); ==入库前检查== 在数据入库之前,我们通常可以dump一下将入库的数据出来看看是否正确。 <pre>$row = array( 'username' => 'jake', 'contents' => '大家好', 'ctime' => date('Y-m-d H:i:s'), ); dump($row); // 看看入库的数据是否是正确的。 //spClass('m_guestbook')->create($row); // 先注释入库代码,dump检查后没问题再入库 </pre> ==参考来源== http://speedphp.com/manual.html {{SpeedPHP}} [[category:SpeedPHP|D]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:SpeedPHP
(
编辑
)
模板:SpeedPHP top
(
编辑
)