以下列举了开发 CakePHP 项目时的调试方法,主要用于提高开发效率。
一、使用 debug 函数输出数据
<?php debug($var); exit; ?>
二、输出当前页面涉及的 SQL 语句
一般情况下,如果想要找到当前页面执行了哪些 SQL,一般会先到 database.php 找到对应的数据库,然后再到 model 中找数据表,效率很低,而且可能会漏掉一些查询。
或者你会通过开启 mysql 的查询日志,但是如果是多人共用一个数据库,那也不好定位到你想要查找的 SQL,CakePHP 提供了一个 debug 参数,将 debug 等级修改为 2,即可在页面上打印 SQL。
在 core.php 中设置
<?php Configure::write('debug', 2);
?>
或者在页面上添加如下代码
<?php echo $this->element('sql_dump'); ?>
三、使用 xdebug 断点调试
个人觉得如果想要快速熟悉一个项目,xdebug 断点调试是必不可少的,它可以让你明白整个页面的执行逻辑,数据的传递等。
安装 xdebug,然后找到对应页面的控制器方法,设置断点即可,接下来就是一步一步执行代码,查看数据的变化。