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();
}
投稿コントローラーには以下が含まれます。
use Phalcon\Mvc\Controller;
class PostsController extends Controller
{
public function index() {
echo "This is posts controller index";
}
}
"/" へのリクエストは $app->mount($col) 呼び出しの後に "Test" を出力しますが (スクリプトをクラッシュさせる隠れたエラーがないことを確認するためだけに)、PostsController インデックス アクションは実行されません (つまり、"This is posts controller索引")。
Micro を単独で使用すると、Micro Collection がなくても問題なく動作し、エラーは報告されていません。