在thinkphp中有很多内置函数,其中U函数是跳转函数,可以在站内进行跳转。
文章太过久远,可能已不具备参考价值。没删,只因为留作纪念。
U函数还有很多好处,在我看来,最大的好处就是不用怕将来项目的URL_MODEL发生变化,如果使用的其他跳转方式,如:$this->redirect(‘url’);那么,当URL_MODEL发生变化后,所有的url路径都将发生变化。第二,站内的跳转没必要在从客户端获得一次请求,直接从服务端实现跳转就ok了,这样也可以提高跳转速度。
下面,我将使用thinkphp3.1.3来讲解U函数。
U函数的参数列表为 U(‘地址’,’参数’,’伪静态’,’是否跳转’,’显示域名’);
U('index', array('id'=>1), 'html', 0, 0);
在模板中使用U函数时,需要{: U(‘地址’,’参数’,’伪静态’,’是否跳转’,’显示域名’)}
参数1:地址
即是需要跳转到的地址。
如果是同一控制器下的地址则直接使用U(‘index’);
如果是不同控制器下的地址,则需要U(‘控制器名称/index’);
参数2:参数
在跳转过程中,如果需要传参,那么将会用到U函数的第二个参数。
参数的传递一般使用array来实现。array(‘id’=>1, ‘username’ => ‘a’);
参数3:伪静态
如果没有这项参数,那么系统会自动读取Config中的配置,如果有这项参数,那么系统会以该参数优先。
伪静态一般可配置为html,这样对seo更加友好。
在不许要伪静态时,可将该参数设置为’’。
参数4:是否跳转
如果U函数用来提交表单,而不许要跳转的话,那么,是否跳转为0,如果需要跳转,那么该参数为1。
参数5:显示域名
在没有显示域名的情况下,跳转链接为“项目名/index.php/模块名/方法名”
如果显示域名参数为1,那么,跳转的链接为“http://域名/项目名/index.php/模块名/方法名”