gpt4 book ai didi

php - _initX() 函数是否按顺序调用

转载 作者:可可西里 更新时间:2023-11-01 00:37:42 26 4
gpt4 key购买 nike

在我的 bootstrap.php 中我有很多 _initX() 函数,其中一些可能包含依赖于前面 initX 中的代码的代码

protected function _initAutoloading() { }
protected function _initViewInitializer() { }
protected function _initVariables() { }

那么我的问题是,这些 _init 函数是否保证按照它们声明的确切顺序执行?

最佳答案

编辑 - 为了更直接地回答您的问题,我想说它们可能是因为代码使用 ReflectionObjects::getmethods() 或 get_class_methods 取决于您的 PHP 版本,所以我相信它们将返回函数顺序,但 PHP 文档或 Zend 文档中没有保证始终如此,因此我不认为这是受支持的功能。

您可以传递您想要/需要调用的资源函数的名称作为 Bootstrap 调用的一部分:$bootstrap->bootstrap(array('foo', 'bar'));而不是不传递任何东西,让 Zend 应用程序自动调用它们,而您不确定其中的顺序。

但是,如果您的 Bootstrap 资源之间存在依赖关系,我建议您查看资源插件,它将允许您将代码分隔在不同的类中,并从您的“bar”资源插件中轻松调用 $bootstrap('foo')代码(尽管您也可以使用 _init*() 函数这样做)

资源插件的另一个好处是,如果需要,它们可以与其他引导文件共享,而且它们比 _init*() 函数更容易测试。

请务必阅读 theory of operation来自 Zend Application 的文档文档

关于php - _initX() 函数是否按顺序调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4134976/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com