首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

Yii 框架快速入門:核心概念與目錄結構完整指南

     編輯:PHP 綜合知識

Yii 框架入門核心知識體系

本文系統整理 Yii 1.1 版本的入門重點,涵蓋入口腳本、配置、MVC、模組、路徑別名與開發規範。

Ⅰ. 基礎架構

1. 入口腳本 (index.php)

$yii = dirname(__FILE__) . '/../../framework/yii.php';
$config = dirname(__FILE__) . '/protected/config/main.php';
defined('YII_DEBUG') or define('YII_DEBUG', true);
require_once($yii);
Yii::createWebApplication($config)->run();

2. 主配置 (protected/config/main.php)

核心區段:basePath、components(db、cache、urlManager、log 等)、import、modules、params。

return array(
    'basePath' => dirname(__FILE__) . DIRECTORY_SEPARATOR . '..',
    'name' => 'My Application',
    'preload' => array('log'),
    'import' => array(
        'application.models.*',
        'application.components.*',
    ),
    'components' => array(
        'db' => array(
            'connectionString' => 'mysql:host=localhost;dbname=test',
            'username' => 'root',
            'password' => '',
            'charset' => 'utf8',
            'tablePrefix' => 'tbl_',
        ),
        'urlManager' => array(
            'urlFormat' => 'path',
            'rules' => array(
                'post/<id:\d+>/<title:.*?>' => 'post/view',
            ),
        ),
        'log' => array(
            'class' => 'CLogRouter',
            'routes' => array(
                array('class' => 'CFileLogRoute', 'levels' => 'error, warning'),
            ),
        ),
    ),
);

3. 核心應用組件

Yii 預定義組件:db、cache、user、urlManager、clientScript、errorHandler 等。存取方式:Yii::app()->componentID。

Ⅱ. MVC 實作

1. 控制器

  • 位置:protected/controllers/
  • 動作:actionActionName() 或獨立動作類
  • 路由:ControllerID/ActionID
  • 過濾器:filters() 回傳陣列,支援方法型與物件型

2. 模型

  • CFormModel:表單資料收集與驗證,不持久化
  • CActiveRecord:資料表映射,支援 CRUD、關聯、驗證
class Post extends CActiveRecord {
    public static function model($className=__CLASS__) { return parent::model($className); }
    public function tableName() { return '{{post}}'; }
    public function rules() { return array(array('title, content', 'required')); }
}

3. 視圖

  • 位置:protected/views/ControllerID/
  • 佈局:protected/views/layouts/main.php,內容變數 $content
  • 傳遞資料:$this->render('view', array('var' => $value))
  • Widget:$this->widget('WidgetClass', array('prop' => 'val'))

Ⅲ. 進階特性

模組

獨立功能單元,含獨立 MVC。建立:yiic shell 或 Gii。配置於 main.php 的 modules。

路徑別名

application、system、webroot、ext。使用 Yii::import('application.models.*') 自動載入。

開發規範

  • 命名:類別 PascalCase,變數/方法 camelCase,私有成員前綴 _
  • 控制器類名結尾 Controller
  • 資料表小寫 + 底線,建議單數前綴 tbl_

Ⅳ. 表單處理流程

  1. 建立模型類別定義屬性與 rules()
  2. 控制器動作處理 $_POST、驗證、儲存
  3. 視圖使用 CActiveForm Widget 渲染欄位與錯誤訊息

更多細節請參考 Yii 官方指南。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved