У меня проблема с настройкой коллекций Micro с 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";
}
}
Запрос «/» выводит «Test» после вызова $ app-> mount ($ col) (просто чтобы убедиться, что нет скрытой ошибки, приводящей к сбою скрипта), но индексное действие PostsController не запускается (т. Е. Нет) Это контроллер сообщений индекс»).
Использование Micro само по себе прекрасно работает без Micro Collection, и об ошибках не сообщается.
Задача ещё не решена.
Других решений пока нет …