zoukankan      html  css  js  c++  java
  • PHP Slim 框架初体验之无法访问控制器

    话不多说,先把报错贴出来:

    刚开始用slim框架,在设置完自动加载文件和路由文件之后,我写了一个控制器:

    <?php
    use PsrHttpMessageServerRequestInterface as Request;
    use PsrHttpMessageResponseInterface as Response;
    use interopContainerContainerInterface;
    
    class HomeController 
    {
        protected $app;
    
        public function __construct(ContainerInterface $ci)
        {
            $this->app = $ci;
        }
    
        public function index(Request $request, Response $response, $args)
        {
            echo '恭喜你访问成功';
        }
    }

    并且设置了路由,将路由中的index指向Home控制器中的index方法:

    $app->get('/index', 'HomeController:index');

    本来想当我访问http://localhost/slimtest1/public/index.php/index 的时候,应该打印出index方法里面的文字才对

    没想到报了开头我贴出来的错误。

    搞了好久才发现原来是我的composer.json里面没有指定自动加载路径,所以我增加了下面一段代码:

    {
        "require": {
            "slim/slim": "^3.0"
        },
        "autoload": {
            "classmap" : [
                "app/controllers"
            ]
        }
    }

    上述阴影部分为新增加的代码,指定控制器去app/controllers文件夹下面加载。

    然后执行composer install 更新一下就好了。

    成功结果:

    总结原因就是我对composer这种开发模式不太了解。不清楚如何对composer.json文件进行管理

  • 相关阅读:
    SQL优化值-exists
    Oracle执行计划详细讲解
    SpringBoot配置加解密工具之Jasypt
    升级Spring Boot 2.0后RelaxedPropertyResolver不可用的解决方案
    Spring, SpringBoot之占位符源码解析
    springboot启动原理深度解析
    Java SPI技术深度解读
    [VCSA7]添加共享磁盘
    [VCSA7]MacOS部署VCSA7
    [Oracle]查看数据库磁盘空间
  • 原文地址:https://www.cnblogs.com/superfat/p/5592357.html
Copyright © 2011-2022 走看看