我正在尝试在无胖框架之上自定义创建MVC文件夹结构。我有一个controllers
文件夹,其中包含两个文件base.php
和index.php
。现在我正在尝试加载索引文件,如:
$f3->route('GET /','Index->index');
但是我得到了一个致命的错误:
Fatal error: Class 'controllers\Base' not found
base.php的代码:
<?php
namespace controllers;
class Base extends \Prefab {
protected $f3;
public function __construct() {
$this->f3 = \Base::instance();
}
}
index.php的代码
<?php
namespace controllers;
class Index extends Base {
public function __construct() {
parent::__construct();
}
public function index($f3, $params) {
echo "Hello World!";
}
}
知道我做错了吗?
答案 0 :(得分:0)
controllers
文件夹应该是AUTOLOAD
文件夹的子文件夹。像这样:
- autoload
|- controllers
|- base.php
|- index.php
- lib
|- base.php
- index.php
你的root index.php看起来像这样:
$f3=require('lib/base.php');
$f3->set('AUTOLOAD','autoload/');
$f3->route('GET /','controllers\Index->index');
PS:您的示例中发生的事情是,controllers
文件夹被声明为自动加载文件夹,base.php
和index.php
被视为根命名空间的一部分。