Как определить вспомогательный класс в Lumen? - PullRequest
0 голосов
/ 21 января 2020

Я пытаюсь создать класс Helper, используя Lumen Framework, но он не работает.

Структура файлов

composer. json . / composer. json

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

Контроллер, вызывающий класс помощника . / 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();
  }
}

Класс помощника . / App / Библиотеки / Помощники. php

<?php

namespace App\Libraries;

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

Вызов UserController@index . / Route / web. php

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

Ошибка в маршруте

Ой, похоже, что-то пошло не так.

Я пробую все, но класс Helper не работает.

1 Ответ

1 голос
/ 21 января 2020

Вы забыли добавить App перед вашим пространством имен в UserController.

use App\Libraries\Helpers;

Кроме того, нет необходимости добавлять дополнительное правило автозагрузки в composer. * 1009. *. app/libraries уже в первом правиле. Все подпапки всегда включены.

...