对__initialize使用分析()和()在类的构造函数__constructThinkPHP

对__initialize使用分析()和()在类的构造函数__constructThinkPHP
本文分析了__initialize()在ThinkPHP和__construct()构造函数的类。分享给你供你参考。具体分析如下:

ThinkPHP __construct不能随便用,因为你的模块类继承的上级,上级类定义;

1、__initialize()不是一个函数的PHP类,和PHP的类的构造函数只__construct()。

2,类的初始化:如果子类有自己的构造函数(__construct()),它将其初始化。否则,它调用父类的构造函数初始化自身。

3、亲子班有__construct()函数,如果子类初始化时,调用父类(__constrcut),你可以使用父:在子类:(__construct)。

如果我们写两个类,如下所示:

复制代码代码如下:类操作{

公共功能__construct()

{

echo'hello行动;

}

}

类的indexAction延伸动作{

公共功能__construct()

{

echo'hello indexAction;

}

}

为测试=新的indexAction;

/ /输出-你好indexAction

很明显,当类indexAction初始化,它的构造函数会被调用,所以输出is'hello indexAction ',但子类的修改:

复制代码如下:类indexAction延伸动作{

公共功能__initialize()

{

echo'hello indexAction;

}

}

输出is'hello行动',因为子类的indexAction没有自己的构造函数。如果我想初始化子类,我将同时调用父类的构造函数。

复制代码如下:类indexAction延伸动作{

公共功能__construct()

{

家长::__construct();

echo'hello indexAction;

}

}

这样,两个句子可以同时导出,当然,一种方法是调用父类中的子类。

复制代码代码如下:类操作{

公共功能__construct()

{

如果(method_exists($,你好))

{

$ >(您好);

}

echo'hello行动;

}

}

类的indexAction延伸动作{

公共函数hello()

{

echo'hello indexAction;

}

}

这也可以同时输出,和方法你好()在子类中是相似的__initialize()在ThinkPHP。

所以,在ThinkPHP(__initialize)的出现是一个方便程序员在写子类来避免家长频繁使用::__construct(),同时父类的构造函数,调用正确的框架,所以我们在ThnikPHP的时候初始化子类使用__initialize(),(),当然__construct你也可以修改__initialize框架()函数修改为你爱的函数名称。

希望这篇文章能帮助你在ThinkPHP框架程序设计。

tag:构造函数电脑软件__initialize__constructThinkPHP

相关内容