codeigniter框架中的继承问题
初学ci框架,请讲解一下parent::__construct();这句什么意思,它的作用是什么,为什么在很多class中都会看到这句。谢谢。
class test extends CI_Controller {
function __construct() {
parent::__construct();
}
function index() {
$this->load->view('test_view');
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
你可以理解成 你的这个class在初始化的时候执行了一次父类里面的初始化方法
CI是一个面向对象编程的PHP框架,这里的test(建议大写)是一个类,继承自
CI_Controller
,__construct
是这个test的构造方法,parent::__construct()
表示执行父类的构造方法,具体有就是CI_Controller
的__construct
方法,源码位于框架目录下的/system/core/Controller.php,你可以看下,可以抽空了解下PHP面向对象编程,应该会对你有所帮助
这个是PHP的问题,不是CI的问题。
其他语言比如java,子例在实例化时会默认调用父类的无参构造函数(若父类显示定义构造函数并且无无参构造函数继承时子类也得显示调用。)
php似乎没这特性,所以为了继承父类的一些特性,在子类中显式说明调用父类的构造方法。
这个控制器里面所有的方法都自动用上了这个__construct()的方法,比如:
比如,这个控制器的所有页面不登陆都会自动跳转出去