命名空间
Testing Is Documentation
tests/Docs/Started/NamespaceDoc.php
QueryPHP 采用命名空间的方式来有效地组织项目代码,系统在运行过程中会自动注册一些命名空间,完全依赖 Composer
来管理文件自动加载。
系统注册命名空间
为了满足项目开发需求, QueryPHP 在项目运行过程中会注册多个命名空间,命名空间遵循 PSR-4 自动加载规范。
应用命名空间
一个典型的应用会注册下面几个命令空间,命名空间在 composer.json
中定义。
{
"autoload": {
"psr-4": {
"App\\" : "application/app",
"Admin\\" : "application/admin",
"Common\\" : "common"
}
}
}
框架核心命名空间
例外框架核心部分的命名空间为 Leevel
,命名空间在 vendor/hunzhiwange/framework/composer.json
中定义。
{
"autoload": {
"psr-4": {
"Leevel\\": "src\\Leevel"
}
}
}
应用测试命名空间
应用测试的命名空间为 Tests
,命名空间在 tests/bootstrap.php
中定义。
$composer = include $vendorDir.'/autoload.php';
$composer->addPsr4('Tests\\', __DIR__);
框架核心测试命名空间
框架核心测试的命名空间为 Tests
,命名空间在 vendor/hunzhiwange/framework/tests/bootstrap.php
中定义。
$composer = include $vendorDir.'/autoload.php';
$composer->addPsr4('Tests\\', __DIR__);
自定义命名空间
为满足个性化需求,你可以注册自定义的命名空间,命名空间遵循 PSR-4 自动加载规范。
{
"autoload": {
"psr-4": {
"Hello\\" : "hello"
}
}
}