ThinkPHP中U方法與url的四種訪問模式_PHP教程

來源:互聯網
上載者:User
   ThinkPHP中U方法的用處主要是完成對url地址的組裝,在模板中使用U方法而不是固定寫死URL地址的好處在於,一旦你的環境變化或者參數設定改變,你不需要更改模板中的任何代碼。在模板中的調用格式需要採用 {:U('地址', '參數'…)} 的方式,一般的形式裡面是控制器中的方法名,例如{:U('loginPage')}。完整格式為:

U('地址','參數','偽靜態','是否跳轉','顯示網域名稱')。U方法的第二個參數支援傳入參數,支援數組和字串兩種定義方式,如果只是字串方式的參數可以在第一個參數中定義,下面幾種方式都是等效的:

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

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

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

根據項目的不同URL設定,同樣的U方法調用可以智能地對應產生不同的URL地址效果,可以在設定檔convention.php中看到:

'URL_MODEL'             => 1,       

1.普通模式:也就是傳統的GET傳參方式來指定當前訪問的模組和操作,例如:(m參數表示模組,a動作表示操作)

http:

2.PATHINFO模式:是系統的預設URL模式,提供了最好的SEO支援,系統內部已經做了環境的相容處理,所以能夠支援大多數的主機環境。對應上面的URL模式,PATHINFO模式下面的URL訪問地址是:

http:

3.REWRITE模式:是在PATHINFO模式的基礎上添加了重寫規則的支援,可以去掉URL地址裡面的入口檔案index.php,但是需要額外配置WEB伺服器的重寫規則。
如果是Apache則需要在入口檔案的同級添加.htaccess檔案,內容如下:

%{REQUEST_FILENAME} !-%{REQUEST_FILENAME} !-^(.*)$ index.php/$1 [QSA,PT,

接下來,就可以用下面的URL地址訪問了:

http:

可以看到index.php被隱藏了

4.相容模式:是用於不支援PATHINFO的特殊環境,地址為:

http:

相容模式配合Web伺服器重寫規則的定義,可以達到和REWRITE模式一樣的URL效果。

http://www.bkjia.com/PHPjc/752224.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/752224.htmlTechArticleThinkPHP中U方法的用處主要是完成對url地址的組裝,在模板中使用U方法而不是固定寫死URL地址的好處在於,一旦你的環境變化或者參數設定改...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.