【问题标题】:Disable old-style constructors (PHP4-)禁用旧式构造函数 (PHP4-)
【发布时间】:2015-10-16 18:42:16
【问题描述】:

我正在使用 PHP 开发 MVC 框架。

我有几个名为“index”的控制器类,其中包含名为“index”的方法。这些类没有 __construct() 方法。 这不可避免地导致 PHP 调用“index”方法作为构造函数,使用旧的 PHP4 约定构造函数是与类同名的方法。

有什么方法可以禁用这种行为,还是我必须定义一个空的 __construct() 来防止它? (或者只是改变我自己的编码风格,所以我没有与它们的类同名的方法。)

我希望 PHP5 基本上停止解析 PHP4 构造函数。

Imiont

【问题讨论】:

  • 没有办法。重写你的代码。

标签: php class oop constructor


【解决方案1】:

我之前一直在使用 MVC 框架,但我从未听说过这样调用 index() 函数。在实例化时,它将调用 __constructor(如果存在)或不执行任何操作。调用控制器时,您应该获取类和方法名称并检查它们是否存在,如果存在则实例化它。但是,如果您具有与我相同的常规设置,则应该有一个注册表来存储在创建实例时传递给控制器​​的所有变量,那么当/如果从索引调用视图时,它应该将更改后的注册表传递给视图

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-16
    • 2011-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-06
    • 2022-11-20
    相关资源
    最近更新 更多