gpt4 book ai didi

cakephp - $this->params ['url' ] 和 $this->params ['named' ] 之间的区别

转载 作者:行者123 更新时间:2023-12-03 04:38:21 25 4
gpt4 key购买 nike

我正在阅读有关 $params 的 CakePHP 手册,并且想知道每个参数的适当用法是什么?我知道返回的数组略有不同(“url”实际上有一个名为“url”的数组键,它返回 Controller /操作,而“named”则没有。有人可以举一个例子来说明为什么它很重要吗使用其中一个而不是另一个?(我也看到了 url 中的结构差异,但不知道为什么 key:value 和 key=value 之间存在差异)

最佳答案

TLDR: 对于 CakePHP 2.x:使用 params['named'] 还是 params['url'] 仅取决于您要查找的数据。 'url' 返回域名后整个 url 的字符串'named' 返回任何传递的“命名”变量的数组(逗号分隔的键:值对) )

<小时/>

CakePHP 3.x:没有“命名”变量

<小时/>

更深入地解释:

了解为什么要使用其中之一的最佳方法是在 View 中调试参数:

调试($this->params);

你会看到,params 数组中有很多数据。例如,我的网址:http://www.example.com/dashboards/index/1/2/blah:test

params => array(
'plugin' => null,
'controller' => 'dashboards',
'action' => 'index',
'named' => array(
'blah' => 'test'
),
'pass' => array(
(int) 0 => '1',
(int) 1 => '2'
),
'models' => array(
'Dashboard' => array(
'plugin' => null,
'className' => 'Dashboard'
),
//...
)
)
data => array()
query => array(
'dashboards/index/1/2/blah:test' => ''
)
url => 'dashboards/index/1/2/blah:test'
base => ''
webroot => '/'
here => '/dashboards/index/1/2/blah:test'

正如您所看到的,它有大量数据。您的“为什么要使用“named”与“url”的问题只需查看数据即可解释。

$this->params['url']返回字符串 'dashboards/index/1/2/blah:test' (在大多数情况下不太有用)。

$this->params['named']返回命名变量的键/值数组(在本例中,只有一个变量):array('blah' => 'test'); (如果这就是我们正在寻找的,则更有用)

所以...答案是,如果您想要命名变量,请使用 'named' - 如果您希望 URL 结尾为字符串,请使用 'url '.

关于cakephp - $this->params ['url' ] 和 $this->params ['named' ] 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9707359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com