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 回答