现象
执行 php yii 查看脚本有什么命令的时候,发现会调用我一个类中的析构函数的命令。并且不是一次调用,是3次,截图中有两次,还有一次输出完析构函数所在的类中的命令之后。
分析原因
在析构函数中加入调试语句:
发现是在 HelpController.php 的 193 行调用的
原来 yii 框架打印存在的脚本命令,是通过初始化每个脚本类,然后查看里面的 method(action) 来确定的。所以当对象在之后的运行时中没有用处的时候, php 会调用析构函数。
总结
在脚本的析构函数中不要放太多的逻辑。