我在使用 Phalcon 设置微收藏时遇到问题。我希望控制器处理请求,但是,当我在微集合上使用 setHandler() 然后映射路由时,发出请求时没有任何反应。
public/index.php 中的代码如下:
use Phalcon\Loader;
use Phalcon\Mvc\Micro;
use Phalcon\Mvc\Micro\Collection as MicroCollection;
try {
$loader = new Loader();
$loader->registerDirs(array(
'../app/controllers/',
'../app/models/',
'../app/libraries/'
))->register();
$app = new Micro();
$col = new MicroCollection();
$col->setHandler(new PostsController());
$col->get('/', 'index');
$app->mount($col);
echo "Test";
} catch(Exception $e) {
echo "Global Exception: " . $e->getMessage() . " . on line " . $e->getLine() . ", " . $e->getFile();
}
Posts 控制器包含以下内容:
use Phalcon\Mvc\Controller;
class PostsController extends Controller
{
public function index() {
echo "This is posts controller index";
}
}
在 $app->mount($col) 调用之后对“/”的请求输出“Test”(只是为了检查没有隐藏的错误导致脚本崩溃)但 PostsController 索引操作没有运行(即没有“这是帖子控制器指数”)。
在没有 Micro Collection 的情况下单独使用 Micro 可以正常工作,并且没有报告错误。