parent::init();//调用父类的构造函数试试
$user = new tb_user();
$user = new tb_user();
解决方案 »
- 如何在php中一起使用md5和crypt
- 有没有查看浏览器行为的工具
- PHP如何操作中文文件名的EXCEL文件?
- 快给PHP环境搞疯了,兄弟们进来搭救一把!!
- 50分求教银行接口 MD5 加密解密问题~
- 我提交对方网站index.php? name="123". 然后他弹出一个网页,显示23岁,我怎么让电脑自动获取这个23岁?
- smarty的问题!
- 请各位大哥大姐帮小妹一把!
- PHP初学者的问题,快来拿分呀!!!
- php数据库问题
- 求这种错误的解决方法:Fatal error: Call to a member function num() on a non-object in
- 动态生成变量并把生成的变量初始数组
必须显式调用父类构造函数才可以吗?
我是跟着视频教程里敲的代码,视频里没有显式调用父类构造函数也可以正常运行啊。。
难道是php版本的问题?
我的php版本是5.4.16
init 方法不是构造函数,但是会在 Zend_Controller_Action 的构造函数中调用,目的在于可以让用户干预一下默认的行为
你的 IndexController::init 方法覆盖了 BaseController::init 方法
于是 BaseController::init 中的初始化代码未能执行,所以出错
构造函数 __construct 的确是 php5 才有的
但 php4 和 php5 都支持用与类名相同的方法作为构造函数
所以在这里无论如何都不能把 init 当做构造函数
对于他的版本应该是这样的。但是他学的视频会不会是PHP4的,那个时候构造函数名称可以自己定的,不一定是__construct
那就覆盖了 Zend_Controller_Action::__constructor 当然是要出错的
php 中,如果子类有构造函数,则不执行父类的构造函数
要向执行的话,需要有 parent::__construct();
你为什么不按他的套路来呢?