Я регистрирую контроллер в контейнере, но, похоже, он не работает, потому что он не соответствует правильному расположению.
\ web \ index.php
<?php
require __DIR__ . '/vendor/autoload.php';
// Instantiate the app
$app = new \Slim\App(['settings' => ['displayErrorDetails' => true] ]);
$app->get('/', 'App\controllers\HomeController:home');
// Run!
$app->run();
\ web\ App \ controllers \ HomeController.php
<?php
namespace App\controllers\HomeController;
class HomeController
{
protected $container;
// constructor receives container instance
public function __construct(ContainerInterface $container) {
$this->container = $container;
}
public function __invoke($request, $response, $args) {
// your code
// to access items in the container... $this->container->get('');
return $response;
}
public function home($request, $response, $args) {
// your code
// to access items in the container... $this->container->get('');
return $response;
}
public function contact($request, $response, $args) {
// your code
// to access items in the container... $this->container->get('');
return $response;
}
}
Из-за ошибки приложения Slim:
Ошибка приложения Slim Не удалось запустить приложение из-за следующей ошибки:
Подробности Тип: RuntimeException Сообщение: Callable App \ controllers \ HomeController не существует Файл: /Users/feikeq/Desktop/vendor/slim/slim/Slim/CallableResolver.php Строка: 90
Структура папки моего проекта:
\web
index.php
\App
\controllers
HomeController.php
\vendor
Почему это не так?Thk