素材牛VIP会员
ThinkPHP的模版中什么时候需要在方法前加冒号,什么时候不需要加?
 黑***人  分类:ThinkPHP  人气:1126  回帖:2  发布于6年前 收藏

比如,我在导航中想链接到首页:
写成这样:"{U('Index/Index')}"
不能正确链接到首页。
写成这样才行:"{:U('Index/Index')}"
(即U方法前加了冒号)

但是,我在另一个地方,一个form表单中:
<form action="" method="post" action="{:U('Publish/index')}">
U方法前加不加冒号都没有问题!

为什么会这样?

 标签:thinkphpphp

讨论这个帖子(2)垃圾回帖将一律封号处理……

Lv3 码奴
雨***梦 页面重构设计 6年前#1

1、 U() 是ThinkPHP中生成URL的函数
2、 在模板中,使用 {:U('home/index')} 这种方式意为: <?php echo :U('home/index') ?>
3、 如果仅仅是写 {U('home/index')} 应该是会被理解为无效的(也有可能是执行了但没有echo),没有具体测试过;而LZ说的在form中加不加冒号都没有问题可能是因为这样写无效,没有输出任何东西,所以就变成了 <form ... action="">,而在form标记中,action为空是默认提交到当前页面的。 so ..

Lv3 码奴
ch***az 职业无 6年前#2

链接描述

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取