0

CakePHP では、単純なパラメーターをコントローラー クラス メソッドに渡そうとしています。ただし、パラメーターは URL に表示される必要があるようです。URL に表示されていないパラメーターを渡すことはできませんか?

私のルーティング:

Router::connect(
    '/',
    array(
        'controller' => 'Pages',
        'action' => 'display'
    ),
    array(
        'pass' => array(
            'pageName' =>'home'
        )
    )
);

そして私のコントローラーメソッド:

public function display($p_sPageName=null) {
4

1 に答える 1

4
Router::connect(
    '/',
    array(
        'controller' => 'Pages',
        'action' => 'display',
        'home',
    ),
);

これは、ベイクされたアプリケーションのデフォルト ルートであり、すでに存在している必要があります。この本には、ルーティングを説明する非常に優れたセクションもあります。

また、CakePHP コーディング標準に従ってください。この変数名 $p_sPageName は不適切です。$p_s が何を意味するのか誰も知りません。これは、きれいで読みやすいコードを書くことについての非常に良い読み物です。

/**
 * Displays a static page
 *
 * @param string $pageName
 * @return void
 */
    public function display($pageName = null) { /*...*/ }

doc ブロックは、変数名ではなく文字列であることを「@param string $pageName」で通知する必要があります。ドキュメントがないと、命名規則を知らない人にとっては読めなくなります。

于 2013-07-17T09:17:20.740 に答える