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
再次感謝,我需要啓動自動加載器的引導文件中的文件,並使用帶有全局名稱空間的類。 –