自动加载助手文件夹 Laravel 5
Autoload Helper folder Laravel 5
我想调用助手文件夹中的静态方法。
我试过很多教程,但总是只有一个文件。
我的配置
/app/Helpers/Languages.php -> 我的静态 class
composer.json
"autoload": {
"classmap": [
"database",
"app/Helpers/" <- I understand, L5 add in own autoload
app.php
'aliases' => [ ...., 'Languages' => 'App\Helpers\Languages',
我尝试了什么:
- 添加自动加载 classmap、HelpersServiceProviders class、命名空间(仅在 blade 模板中工作,不在控制器中工作)
- 使用和不使用 classmap,命名空间
添加自动加载 psr-4
对于所有方法,我需要使用 'app/Helpers/Languages' 但我想只调用 Languages::myFunction() 而不调用 'use' 。可能吗 ?
我已经在 psr-4 中创建了 'app/' 文件夹,所以它将是加载文件夹和我的文件,不是吗?
如果在没有我的情况下加载页面时有帮助:
FatalErrorException Class 'App\Http\Controllers\Languages' 未找到
我更新composer.json的时候没有忘记composer dump-autoload
我不认为你遇到的问题是因为 class 没有被自动加载,而是因为你试图以错误的方式使用它。即使使用您添加的别名,在命名空间 (如 App\Http\Controllers
)中使用来自 的 class 时,您也必须添加导入语句:
use App\Helpers\Languages;
// or with the alias
use Languages;
或在使用时指定FQN:
\App\Helpers\Languages::myFunction();
// or with the alias
\Languages::myFunction();
你真的无法避免这一点。你可以做什么,这样你就不必担心命名空间:使用没有 class 的辅助函数。就像 Laravel 的辅助函数一样。 (route()
, 'trans()', 等)
我想调用助手文件夹中的静态方法。
我试过很多教程,但总是只有一个文件。
我的配置 /app/Helpers/Languages.php -> 我的静态 class
composer.json
"autoload": {
"classmap": [
"database",
"app/Helpers/" <- I understand, L5 add in own autoload
app.php
'aliases' => [ ...., 'Languages' => 'App\Helpers\Languages',
我尝试了什么:
- 添加自动加载 classmap、HelpersServiceProviders class、命名空间(仅在 blade 模板中工作,不在控制器中工作)
- 使用和不使用 classmap,命名空间 添加自动加载 psr-4
对于所有方法,我需要使用 'app/Helpers/Languages' 但我想只调用 Languages::myFunction() 而不调用 'use' 。可能吗 ?
我已经在 psr-4 中创建了 'app/' 文件夹,所以它将是加载文件夹和我的文件,不是吗?
如果在没有我的情况下加载页面时有帮助:
FatalErrorException Class 'App\Http\Controllers\Languages' 未找到
我更新composer.json的时候没有忘记composer dump-autoload
我不认为你遇到的问题是因为 class 没有被自动加载,而是因为你试图以错误的方式使用它。即使使用您添加的别名,在命名空间 (如 App\Http\Controllers
)中使用来自 的 class 时,您也必须添加导入语句:
use App\Helpers\Languages;
// or with the alias
use Languages;
或在使用时指定FQN:
\App\Helpers\Languages::myFunction();
// or with the alias
\Languages::myFunction();
你真的无法避免这一点。你可以做什么,这样你就不必担心命名空间:使用没有 class 的辅助函数。就像 Laravel 的辅助函数一样。 (route()
, 'trans()', 等)