加载类(如果尚未定义)

时间:2015-06-30 19:11:24

标签: php cakephp

使用CakePHP 2.6.7(虽然也在寻找非CakePHP特定的解决方案)

是否可以检查某个类是否已经定义,并且只在尚未定义该类时才加载特定的库?

示例

在我目前的项目中,我创建了一个CakePHP插件。这个插件使用了由我或我的同事制作的几个库。一位同事希望插件使用的任何库都包含在插件中 - 因此将应用程序更新到最新的插件并不需要更新应用程序中的任何库。

是否可以检查某个类是否已经定义,并且只在该插件中加载库(如果它还没有?)?否则,冲突会产生于类的多个定义。

我想我正在寻找的东西就像C ++中的PHP(或CakePHP特定)版本的标题保护。

1 个答案:

答案 0 :(得分:1)

As per @AbraCadaver's comment, using class_exists should do the trick

if (!class_exists('MyClass',false)){
    include 'MyClass.php';
}