yii yii框架中的Url生產問題小結
複製程式碼 程式碼如下:
假定設定了UrlManager的配置為Path模式,用yii預設的配置:
複製程式碼 程式碼如下:
複製程式碼
程式碼如下: array(
'urlFormat'=>'path',
'rules'=>array(
'
'
'
),
上面兩行程式碼會生產什麼樣的連結位址?
http://
http://
第一個連結是錯誤的,瀏覽器會回傳404錯誤。第二個連結會存取UserController的Register方法。差別就在於第二個連結在產生的時候我們傳入的參數是一個array數組,而第一個方法是一個簡單字串。 Yii在處理Url的時候,遇到簡單字串會直接使用該字串作為最終的Url,而當遇到數組的時候會呼叫Controller的CreateUrl來產生Url.
說到簡單字串,這兩個鏈接中其實有一個非常本質的差別。雖然同樣都是字串'user/register',但在第一個字串中就代表一個13個字元的相對路徑,而第二個連結中則代表UserController的registerAction,是有著特俗意義的。
附上Yii處理Url的方法NormalizeUrl的原始程式碼:複製程式碼
程式碼如下:
/**
* 將輸入參數標準化為有效的 URL。
*
* 如果輸入參數為空字串,則傳回目前請求的URL。
*
* 如果輸入參數是非空字串,則被視為有效的 URL,並且將
* 不做任何更改地返回。
*
* 如果輸入參數是數組,則將其視為控制器路由和
* GET 參數列表,並且將調用 {@link CController::createUrl} 方法來
* 建立 URL。在這種情況下,第一個陣列元素指的是控制器路由,
*,其餘鍵值對指的是 URL 的附加 GET 參數。
* 例如,array('post/list', 'page'=>3)
可用來產生URL
* /index.php?r=post/list&page=3
。
*
* @param mix $url 用於產生有效 URL 的參數
* @return string 規範化 URL
*/
_public stat func
/**&*/
_ific function normalize ($url))
{
if(isset($url[0]))
{
if(($c=Yii::app()->getController())!==null)
$url=$ c->createUrl($url[0],array_splice($url,1));
else
$url=Yii::app()->createUrl($url[0],array_splice($url,1)) ;
}
else
$url='';
}
}
以上就介紹了yii yii框架中的Url生產問題小結,包括了yii方面的內容,希望對PHP教程有興趣的朋友有所幫助。 🎜 🎜 🎜

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在當前資訊時代,大數據、人工智慧、雲端運算等技術已成為了各大企業關注的熱點。在這些技術中,顯示卡渲染技術作為一種高效能圖形處理技術,受到了越來越多的關注。顯示卡渲染技術廣泛應用於遊戲開發、影視特效、工程建模等領域。而對於開發者來說,選擇一個適合自己專案的框架,是一個非常重要的決策。在目前的語言中,PHP是一種相當有活力的語言,一些優秀的PHP框架如Yii2、Ph

隨著雲端運算技術的不斷發展,資料的備份已經成為了每個企業必須要做的事情。在這樣的背景下,開發一款高可用的雲端備份系統尤其重要。而PHP框架Yii是一款功能強大的框架,可以幫助開發者快速建立高效能的Web應用程式。以下將介紹如何使用Yii框架開發一款高可用的雲端備份系統。設計資料庫模型在Yii框架中,資料庫模型是非常重要的一環。因為資料備份系統需要用到很多的表和關

隨著互聯網的不斷發展,Web應用程式開發的需求也越來越高。對於開發人員而言,開發應用程式需要一個穩定、高效、強大的框架,這樣可以提高開發效率。 Yii是一款領先的高效能PHP框架,它提供了豐富的特性和良好的性能。 Yii3是Yii框架的下一代版本,它在Yii2的基礎上進一步優化了效能和程式碼品質。在這篇文章中,我們將介紹如何使用Yii3框架來開發PHP應用程式。

Yii框架是一個開源的PHPWeb應用程式框架,提供了眾多的工具和元件,簡化了Web應用程式開發的流程,其中資料查詢是其中一個重要的元件之一。在Yii框架中,我們可以使用類似SQL的語法來存取資料庫,從而有效率地查詢和操作資料。 Yii框架的查詢建構器主要包括以下幾種類型:ActiveRecord查詢、QueryBuilder查詢、命令查詢和原始SQL查詢

隨著Web應用需求的不斷增長,開發者在選擇開發框架方面也越來越有選擇的空間。 Symfony和Yii2是兩個備受歡迎的PHP框架,它們都具有強大的功能和效能,但在面對需要開發大型網路應用程式時,哪個框架更適合呢?接下來我們將對Symphony和Yii2進行比較分析,以幫助你更好地進行選擇。基本概述Symphony是一個由PHP編寫的開源Web應用框架,它是建立

隨著網路的快速發展,API成為了各種應用間資料交換的重要方式。因此,開發一款易於維護、高效、穩定的API框架變得越來越重要。而在選擇API框架時,Yii2和Symfony是兩個備受開發者歡迎的選擇。那麼,哪一個比較適合API開發呢?本文將對這兩個框架進行比較,並給出一些結論。一、基本介紹Yii2和Symfony都是成熟的PHP框架,都有相應的擴展,可以用來開

如果您問「Yii是什麼?」請參閱我之前的教學:Yii框架簡介,其中回顧了Yii的優點,並概述了2014年10月發布的Yii2.0的新增功能。嗯>在這個使用Yii2程式設計系列中,我將指導讀者使用Yii2PHP框架。在今天的教學中,我將與您分享如何利用Yii的控制台功能來執行cron作業。過去,我在cron作業中使用了wget—可透過Web存取的URL來執行我的後台任務。這引發了安全性問題並存在一些效能問題。雖然我在我們的啟動系列安全性專題中討論了一些減輕風險的方法,但我曾希望過渡到控制台驅動的命令

使用Docker容器化和部署Yii應用的步驟包括:1.創建Dockerfile,定義鏡像構建過程;2.使用DockerCompose啟動Yii應用和MySQL數據庫;3.優化鏡像大小和性能。這不僅涉及到具體的技術操作,還包括理解Dockerfile的工作原理和最佳實踐,以確保高效、可靠的部署。
