1

Fuelphpの最後の1.7バージョンをインストールしたばかりで、ルートなしでプレイしようとしましたが、少し動けなくなりました

行われたこと:

「ユーザー空間」コントローラーに「特別な」アクションを作成

public function action_special($a = 'empty')
{
    var_dump($a);
    die();
}

そしてそのためのルーティング

'test(/:any)?' => 'userspace/special/$1'

しかし、問題はlocalhost/testが返される場合です

string(5) "empty"

したがって、localhost/test/1またはlocalhost/test/qwertyが返されます

string(0) ""

ただし、フルパスlocalhost/userspace/special/qwertyが返されます

string(6) "qwerty"

したがって、どういうわけか、「特別な」メソッドはルーティングからパラメーターを取得できません。

4

1 に答える 1

2

正規表現を使用しているため、ルートは強力ですが、混乱することもあります。正規表現は次のようになります。

'something(/(:any))?' => 'something/index/$2',

(グループ) はキャプチャされますが、:any 自体はキャプチャされないため、上記の例のように追加の (グループ) が必要になります。$2これは 2 番目のグループであるため、ルート変換に入れます。

于 2013-10-26T17:26:53.017 に答える