yii2實戰教程之新手入門指南 簡單部落格管理系統

2022-07-04 08:30:12 字數 2851 閱讀 6294

快速入門指南會對yii2框架做乙個基本介紹,包括資料庫遷移、gii操作、ar模型、路由、驗證、檢視等等。如果你是個yii2新手甚至之前對php框架也很陌生,那麼這裡將會成為你的良好起點。如果你已經使用並且掌握了yii2框架基礎,可以期待yii2高階篇教程(後面我會更新)。

為了演示yii2特性的基本使用,我將會帶領大家構建乙個簡單的部落格管理系統。

本教程完整的**後期會公開於github上。

我們前面寫過關於yii2完整版的安裝教程,你可以點選進行參考,這裡只做步驟,不再做必要的講解。

composer global

php init

#之後構建本地環境,我們配置advanced.dev指向frontend/web目錄
在開發和維護乙個資料庫驅動的應用程式時,資料庫的結構會隨**的改變而改變。例如,在開發應用程式的過程中,會增加一張新錶且必須得加進來; 在應用程式被部署到生產環境後,需要建立乙個索引來提高查詢的效能等等。 因為乙個資料庫結構發生改變的時候源**也經常會需要做出改變,yii 提供了乙個 資料庫遷移 功能,該功能可以記錄資料庫的變化, 以便使資料庫和源**一起受版本控制。

在本例中,我們使用yii migrate命令生成部落格 blog 對應的資料表遷移:

yii migrate/create create_blog_table
該命令生成的遷移檔案位於 advanced\console\migrations 目錄,可能你已經注意到了,yii migrate 命令已經在遷移檔案中為我們新增了主鍵id和表名,接下來我們要編輯該檔案修改表名以及新增更多的列到資料表blog:

<?php 

useyii\db\migration;/**

* handles the creation for table `blog_table`. */

class m160525_153315_create_blog_table extends

migration

/*** @inheritdoc

*/public

function

down()

}

執行遷移之前,我們先把資料庫配置一番,開啟common\config\main-local.php檔案,我們看到components下面的db配置,參考如下配置就好

'components' =>[

'db' =>[

'class' => 'yii\db\connection',

//修改host 和dbname 之前需要手動建立了dbname才可以

'dsn' => 'mysql:host=localhost;dbname=advanced',

//登入資料庫的賬號

'username' => 'root',

//登入資料庫的密碼

'password' => '',

'charset' => 'utf8',],

//other code

],

資料庫配置好了之後,執行執行如下命令執行migrate

./yii migrate
期間會讓我們確認,yes後回車即可,該命令會為我們建立遷移檔案(console\migrations目錄)中定義的所有資料表,執行完該命令開啟資料庫會發現,我們的blog表已經建立了,其中包含了在遷移中定義的列。

gii是yii2中的乙個模組,是一種高度可定製和可擴充套件的**生成工具。使用它可以大幅提高我們的開發效率,後面我會也會講解如何用gii定製我們需要的模版以及程式**。如果你在安裝的過程中,像我們一樣選擇的是開發環境,gii預設是開啟的。也就是說我們無需再進行配置便可以使用。你也可以開啟檔案 advanced\frontend\config\main-local.php檢視配置**。

if (!yii_env_test)
接著通過位址  訪問gii模組(在一開始我們配置了advanced.dev指向了frontend/web目錄),借助其特性幫助我們生成此次操作所必需的一系列**。

4.1生成ar模型類

我們回過頭來點選gii頁面上的model generator start,像下面這樣生成ar模型類。

4.2生成crud**

所謂的crud無非就是create read update delete,也就是建立、讀取、更新和刪除。包含了常見web開發的基本操作。如果你剛剛用gii生成了model,此時點選左側選單crud generator像下面這樣生成crud再好不過了。

關於更多gii的操作你可以參考yii2 gii的詳細操作步驟。

目前為止,我們借助gii生成了model,curd一系列操作。

按照以上操作,我們會在如下相關目錄生成9個檔案

common\models\blog.php

common\models\blogsearch.php

frontend\controllers\blogcontroller.php

frontend\views\blog\_form.php

frontend\views\blog\_search.php

frontend\views\blog\create.php

frontend\views\blog\index.php

frontend\views\blog\update.php

frontend\views\blog\view.php

接著可以通過路由訪問看到blog具體頁面資訊。

5.1新增前準備

yii2 安裝詳細教程

下面我把完整的安裝流程介紹給大家 前提 非常重要,你的php版本必須是php5.4以上 去這裡現在高階應用模板 cmd dos命令進入這個d wamp www yii2 advanced下 3.執行 php r readfile php 5.執行php composer.phar global re...

yii2實戰之使用者註冊登入

繼控制器與檢視互動,本篇將講解如何自定義全域性函式,以及使用yii自帶的使用者註冊登入功能 有時候我們希望自定義一些函式,可以在全域性中呼叫,如php預設的var dump在頁面上的顯示效果並不好,尤其是多層級陣列的情況下,一大坨資料很難分辨。對此,yii提供了vardumper助手,可以輸出美觀易...

YII2 搭建redis拓展 教程

安裝redis擴充套件 1.通過composer進行安裝,到專案根目錄cmd執行 推薦 php composer.phar require prefer dist yiisoft yii2 redis或者新增 yiisoft yii2 redis 2.0.0 到對應專案的composer.json檔...