0
我使用自动加载器,其中包括基于WordPress命名约定的类,意思是My_Class
应该驻留在class-my-class.php
。它工作正常。但是,我必须使用第三方库,它有不同的名称,并且不使用名称空间。我如何在代码中使用它?我是否需要明确包含它?PHP名称空间 - 如何包含不在名称空间中的第三方库?
我使用自动加载器,其中包括基于WordPress命名约定的类,意思是My_Class
应该驻留在class-my-class.php
。它工作正常。但是,我必须使用第三方库,它有不同的名称,并且不使用名称空间。我如何在代码中使用它?我是否需要明确包含它?PHP名称空间 - 如何包含不在名称空间中的第三方库?
A \
在类的开始之前代表全局命名空间。
my.class.php
<?php
class myClass {
}
?>
的index.php
<?php
require('my.class.php');
$obj = new \myClass;
var_dump($obj);
?>
无论如何,如果你想自动载入没有命名空间的类,你可以使用以下技巧在您的自动加载机中:
if (file_exists($filepath = str_replace('\\', '/', $class)) {
require $filepath;
}
$obj = \myClass;
谢谢!所以我必须明确要求库的文件? –
请参阅最新的答案。这有帮助吗? – vitozev
再次感谢,我需要启动自动加载器的引导文件中的文件,并使用带有全局名称空间的类。 –