首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP Slim 3框架-为什么路由不能自动加载控制器文件?

PHP Slim 3框架-为什么路由不能自动加载控制器文件?
EN

Stack Overflow用户
提问于 2018-11-27 17:21:57
回答 1查看 176关注 0票数 0

我向容器注册了一个控制器,但它似乎无法工作,因为它与正确的位置不匹配。

\web\index.php

代码语言:javascript
复制
<?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

代码语言:javascript
复制
<?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 Application Error:

Slim应用程序错误由于以下错误,应用程序无法运行:

详细信息类型:HomeController消息: Callable App\ RuntimeException \HomeController不存在文件:HomeController行: 90

我的项目文件夹结构:

代码语言:javascript
复制
\web 
  index.php
    \App 
    \controllers 
      HomeController.php 
  \vendor 

为什么这是错误的?注意:

EN

回答 1

Stack Overflow用户

发布于 2018-11-28 23:37:47

\web\App\controllers\HomeController.php

  • Modify \web\index.php

中将

  1. 的名称App\controllers\HomeController更改为App\controllers
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53496349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档