文件结构
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