[英]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.