次の URL 構造に従って、Phalcon でルーティングを設定しようとしています。
www.example.com/language/register/
これは私のroutes.php
です:
use Phalcon\Mvc\Router;
$router = new Router();
$router->add(
'/[a-z]{2}/register/',
array(
'controller' => 'index',
'action' => 'register',
'lang' => 1
)
);
return $router;
そして、これは私のIndexControllerです:
class IndexController extends ControllerBase
{
public $lang;
public function indexAction()
{
}
public function registerAction($lang)
{
$lang = $this->dispatcher->getParam('lang');
echo "Register ($lang)"; //test
}
}
したがって、アクセスwww.example.com/fr/register/
すると、 lang パラメータを使用しindex
てアクションであるコントローラーに移動します。register
fr
ただし、$lang
ページに変数が表示されていません。
Phalcon のドキュメント/:params
では、プレースホルダーをルート (URL) の最後以外では使用できないことがわかりますが、これはルーター内で命名されている正規表現ですか?