如果尚未定义,则加载 class

Loading a class if it is not already defined

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

是否可以检查 class 是否已定义,并且仅在 class 尚未定义时才加载特定库?

例子

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

是否可以检查 class 是否已经定义,如果没有定义则只在插件中加载库?否则冲突会由 class.

的多个定义引起

我想我正在寻找的东西可以像 C++ 中的 PHP(或 CakePHP 特定的)版本的头部保护。

根据@AbraCadaver 的评论,使用 class_exists 应该可以解决问题

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