首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未找到Composer PSR-4类

未找到Composer PSR-4类
EN

Stack Overflow用户
提问于 2015-08-08 00:12:43
回答 1查看 283关注 0票数 1

我有以下目录结构

下面是我如何在我的composer.json文件中使用psr-4

代码语言:javascript
复制
"autoload": {
    "psr-4": {"MyMVC\\": "app/"}
},

现在,在init文件中,我试图动态地加载控制器,比如

代码语言:javascript
复制
<?php namespace MyMVC;

use MyMVC\Core\Config;
use MyMVC\Controllers;

class Application
{
    /**
     * Takes the arguments and execute the requested route
     *
     * @param  [type] $controller name of the controller
     * @param  [type] $method     name of method
     * @param  array  $arguments  an array of arguments to be passed into method
     * @access private
     */
    private function dispatch($controller, $method, array $arguments)
    {
        $controller = 'Controllers\\' . ucfirst($controller) . 'Controller';
        $controllerObject = new $controller;
    }

我的HomeController看起来像这样

代码语言:javascript
复制
<?php namespace MyMVC\Controllers;

class HomeController
{

    function __construct()
    {
        echo 'Hello World';
    }
}

现在,如果我到达url‘http://localhost/mymvc/home/bla/bla’,我就会出错

代码语言:javascript
复制
Fatal error: Class 'Controllers\HomeController' not found in /var/www/html/mymvc/app/init.php on line 136
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-08 00:30:14

在申请中应该是

代码语言:javascript
复制
$controller = 'MyMVC\\Controllers\\' . ucfirst($controller) . 'Controller';
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31888300

复制
相关文章

相似问题

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