比如,我在导航中想链接到首页:写成这样:"{U('Index/Index')}"不能正确链接到首页。写成这样才行:"{:U('Index/Index')}"(即U方法前加了冒号)
但是,我在另一个地方,一个form表单中:<form action="" method="post" action="{:U('Publish/index')}">U方法前加不加冒号都没有问题!
为什么会这样?
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 ..
U()
{:U('home/index')}
<?php echo :U('home/index') ?>
{U('home/index')}
<form ... action="">
链接描述