Yii::import('system.web.CController');
Yii框架官方指南系列12—基礎知識:路徑別名與名字空間
Yii 中廣泛的使用了路徑別名。路徑別名關聯於一個目錄或檔案的路徑。它以點號語法指定,類似於廣泛使用的名字空間(namespace)格式:
RootAlias.path.to.target
其中的 RootAlias
是某個現存目錄的別名。
透過使用 YiiBase::getPathOfAlias(), 別名可以翻譯為其對應的路徑。 例如, system.web.CController
會翻譯為 yii/framework/web/CController
。
透過呼叫 YiiBase::setPathOfAlias(),我們可以定義新的根路徑別名。
1. Root Alias
為方便起見,Yii 預先定義了以下幾個根別名:
system
: 表示Yii 框架目錄;- application
: 表示應用的 基礎目錄;
- webroot
: 表示 入口腳本 檔案所在的目錄。此別名從版本 1.0.3 開始有效。
- ext
: 表示包含了所有第三方 擴充 的目錄。此別名從版本 1.0.8 開始有效。
額外的,如果應用使用了 模組, (Yii) 也為每個模組ID定義了根別名,指向相應模組的跟目錄。 此功能從版本 1.0.3 起有效。 -
透過使用 YiiBase::getPathOfAlias(), 別名可以被翻譯為其對應的路徑。 例如,
yii/framework/web/CControllersystem.web.CController
會翻譯為 。
2. Importing Classes
使用別名可以很方便的導入類別的定義。 例如,如果我們想要包含 CController 類別的定義,我們可以呼叫以下程式碼
Yii::import('system.web.CController');
登入後複製
import 方法跟 Yii::import('system.web.CController');
include
。 多次導入相同的名字空間也會比
include_once和
require_once 快得多。 提示: 當引用 Yii 框架定義的類別時,我們不需要匯入或包含它。 所有的核心 Yii 類別都已提前導入了
。
從1.1.5版本開始,Yii允許使用者定義的類別透過讓Class Map機制預先導入,這也是Yii內建類別使用的方法。 預先引入機制可以在Yii應用的任何地方使用,無需明確地導入或包含文件。這個特性對於一個建立在Yii基礎上的框架或類別庫來說很有用。
若要使用預先導入功能,要在CWebApplication::run()執行前執行下面的程式碼:
Yii::$classMap=array( 'ClassName1' => 'path/to/ClassName1.php', 'ClassName2' => 'path/to/ClassName2.php', ...... );
Yii::import('system.web.*');
提示:
由於 5.3.0 版本之前的 PHP 本質上不支援名字空間,你無法創建兩個具有相同名字但不同定義的類別的實例。 有鑑於此,所有的 Yii 框架類別都以字母 'C'(意為 'Class') 作前綴,這樣它們可以區分於使用者定義的類別。我們建議前綴 'C' 只保留給 Yii 框架使用,使用者定義的類別則使用其他的字母作前綴。5. 使用命名空間的類別
使用命名空間的類別是指一個在非全域命名空間下聲明的類別。比方說,類別
applicationcomponentsGoogleMap在命名空間
applicationcomponents下的類別。使用命名空間需要 PHP 5.3.0 或以上版本。從1.1.5開始,可以無需明確引入而使用一個包含命名空間的類別。比方說,我們可以建立一個applicationcomponentsGoogleMap
的實例而無需去處理引入的路徑,這樣就增強了Yii的自動導入機制。
若要自動匯入使用命名空間的類,命名空間的格式必須和路徑別名相似。比方說,類別applicationcomponentsGoogleMap
所對應的路徑必須和別名application.components.GoogleMap
一致。
以上就是Yii框架官方指南系列12——基礎知識:路徑別名與名字空間的內容,更多相關內容請關注PHP中文網(www.php.cn)!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

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

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

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

Dreamweaver CS6
視覺化網頁開發工具

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

熱門話題

Yii是一款基於PHP的高效能MVC框架,它提供了非常豐富的工具和功能,支援快速、有效率地開發Web應用程式。其中,Yii框架的RESTfulAPI功能得到了越來越多開發者的關注和喜愛,因為使用Yii框架可以非常方便地構建出高性能、易擴展的RESTful接口,為Web應用的開發提供了強有力的支持。 RESTfulAPI簡介RESTfulAPI是一種基於

Yii框架中間件:為應用程式提供多重資料儲存支援介紹中間件(middleware)是Yii框架中的重要概念,它為應用程式提供了多重資料儲存支援。中間件的作用類似於一個過濾器,它能夠在應用程式的請求和回應之間插入自訂程式碼。透過中間件,我們可以對請求進行處理、驗證、過濾,然後將處理後的結果傳遞給下一個中間件或最終的處理程序。 Yii框架中的中間件使用起來非常

隨著Web應用程式的快速發展,現代Web開發已成為一項重要技能。許多框架和工具可用於開發高效的Web應用程序,其中Yii框架就是一個非常流行的框架。 Yii是一個高效能、基於元件的PHP框架,它採用了最新的設計模式和技術,提供了強大的工具和元件,是建立複雜Web應用程式的理想選擇。在本文中,我們將討論如何使用Yii框架來建立Web應用程式。安裝Yii框架首先,

使用Yii框架實現網頁快取和頁面分塊的步驟引言:在Web開發過程中,為了提升網站的效能和使用者體驗,常常需要對頁面進行快取和分塊處理。 Yii框架提供了強大的快取和佈局功能,可以幫助開發者快速實現網頁快取和頁面分塊,本文將介紹如何使用Yii框架進行網頁快取和頁面分塊的實作。一、網頁快取開啟網頁快取在Yii框架中,可以透過設定檔來開啟網頁快取。開啟主設定檔co

近年來,隨著遊戲產業的快速發展,越來越多的玩家開始尋找遊戲攻略來幫助遊戲過關。因此,創建遊戲攻略網站可以讓玩家更方便取得遊戲攻略,同時也能為玩家提供更好的遊戲體驗。在創建這樣一個網站時,我們可以使用Yii框架來進行開發。 Yii框架是一個基於PHP程式語言的Web應用開發框架。它具有高效、安全、擴展性強等特點,可以為我們更快速、高效地創建一個遊戲攻略

Yii框架中間件:為應用程式新增日誌記錄和偵錯功能【引言】在開發Web應用程式時,我們通常需要添加一些附加功能以提高應用程式的效能和穩定性。 Yii框架提供了中間件的概念,使我們能夠在應用程式處理請求之前和之後執行一些額外的任務。本文將介紹如何使用Yii框架的中間件功能來實作日誌記錄和除錯功能。 【什麼是中間件】中間件是指在應用程式處理請求之前和之後,對請求和回應做

在Yii框架中,控制器(Controllers)扮演著處理請求的重要角色。除了處理常規的頁面請求之外,控制器還可以用於處理Ajax請求。本文將介紹在Yii框架中處理Ajax請求的方法,並提供程式碼範例。在Yii框架中,處理Ajax請求可以透過以下步驟進行:第一步,建立一個控制器(Controller)類別。可以透過繼承Yii框架提供的基礎控制器類別yiiwebCo

使用Yii框架中間件加密和解密敏感資料引言:在現代的網路應用中,隱私和資料安全是非常重要的問題。為了確保用戶的敏感資料不會被未經授權的訪客取得,我們需要對這些資料進行加密。 Yii框架為我們提供了一種簡單且有效的方法來實現加密和解密敏感資料的功能。在本文中,我們將介紹如何使用Yii框架的中間件來實現這一目標。 Yii框架簡介Yii框架是一個高效能的PHP框架,
