【问题标题】:Extends after an include在包含后扩展
【发布时间】:2012-02-26 23:56:53
【问题描述】:

我对某件事感到困惑,写下我自己的代码有点复杂。
但我会尽力解释。

我有一个功能类似于引导程序的文件。
在文件的开头,我包含了一个设置 php,其中包含一个名为 settings 的类。

紧接着,我实例化设置类。
在它之后我包含一个 php 文档,它将实例化我系统中的所有其他类。

代码:

include('settings.php');
$settings = new Settings();
include('classes.php');

在设置类中有一个构造函数,它将运行许多函数,这些函数将为默认值设置一些常量变量。

现在我的问题来了。

例如,在 classes.php 中实例化了一个类“Test”。 这意味着我可以从设置类扩展该类。

但是当我这样做时,构造函数将再次运行并得到constance vars已经定义的错误。

我的问题是... php 在实例化测试类时会运行设置类的构造吗?

问候。

【问题讨论】:

    标签: php constructor include extends


    【解决方案1】:

    如果Test 类有自己的构造函数(_construct 方法),那么父构造函数将不会被调用,除非您从子类构造函数内部显式调用它,例如 parent::__construct()

    如果Test 类没有__construct 方法,则将调用父构造函数(如果有)。

    【讨论】:

    • 感谢您的信息。似乎我需要找到另一种方法来获取它们所属的设置。虽然我已经有了一个想法。
    猜你喜欢
    • 1970-01-01
    • 2014-07-27
    • 2023-04-05
    • 1970-01-01
    • 2014-10-13
    • 1970-01-01
    • 2021-08-22
    • 2023-03-05
    • 1970-01-01
    相关资源
    最近更新 更多