I have multimodule aplication - each module has his own Routes class and i define them in this way:
use Phalcon\Mvc\Router\Group;
class Routes extends Group{
public function initialize()
{
$this->setPaths(array('module'=>'admin','namespace'=>'Samochody\Controllers\Admin'));
$this->setPrefix('/api/admin');
$this->addGet('/index/{page:[0-9]+$}', array('action'=>'index','controller'=>'admin'));
$this->addGet('/index', array('action'=>'index','controller'=>'admin'));
$this->addPost('/index/{page:[0-9]+$}', array('action'=>'index','controller'=>'admin'));
$this->addPost('/index', array('action'=>'index','controller'=>'admin'));
$this->addPost('/{id:[0-9]+$}', array('action'=>'edit','controller'=>'admin'));
$this->addPost('', array('action'=>'create','controller'=>'admin'));
$this->addDelete('/{id:[0-9]+$}', array('action'=>'remove','controller'=>'admin'));
$this->addGet('/{id:[0-9]+$}', array('action'=>'show','controller'=>'admin'));
$this->addGet('/roles',array('action'=>'index','controller'=>'roles'));
}
}
For me its the best way imho cuz it looks best. And then you just mount this class in $router