Sia*_*osh 5 namespaces laravel-5
我正在为Laravel 5开发一个包,但是如果用户更改了应用程序的默认命名空间,则package by命令php artisan app:name Test将无法正常工作.包需要知道App的命名空间才能正常工作.
根据我的理解,Laravel 5不会在其任何核心类中提供应用程序的命名空间
所以我决定从composer.json文件中获取这个命名空间
"psr-4": {
"AppNamespace\\": "app/"
}
Run Code Online (Sandbox Code Playgroud)
或者要求用户在一种配置文件中提供应用程序的命名空间.
问题:请告诉我,如果我对Laravel的推定没有提供这是正确的,如果它是正确的,请告诉我哪种方式是最好的方式来获得这个namespace或者你有什么更好的建议?
您可以使用 Laravel 核心中包含的以下特征来获取应用程序的命名空间:
Illuminate\Console\AppNamespaceDetectorTrait
Run Code Online (Sandbox Code Playgroud)
Laravel 在更新之前使用此特征来AppNameCommand获取当前命名空间。
一个例子:
class MyClass {
use \Illuminate\Console\AppNamespaceDetectorTrait;
public function getNamespace()
{
return $this->getAppNamespace();
}
}
Run Code Online (Sandbox Code Playgroud)
您可以在此处阅读有关特征的更多信息。
| 归档时间: |
|
| 查看次数: |
5855 次 |
| 最近记录: |