gpt4 book ai didi

namespaces - 在 Laravel 5 中获取应用程序命名空间

转载 作者:行者123 更新时间:2023-12-04 01:19:42 27 4
gpt4 key购买 nike

我正在为 Laravel 5 开发一个包,但是如果用户通过命令 php artisan app:name Test 更改了应用程序的默认命名空间将无法正常工作。包需要知道应用程序的命名空间才能正常工作。

根据我的理解,Laravel 5 没有在其任何核心类中提供应用程序的命名空间

所以我决定要么从 composer.json 获取这个命名空间文件

   "psr-4": {
"AppNamespace\\": "app/"
}

或者要求用户在一种配置文件中提供应用程序的命名空间。

问题:
如果我对 Laravel 的假设不正确,请告诉我,如果正确,请告诉我哪种方式是获得此信息的最佳方式 namespace或者你有什么更好的建议?

最佳答案

您可以使用 Laravel 核心中包含的以下特征来获取应用程序的命名空间:

Illuminate\Console\AppNamespaceDetectorTrait

Laravel 在 AppNameCommand 中使用了这个特性在更新之前获取当前命名空间。

一个例子:
class MyClass {

use \Illuminate\Console\AppNamespaceDetectorTrait;

public function getNamespace()
{
return $this->getAppNamespace();
}

}

您可以阅读有关特征的更多信息 here .

关于namespaces - 在 Laravel 5 中获取应用程序命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29319088/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com