我希望有一个普通类型的类结构
com.acme.module.Class.php
Run Code Online (Sandbox Code Playgroud)
那么如何导入像这样的包
在其他语言中我可以做类似的事情
import "com.acme.module.Class"
Run Code Online (Sandbox Code Playgroud)
要么
import "com.acme.module.*"
Run Code Online (Sandbox Code Playgroud)
这可能与PHP有关
在PHP 5.3及更高版本中,我们有命名空间.
根据PSR-0标准,包名称采用目录名称的形式.即如果我有一个类Mauris\Acme\Controllers\Home(包名是Mauris\Acme\Controllers和类名Home),我的类文件将被命名Home.php并放在该文件夹中src/Mauris/Acme/Controllers.
然后使用自动加载器(有一个简化的PSR-0兼容自动加载器),您可以直接将类"导入"到您的脚本中:
<?php
namespace Mauris\Acme\Actions;
require('autoloader.php');
$classLoader = new SplClassLoader();
$classLoader->register(); // register the autoloading callback
// the "import"
// the require() or include() statement is in the auto
use Mauris\Acme\Controllers\Home as HomeController;
$controller = new HomeController();
// if you don't use the "use" statement, you can also write:
// $controller = new \Mauris\Acme\Controllers\Home();
Run Code Online (Sandbox Code Playgroud)
更多信息,请访问http://php.net/manual/en/language.namespaces.importing.php