ThinkPHP ~function()和function()方法和U方法

一、執行函數並輸出返回值
格式:{:function(…)} 
例如,輸出U函數的返回值:php

{:U('User/insert')}數組

編譯後的PHP代碼是

<?php echo U('User/insert');?>ide

二、執行函數但不輸出
格式:{~function(…)} 
例如,調用say_hello函數:

{~say_hello('ThinkPHP')}函數

編譯後的PHP代碼是:

<?php say_hello('ThinkPHP');?spa

大U函數的使用方法code

U方法用於完成對URL地址的組裝,特色在於能夠自動根據當前的URL模式和設置生成對應的URL地址,格式爲:orm

U('地址','參數','僞靜態','是否跳轉','顯示域名');server

在模板中使用U方法而不是固定寫死URL地址的好處在於,一旦你的環境變化或者參數設置改變,你不須要更改模板中的任何代碼。ci

在模板中的調用格式須要採用 {:U('地址', '參數'…)} 的方式字符串

基本用法

U方法的用法示例:

U('User/add') // 生成User模塊的add操做地址

複製代碼

也能夠支持分組調用:

U('Home/User/add') // 生成Home分組的User模塊的add操做地址

複製代碼

固然,也能夠只是寫操做名,表示調用當前模塊的

U('add') // 生成當前訪問模塊的add操做地址

複製代碼

除了分組、模塊和操做名以外,咱們也能夠傳入一些參數:

U('Blog/read?id=1') // 生成Blog模塊的read操做 而且id爲1的URL地址

複製代碼

U方法的第二個參數支持傳入參數,支持數組和字符串兩種定義方式,若是隻是字符串方式的參數能夠在第一個參數中定義,下面幾種方式都是等效的:

U('Blog/cate',array('cate_id'=>1,'status'=>1))

U('Blog/cate','cate_id=1&status=1')

U('Blog/cate?cate_id=1&status=1')

複製代碼

可是不容許使用下面的定義方式來傳參數:

U('Blog/cate/cate_id/1/status/1')

複製代碼

根據項目的不一樣URL設置,一樣的U方法調用能夠智能地對應產生不一樣的URL地址效果,例如針對:

U('Blog/read?id=1')

複製代碼

這個定義爲例。

若是當前URL設置爲普通模式的話,最後生成的URL地址是:

http://serverName/index.php?m=Blog&a=read&id=1

複製代碼

若是當前URL設置爲PATHINFO模式的話,一樣的方法最後生成的URL地址是:

http://serverName/index.php/Blog/read/id/1

相關文章
相關標籤/搜索