此问题已在此处有答案:
How to create custom helper functions in Laravel(23答案)
11个月前关闭。
我只是读取this post来创建一个全局函数,可以从任何控制器访问。但我不明白这是怎么回事。
我想使变量'服务'从任何控制器访问。所以,我创建了General.php并将其放入app/Http中。这是密码。
<?php
class General {
public function getServices() {
$services = "SELECT * FROM products";
return $services;
}
}
在控制器中我包括了它
<?php
namespace App\Http\Controllers;
use App\Http\General;
use Illuminate\Http\Request;
class HomeController extends Controller {
public function index() {
$title = 'Our services';
$services = General::getServices();
return view('welcome', compact('title','services'));
}
}
当我运行它时,我得到了错误Class 'App\Http\General' not found
。然后我能帮上忙的人都很感激.
4条答案
按热度按时间vaj7vani1#
首先在
.php
文件的app
目录中创建所需的函数,如下所示:helpers.php
并将此文件包含在
autoload/files
数组中的composer.json
中,作为composer.json
然后是
update the composer
,现在您可以直接在整个项目中使用创建的函数,因为当应用程序引导时,文件会自动加载ql3eal8s2#
首先,在app目录中创建一个General文件,名为General.php
然后在Controller中调用这个调用
igsr9ssn3#
如果您想使用任何全局函数,那么您可以创建自己助手
class
或function
,然后在autoload
中注册该类,这就是您所要做的。现在,无论你想在哪里,你都可以调用那个函数2g32fytz4#
当我试图在composer.json中注册我的helpers.php文件时遇到了问题。我总是得到函数未定义的错误,因为我在文件的顶部包含了一个名称空间,但是当删除它时,一切都像我的魅力。那么接下来要做的是:
1.创建helpers.php文件并将其放置在app或bootstrap目录中。
1.如果你只想使用你的函数,请确保不要包含namespace。
1.包含在composer.json app/helpers.php或bootstrap/helpers.php中,具体取决于文件的放置位置。
1.运行命令
composer dump-autoload
1.现在,您的功能将在您的应用程序中的任何地方进行全局访问。