Ich versuche, in Phalcon einzurichten Routing, im Anschluss an dieser URL-Struktur:Routing in Phalcon - Parameter vor dem Ende der Route
www.example.com/language/register/
Das ist mein routes.php
:
use Phalcon\Mvc\Router;
$router = new Router();
$router->add(
'/[a-z]{2}/register/',
array(
'controller' => 'index',
'action' => 'register',
'lang' => 1
)
);
return $router;
Und das ist mein Indexcontroller:
class IndexController extends ControllerBase
{
public $lang;
public function indexAction()
{
}
public function registerAction($lang)
{
$lang = $this->dispatcher->getParam('lang');
echo "Register ($lang)"; //test
}
}
Deshalb, wenn ich www.example.com/fr/register/
besuchen sollte, es würde mich an die index
Controller nehmen, die register
Aktion, mit den lang Parametern fr
.
Die Variable $lang
wird jedoch nicht auf der Seite angezeigt.
Ich kann in der Phalcon documentation sehen, dass Sie den Platzhalter /:params
nicht überall verwenden können, aber am Ende der Route (URL), aber das ist ein regulärer Ausdruck im Router benannt wird?
Hier zuzugreifen, ist eine kürzere Version zusätzlich zu Timothy Antwort: '$ Router -> addiere ('/ {lang: [az] {2}}/register', 'Index :: register'); ' –
@NikiMihaylov, ich bevorzuge auch die kurze Version! Aber manchmal ist es weniger lesbar. – Timothy