Yii

By kcersing , 9 八月, 2018

文件结构

backend-后端开发应用程序
common-整个应用共用的文件
console-控制台应用程序
environments-环境配置
frontend-前端开发应用程序

路径别名

@yii,框架目录
@app,当前程序运行的基本路径
@runtime,运行目录
@vendor,composer扩展目录
@webroot,当前运行的Web应用程序的web根目录
@web,当前运行的Web应用程序的基本URL

Models(模型)

Yii中的Models从类yii\base\Model继承。Models通常用于保存数据和定义该数据(也称为业务逻辑)的验证规则。 业务逻辑通过提供验证和错误报告,简化了复杂的web表单生成models过程。

Yii的模型基本特性:

属性声明:model定义属性
属性标签:每个属性可以与用于显示目的的标签相关联。
大规模属性分配:能够在一个步骤中填充多个模型属性
基于场景的数据验证

Views (视图)

public function actionIndex(){

$models = Posts::find()->all();

echo $this->render('index', array('models' => $models));

}

在Yii2中,$this是指 yii\web\View这个组件。

Controllers (控制器)

ActiveRecord类

Active Record 是一种数据访问设计模式,它可以帮助你实现数据对象Object到关系数据库的映射。

关联关系(Relations)

事件(Events)

$component->on($eventName, $handler);

$handler可以是以下任意一个:

全局函数的名称
由模型名称和方法名称组成的数组
由对象和方法名组成的数组
匿名函数

示例:

// 全局函数:

$component->on($eventName, 'functionName');

 

// 模型名称和方法名称:

$component->on($eventName, ['Modelname', 'functionName']);

 

//对象和方法名:

$component->on($eventName, [$obj, 'functionName']);

 

// 匿名函数:

$component->on($eventName, function ($event) {

// Use $event.

});

行为(Behaviors)

Transactions (事务)

helper类(Helper Classes)

Helper类只包含静态方法,使用方法如下:

use \yii\helpers\Html;

echo Html::encode('Test > test');

 

框架提供了下面几个类:

ArrayHelper
Console
FileHelper
Html
HtmlPurifier
Image
Inflector
Json
Markdown
Security
StringHelper
Url
VarDumper

 

标签