前言:由於目前市面上的PHP框架較多,因此樓主打算整理一些主流框架的介紹,用於給你們學習交流。在接下來的一段時間內,會持續性的爲你們奉上相應的框架介紹。
上次主要爲你們介紹了TP3.X,以及TP3.X與TP5的一些區別,本次主要爲你們介紹下目前市面上的另一個主流框架YII2.0。
YII是一個基於組件的高性能PHP框架,用於開發大型Web應用。YII採用嚴格的OOP編寫,並有着完善的庫引用以及全面的教程。事實上,YII是最有效率的PHP框架之一。
YII是一個高性能的PHP5的web應用程序開發框架。經過一個簡單的命令行工具 YIIc 能夠快速建立一個web應用程序的代碼框架,開發者能夠在生成的代碼框架基礎上添加業務邏輯,以快速完成應用程序的開發
目前市面上用的最多的YII版本是2.0,固然也有極少數的公司使用的是1.0的版本
入口文件內容:通常格式以下:
$Yii =dirname(__FILE__).'/../../framework/Yii.php'; //Yii 框架位置
$config=dirname(__FILE__).'/protected/config/main.php'; //當前應用程序的主配置文件位置
一、在/vendor/yiisoft/yii2/web/Application.
PHP中:
public $defaultRoute = 'site';
能夠把這個默認改了,可是修改框架源碼不是很好最好是在配置文件中擴展
二、能夠在 frontend/config/mian.
php return[]下添加一行:
yii的模型有Model和ActiveRecord兩種:
一、Model類用來處理基本的業務邏輯,沒有
數據庫相關方法
二、若是要操做同名數據表,就去繼承ActiveRecord類。
在models文件夾中的Operation.class裏Operation類來繼承yii\db\ActiveRecord來操做
Operation表
三、
若是要操做其餘表,也能夠重寫public $tableName屬性來設置,或改寫其tableName方法(注意是靜態方法):
public static function tableName(){return 'tableName'}
用戶發送請求給入口腳本,入口腳本加載配置,運行application,application會建立一個request組件去處理此次用戶請求,Request組件會去路由裏面查找用戶想要請求的那個Controller,找到Controller後實例化它,調用對應的action執行操做,action會調用對應model層的函數進行數據處理,處理完成以後返回給對應的action,action會將數據格式化或者不格式化渲染View,爲其提供填充所須要的數據,渲染完成的結果會返回給response組件發送給用戶瀏覽器
當應用完成處理一個請求後, 會生成一個yii\web\Response響應對象併發送給終端用戶。響應對象包含的信息有HTTP狀態碼,HTTP頭和主體內容等, 網頁應用開發的最終目的本質上就是根據不一樣的請求構建這些響應對象。
在大可能是狀況下主要處理繼承自 yii\web\Response 的 response 應用組件, 儘管如此,Yii也容許你建立你本身的響應對象併發送給終端用戶
Yii2.0的Cookies不一樣於常規的PHP的Cookie設置,YII2.0Cookies使用Cookie類自定義名稱、值、過時時間;而後將設置好的cookie配置項裝載到CookieCollection中。而後服務器端處理完客戶端提交的數據後返回觸發Yii::$app->response中的事件;將調用Yii::$app->response->send()方法
在Yii框架中,不須要像標準PHP代碼那樣使用session_start(),Yii 框架中,autoStart屬性缺省被設置爲true,因此雖然沒有使用session_start(),但仍然能夠使用$_SESSION全局變量,但最好使用Yii框架封裝的Yii::app->session:
設置session變量:Yii::app()->session['var']='value';
使用session變量: echo Yii::app()->session['var'];
session變量:unset(Yii::app()->session['var']);
3) 相對較完善的庫支持和第三方類庫的導入。Yii還支持PHP的命名空間和自定義autoload方法
4) 工具支持yiic和gii。gii很是好用的建模塊、控制器(動做)、CURD操做等功 能,能夠減小開發週期。
7) Yii有着豐富的功能,從MVC、DAO/ActiveRecord、widgets、caching、等級式RBAC、Web服務到主題化,YII提供了今日Web 2.0應用開發所須要的幾乎一切功能。
8) Yii具備高度的可重用性和可擴展性,是純粹的面向對象