<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # URL生成 [上一頁](# "上一頁")[下一頁](# "下一頁") 為了配合所使用的URL模式,我們需要能夠動態的根據當前的URL設置生成對應的URL地址,為此,ThinkPHP內置提供了U方法,用于URL的動態生成,可以確保項目在移植過程中不受環境的影響。 ### 定義規則 U方法的定義規則如下(方括號內參數根據實際應用決定): **U('地址表達式',['參數'],['偽靜態后綴'],['顯示域名'])** ##### 地址表達式 地址表達式的格式定義如下: ~~~ [模塊/控制器/操作#錨點@域名]?參數1=值1&參數2=值2... ~~~ 如果不定義模塊的話 就表示當前模塊名稱,下面是一些簡單的例子: ~~~ U('User/add') // 生成User控制器的add操作的URL地址 U('Blog/read?id=1') // 生成Blog控制器的read操作 并且id為1的URL地址 U('Admin/User/select') // 生成Admin模塊的User控制器的select操作的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') ~~~ 三種方式是等效的,都是生成Blog控制器的cate操作 并且`cate_id`為1 `status`為1的URL地址。 但是不允許使用下面的定義方式來傳參數 ~~~ U('Blog/cate/cate_id/1/status/1'); ~~~ ##### 偽靜態后綴 U函數會自動識別當前配置的偽靜態后綴,如果你需要指定后綴生成URL地址的話,可以顯式傳入,例如: ~~~ U('Blog/cate','cate_id=1&status=1','xml'); ~~~ ### 自動識別 根據項目的不同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/Home/Blog/read/id/1 ~~~ 如果當前URL設置為REWRITE模式的話,同樣的方法最后生成的URL地址是: ~~~ http://serverName/Home/Blog/read/id/1 ~~~ 如果當前URL設置為REWRITE模式,并且設置了偽靜態后綴為.html的話,同樣的方法最后生成的URL地址是: ~~~ http://serverName/Home/Blog/read/id/1.html ~~~ > 如果開啟了`URL_CASE_INSENSITIVE`,則會統一生成小寫的URL地址。 ### 生成路由地址 U方法還可以支持路由,如果我們定義了一個路由規則為: ~~~ 'news/:id\d'=>'News/read' ~~~ 那么可以使用 ~~~ U('/news/1'); ~~~ 最終生成的URL地址是: ~~~ http://serverName/index.php/Home/news/1 ~~~ > 注意:如果你是在模板文件中直接使用U方法的話,需要采用 {:U('參數1', '參數2'…)} 的方式,具體參考模板的[使用函數](#)內容。 ### 域名支持 如果你的應用涉及到多個子域名的操作地址,那么也可以在U方法里面指定需要生成地址的域名,例如: ~~~ U('Blog/read@blog.thinkphp.cn','id=1'); ~~~ @后面傳入需要指定的域名即可。 系統會自動判斷當前是否SSL協議,生成`https://`。 此外,U方法的第4個參數如果設置為true,表示自動識別當前的域名,并且會自動根據子域名部署設置`APP_SUB_DOMAIN_DEPLOY`和`APP_SUB_DOMAIN_RULES`自動匹配生成當前地址的子域名。 ### 錨點支持 U函數可以直接生成URL地址中的錨點,例如: ~~~ U('Blog/read#comment?id=1'); ~~~ 生成的URL地址可能是: ~~~ http://serverName/index.php/Home/Blog/read/id/1#comment ~~~ [上一頁](# "上一頁")[下一頁](# "下一頁")
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看