[英]Using libraries in my namespace
我的项目中有几个库是在namespace
。 当我需要在控制器(MVC)
使用它们之一时,我要包含一个require
并使用该库,该库也位于同一名称空间中。 我想知道我是否可以加入名称空间,所以我不需要每次都在控制器内部使用这个需求。 我的autoload
已加载到另一个文件中,然后调用controller
以继续执行规则。
实际控制人
namespace application\controller\rule;
use application\controller\database;
use application\model\object as object;
require '/xxx/xxx/autoloadLibary1.php';
require '/xxx/xxx/autoloadLibary2.php';
require '/xxx/xxx/autoloadLibary3.php';
require '/xxx/xxx/autoloadLibary4.php';
class MyClass {}
我想我可能尚未完全了解您,但我想您想使用
require '/xxx/xxx/autoloadLibary1.php';
作为use application\\xxx\\xxx;
因此,为此,您必须使用composer或我经常使用的替代软件来代替composer ,基本上,使用此链接可以比composer更加安全地下载psr-4 / psr-0自动加载器,复制文件composer-file-loader-master / PackageLoader。 PHP到您的项目。
用这个
include __DIR__ . '/includes/PackageLoader.php';
$packageLoader = new PackageLoader\PackageLoader();
$packageLoader->load( __DIR__ . '/includes' );//change where your composer.json file located
使用此psr-4自动加载功能在单个名称空间中定位两个以上的位置
{
"autoload": {
"psr-4": {
"Namespace\\": [
"./xxx/xxx/",
"./another-location"
]
}
}
}
现在,如果使用此语句:
use application\controller\database;
use application\model\object as object;
use application\xxx\xxx\autoloadLibary1;
use application\xxx\xxx\autoloadLibary2;
use application\xxx\xxx\autoloadLibary3;
use application\xxx\xxx\autoloadLibary4;
它工作得很好! 编码愉快! 如果有帮助,一定要接受我的支持。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.