0

次の PHP コード

public function go() 
{
    $controller = ucfirst($this->getController());
    $method = $this->getAction();

    require_once VENDOR_PATH . DS . 'Core/Controller/Controller.php';
    require_once VENDOR_PATH . DS . 'Application/Controller/' . $controller . '.php';

    $ctl = new $controller;
    $ctl->$method();
}

を生産しています

Fatal error: Class 'Index' not found in /path/to/core/Dispatch.php on line 108

ただし、コア コントローラーとアプリケーション コントローラーの両方が読み込まれていることを確認しました。

Controller.php:

namespace Core\Controller;

class Controller
{

   public function __construct()
   {
       // @TODO
   }
}

インデックスコントローラー

namespace Application\Controller;

use Core\Controller\Controller;


class Index extends \Core\Controller\Controller {

    public $input;

    public function __construct() 
    {
        parent::__construct();
        die('In Application Controller');
    }
}
4

1 に答える 1

2

この行の$ctl = new $controller;$controller 変数には、名前空間を含むフルパスが含まれている必要があります

于 2013-03-29T05:39:01.603 に答える