2

次の 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てアクションであるコントローラーに移動します。registerfr

ただし、$langページに変数が表示されていません。

Phalcon のドキュメント/:paramsでは、プレースホルダーをルート (URL) の最後以外では使用できないことがわかりますが、これはルーター内で命名されている正規表現ですか?

4

1 に答える 1