protected function forward($uri)
{
$uriParts = explode('/', $uri);
return $this->dispatcher->forward(
array(
'controller' => $uriParts[0],
'action' => $uriParts[1]
)
);
}
That method from ControllerBase class you are using, is a "userspace" method, not "Phalcon original". It reads $uri
, explodes it by /
and passes to dispatcher only first two elements of that $uri
(for example, objects/edit
), as controller($uriParts[0]
) and action($uriParts[1]
) respectively. So there's no difference between that: objects/edit
or objects/edit/someparam
or objects/edit/someparam/andanotherparam
- all it passes to $this->dispatcher->forward()
is
'controller' => 'objects',
'action' => 'edit'
But if you use that $this->dispatcher->forward()
"Phalcon original" method, you have the flexibility to control what to pass and where:
$this->dispatcher->forward(array(
'namespace' => 'somenamespace',
'controller' => 'somecontroller',
'action' => 'someaction',
'params' => array(1, 2, 3)
));
For more information about dispatcher, read this article from docs.
And about Tag::linkTo()
- all it do is just generating links in Phalcon application. For more information read-the-docs.