如何在 Lumen 中定义一个 Helper class?

How to define a Helper class in Lumen?

我正在尝试使用 Lumen 框架创建一个助手 class,但它不起作用。

文件结构

composer.json ./composer.json

    [...]
    "autoload": {
        "classmap": [
            "database/seeds",
            "database/factories"
        ],
        "psr-4": {
            "App\": "app/",
            "App\Libraries\": "app/Libraries"
        }
    },
    [...]

正在调用 Helper 的控制器 Class ./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();
  }
}

帮手Class./app/Libraries/Helpers.php

<?php

namespace App\Libraries;

class Helpers {
  public function test() {
    return "test";
  }
}

调用UserController@index ./routes/web.php

    [...]
    $router->get('/', 'UserController@index');
    [...]

路线错误

Whoops, looks like something went wrong.

我正在尝试所有方法,但助手 class 不工作。

您忘记在 UserController 中的命名空间前面添加 App

use App\Libraries\Helpers;

此外,无需在 composer.json 中添加额外的自动加载规则。 app/libraries 已经在第一条规则中。始终包含所有子文件夹。