PHP命名空间 - 如何包含不在命名空间中的第三方库?

时间:2015-07-20 07:03:30

标签: php wordpress oop namespaces

我正在使用自动加载器,其中包含基于WordPress命名约定的类,这意味着,My_Class应该驻留在class-my-class.php中。它工作正常。但是,我必须使用第三方库,它名称不同,并且不使用命名空间。我如何在我的代码中使用它?我是否需要明确包含它?

1 个答案:

答案 0 :(得分:1)

类开头之前的\表示全局命名空间。

  

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;