0

私は CakePHP のルーティングに問題があり、クックブックは実際には役に立ちません。

パラメータをアクションの拡張としてルーティングしようとしています。アクションごとに手動でルートを入力せずに、どうすればそれを行うことができますか?

例:
「users/settings/general」から UsersController::settings_general()
「users/settings/privacy」から UsersController::settings_privacy()
など

または、指定されたパラメーターの設定アクションをチェックインして、コントローラーから呼び出す必要がありますか? このようなもの

<?php
..
$sub_action = $this->request->params[0]
$this->settings_$subaction();
?>

4

1 に答える 1

0

カスタム ルート クラスを作成しない限り、これは不可能だと思います。この記事を読んで、独自のルート クラスを使用および作成する方法: http://mark-story.com/posts/view/using-custom-route-classes-in-cakephp

アクションごとに直接ルートを宣言することをお勧めします。それとも、これらのアクションを何千も行うつもりですか?

また、すべての users/settings/* を単一のアクションにルーティングし、UsersController::settings()そこでパラメーターを取得して呼び出すこともできますhttp://api20.cakephp.org/class/controller#method-ControllersetAction$this->setAction('settings' . $param);を参照してください

于 2012-05-04T13:07:05.700 に答える