Yii::getFrameworkPath(); // 框架核心目錄
Yii::app()->getRuntimePath(); // protected/runtime
Yii::import('application.venders.*'); // 載入第三方庫
Yii::app()->clientScript->registerMetaTag('keywords', '關鍵字');
Yii::app()->clientScript->registerMetaTag('description', '一些描述');
Yii::app()->clientScript->registerMetaTag('author', '作者');
// 基礎寫法
Yii::app()->clientScript->registerCssFile(Yii::app()->baseUrl . '/css/my.css');
Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . '/js/my.js');
// 推薦:統一取得 ClientScript 實例
$cs = Yii::app()->getClientScript();
// 註冊 JS 檔案(指定位置:HEAD / POS_HEAD / POS_END / POS_BEGIN / POS_LOAD)
$cs->registerScriptFile('js/amcharts/javascript/amcharts.js', CClientScript::POS_HEAD);
$cs->registerScriptFile('js/amcharts/javascript/raphael.js', CClientScript::POS_HEAD);
// 註冊內嵌 JS 代碼片段(key 唯一標識,避免重複)
$cs->registerScript('f1', 'var chart;');
$cs->registerScript('f2', 'var newValueAxis;');
$cs->registerScript('f3', 'var addAxis;');
// ... 後續片段會依 key 順序輸出
// 註冊核心庫(jQuery 等)
Yii::app()->clientScript->registerCoreScript('jquery');
Yii::app()->getController()->id; // 當前控制器 ID Yii::app()->getController()->getAction()->id; // 當前動作 ID
Yii::app()->request->userHostAddress; // 客戶端 IP Yii::app()->request->isPostRequest; // 是否 POST Yii::app()->request->hostInfo; // 當前域名(含協定) Yii::app()->basePath; // protected 實體路徑 Yii::app()->request->urlReferrer; // 來源頁 URL Yii::app()->request->url; // 當前請求 URL Yii::app()->homeUrl; // 首頁 URL Yii::app()->user->returnUrl; // 登入後導向 URL dirname(Yii::app()->basePath); // 專案根目錄
$this->createUrl('urlBoyLeeTest'); // 建立路由 URL
Yii::app()->user->setFlash('success', "儲存成功!");
Yii::app()->user->setFlash('error', "發生錯誤,請檢查!");
Yii::app()->user->setFlash('notice', "一般提示訊息");
視圖中對應顯示:
user->getFlashes() as $key => $message): ?>
// 模組類別中
public $assetsUrl;
public function init() {
$this->assetsUrl = Yii::app()->getAssetManager()->publish(
Yii::getPathOfAlias('application.modules.模組名.assets')
);
}
// 視圖使用
更多 Yii 技巧請參考專題:《Yii框架入門及常用技巧總結》、《php優秀開發框架總結》等。