未找到Composer PSR-4类

时间:2015-08-08 00:12:44

标签: php composer-php psr-4

我有以下目录结构 enter image description here

以下是我在composer.json文件中使用psr-4的方法

"autoload": {
    "psr-4": {"MyMVC\\": "app/"}
},

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

<?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看起来像这样

<?php namespace MyMVC\Controllers;

class HomeController
{

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

现在如果我到了网址“http://localhost/mymvc/home/bla/bla”,我就会收到错误

Fatal error: Class 'Controllers\HomeController' not found in /var/www/html/mymvc/app/init.php on line 136

1 个答案:

答案 0 :(得分:1)

在应用程序中应

$controller = 'MyMVC\\Controllers\\' . ucfirst($controller) . 'Controller';
相关问题