如何在 Lumen 中定义一个 Helper 类?
Posted
技术标签:
【中文标题】如何在 Lumen 中定义一个 Helper 类?【英文标题】:How to define a Helper class in Lumen? 【发布时间】:2020-05-07 12:11:48 【问题描述】:我正在尝试使用 Lumen 框架创建一个 Helper 类,但它不起作用。
文件结构
composer.json ./composer.json
[...]
"autoload":
"classmap": [
"database/seeds",
"database/factories"
],
"psr-4":
"App\\": "app/",
"App\\Libraries\\": "app/Libraries"
,
[...]
正在调用 Helper 类的控制器 ./app/Http/Controllers/UserController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use \Libraries\Helpers;
class UserController extends Controller
/**
* Show a list of all of the application's users.
*
* @return Response
*/
public function index()
return Helpers::test();
Helper 类 ./app/Libraries/Helpers.php
<?php
namespace App\Libraries;
class Helpers
public function test()
return "test";
调用 UserController@index ./routes/web.php
[...]
$router->get('/', 'UserController@index');
[...]
路线错误
哎呀,好像出了点问题。
我正在尝试所有方法,但 Helper 类不起作用。
【问题讨论】:
除了下面给出的答案...您还尝试将非静态方法称为静态方法。当您想将此方法称为静态时,而不是public function test()
将您的方法定义为静态 (public static function test()
)
【参考方案1】:
您忘记在 UserController
的命名空间前添加 App
。
use App\Libraries\Helpers;
此外,无需在 composer.json 中添加额外的自动加载规则。 app/libraries
已经在第一条规则中。始终包含所有子文件夹。
【讨论】:
以上是关于如何在 Lumen 中定义一个 Helper 类?的主要内容,如果未能解决你的问题,请参考以下文章