これを実現する最善の方法は、複数モジュール アプリケーションを作成することです。
複数モジュール アプリケーションのセットアップについて詳しくは、
https ://docs.phalconphp.com/en/latest/reference/applications.html#multi-module をご覧ください。
このための構造が整ったら、次のようにルートを設定できます。
/*
* Dependency Injector
*/
$di = new \Phalcon\Di\FactoryDefault();
/**
* Register a router
*/
$di->setShared('router', function () {
$router = new \Phalcon\Mvc\Router();
$router->setDefaultModule('frontend');
$router->setDefaultNamespace('Multiple\Frontend\Controllers');
/*
* Frontend Routes
*/
$router->add('/:controller/:action', array(
'namespace' => 'Multiple\Frontend\Controllers',
'module' => 'frontend',
'controller' => 1,
'action' => 2
));
/*
* Backend Routes
*/
$backendRoutes = new \Phalcon\Mvc\Router\Group(array(
'namespace' => 'Multiple\Backend\Controllers',
'module' => 'backend'
));
$backendRoutes->setPrefix('/admin');
$backendRoutes->add('/:controller/:action', array(
'controller' => 1,
'action' => 3
));
$router->mount($backendRoutes);
return $router;
});
これは簡単な答えであり、個々の状況に合わせて微調整が必要になる場合がありますが、目標を達成する方法についての良いアイデアが得られるはずです.