ThinkPHP | 这绝对是坑死你,没得商量的 PHP 框架
2017-08-21 本文已影响232人
xiaojianxu
近日,不得不使用 ThinkPHP 框架。虽然, 4 年之前,就已经使用过了 ThinkPHP 框架。可是,那会的版本还是低得很,自己的开发经验也少得可怜。
后来的工作,都是在于 codeIgniter,yii, Laravel,symfony, phalcon 这些框架打交道。现在重新再次使用 ThinkPHP,除了发现坑就是真的没有找到别的好处。
可惜的是,这似乎是全球唯一比较多采用英文报错的框架。
以下文字,皆是因为要使用 ThinkPHP 的行为(behavior)扩展特性,而产生。
先来看手册,截图如下:
这就是官方手册,教你如何定义一个行为类。
定义一个行为类先是命名空间,再 extends \Think\Behavior。
自定义 Controller 中调用自定义行为类:
namespace Home\Controller;
use Think\Controller;
class BitcoinController extends Controller {
//public function __initialize() {
//\Think\Hook:add('action_begin', 'Home\\Behavior');
//}
public function index() {
\Think\Hook::listen('action_begin', 'lalal');
}
}
执行之后,报错如下:
Fatal error Class Think Behavior not found
查看 ThinkPHP 官方框架文件,确实没有 Behavior.class.php 这个文件。自带的 behavior 文件也都没有继承 \Think\Behavior。
那就直接去掉 extends \Think\Behavior,果然就好了。
ThinkPHP 坑死你没有话说,反正你都是在坑里,估计也看不出什么坑。