包:从多个控制器调用方法
Package: calling method from multiple controllers
我正在从我的应用程序中的多个控制器调用一个方法。我不想在我的项目中有重复的代码,所以我正在寻找一种方法将方法放在某个地方,这样我就可以从每个控制器调用它。
我做了一些研究,然后偶然发现了 "Helpers"。 (我不知道这是否是解决此问题的正确方法。也欢迎使用其他方法)我已阅读 this post 并完全按照 Jeffrey Way 在他的 post 中所说的进行操作,但我仍然收到以下错误:
Call to undefined function initFb()
我试过了composer dump-autoload
。
所以这是我的 helpers.php
:
<?php
if (! function_exists('initFb'))
{
function initFb()
{
$fb = new \Facebook\Facebook([
'app_id' => getenv('FACEBOOK_APP_ID'),
'app_secret' => getenv('FACEBOOK_APP_SECRET'),
'default_graph_version' => 'v2.5',
]);
return $fb;
}
}
我的 composer.json 我的包裹:
"files": [
"src/helpers.php"
]
重要
这是我正在开发的包。
要注册您自己的 helpers.php
文件,请将这些行添加到 Laravel 的 composer.json
中:
"autoload": {
...
"files": [
"app/some_path/helpers.php"
]
对于 类 使用 psr-4
部分:
"psr-4": {
"App\": "app/",
"YourName\PackageNamespace\": "packages/yourname/package-name/src"
},
然后 运行 composer dumpauto
(如果没有帮助,请尝试 composer dumpauto -o
)。
此外,请尝试使用一些简单的助手来测试它是否有效,请执行以下操作:
if (! function_exists('helpersTest'))
{
function helpersTest()
{
return 'It works!';
}
}
如果您在使用 composer
(来自 Packagist
)安装包后尝试使用这些助手,您应该将这些行添加到包的 composer.json
文件中。
我正在从我的应用程序中的多个控制器调用一个方法。我不想在我的项目中有重复的代码,所以我正在寻找一种方法将方法放在某个地方,这样我就可以从每个控制器调用它。
我做了一些研究,然后偶然发现了 "Helpers"。 (我不知道这是否是解决此问题的正确方法。也欢迎使用其他方法)我已阅读 this post 并完全按照 Jeffrey Way 在他的 post 中所说的进行操作,但我仍然收到以下错误:
Call to undefined function initFb()
我试过了composer dump-autoload
。
所以这是我的 helpers.php
:
<?php
if (! function_exists('initFb'))
{
function initFb()
{
$fb = new \Facebook\Facebook([
'app_id' => getenv('FACEBOOK_APP_ID'),
'app_secret' => getenv('FACEBOOK_APP_SECRET'),
'default_graph_version' => 'v2.5',
]);
return $fb;
}
}
我的 composer.json 我的包裹:
"files": [
"src/helpers.php"
]
重要
这是我正在开发的包。
要注册您自己的 helpers.php
文件,请将这些行添加到 Laravel 的 composer.json
中:
"autoload": {
...
"files": [
"app/some_path/helpers.php"
]
对于 类 使用 psr-4
部分:
"psr-4": {
"App\": "app/",
"YourName\PackageNamespace\": "packages/yourname/package-name/src"
},
然后 运行 composer dumpauto
(如果没有帮助,请尝试 composer dumpauto -o
)。
此外,请尝试使用一些简单的助手来测试它是否有效,请执行以下操作:
if (! function_exists('helpersTest'))
{
function helpersTest()
{
return 'It works!';
}
}
如果您在使用 composer
(来自 Packagist
)安装包后尝试使用这些助手,您应该将这些行添加到包的 composer.json
文件中。