CakePHP - Html->link - 为什么使用控制器=>和行动=>而不仅仅是控制器/动作
为什么这样:
echo $this->Html->link('Add a User', array('controller'=>'users', 'action'=>'add'));
不仅仅是这样:
echo $this->Html->link('Add a User', 'users/add');
Why this:
echo $this->Html->link('Add a User', array('controller'=>'users', 'action'=>'add'));
Instead of just this:
echo $this->Html->link('Add a User', 'users/add');
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
第二个示例将始终生成“users/add”的 url。第一个提供了使用反向路由形成定制 URL 的可能性,如您的 paths.php 文件中的规则所定义。
在实践中我经常发现第一种和第二种风格没有区别。但是,如果您稍后决定更改路线,您可能会发现从长远来看,第一次执行操作可以节省时间,因此您不必返回并更改每个链接的路径...
The second example will always generate a url of 'users/add'. The first provides the potential of using reverse routing to form a bespoke url, as defined by the rules in your routes.php file.
In practice I often find that there's no difference between the first and the second style. However, if you later decide to make changes to your routes, you might find that doing things the first time saves time in the long run, so you don't have to go back and change the path for every link...
为了将来的参考...使用第一个,因为第二个是相对于位置的。例如,如果您位于 www.example.com/post,则最终网址为:
for #1 www.example.com/post/users/add
#2 www.example.com/users/add
抱歉英语不好:P
For future reference... use the first one, 'cos the second one is relative to the location. For example if you are in www.example.com/post the final url whil be:
for #1 www.example.com/post/users/add
for #2 www.example.com/users/add
Sorry for the bad english :P