Yii2.0框架学习笔记

这篇博客详细介绍了Yii2.0框架的学习笔记,涵盖了从模型到控制器再到视图的工作流程,包括MVC结构的实现、模型中AR类的定义、控制器中的操作以及视图的动态显示。此外,还探讨了布局的使用、视图间的包含、模型和控制器的原生与框架写法,以及如何进行循环输出、分页和Ajax请求处理。对于Yii初学者,这是一份全面的入门指南。
摘要由CSDN通过智能技术生成

1、Yii框架工作流程(MVC文件后缀都是php):
models文件夹下建模型,写AR类、对应数据库相关表、定义属性标签、写验证规则、保存表之前调用的方式,用于保存非表单获取的默认数据(如添加数据的时间等,此步如不需要可省略)->controllers文件夹下建控制器、写保存表单的动作->views文件夹下建模板,动态显示视图。

2、YII中各种类
模型中添加:

use yii\base\Model;
use yii\db\ActiveRecord;			//活动记录,简称AR,用于访问数据库,一个AR类关联一张数据表
use yii\web\IdentityInterface; 		//认证接口,登录(身份接口)

控制器中添加:

use yii\web\Controller;
use frontend\models\Test;			//引入前台模型中的AR类
use yii\helpers\Url;				//url助手类
use Yii;							//使用这个后,在控制器动作中的\Yii::$app可以直接写成Yii::$app
use backend\models\Product; 		//调用后台产品模型类
use yii\data\Pagination;			//分页类
use backend\models\UploadForm; 		//上传模型类
use yii\web\UploadedFile; 			//上传功能类
use yii\filters\AccessControl;		//授权类

视图中添加:

use yii\helpers\Url;				//url助手类,用于生成URL
use yii\widgets\ActiveForm;			//借助小部件,动态生成表单(创建表单类)
use yii\widgets\LinkPager;			//显示分页类
<?php
	$this->title="首页";				//定义页面title名称,用于布局中
	//$this->title = $info->title; 	//设置页面标题,同上方
    //<link rel="stylesheet" type="text/css" href="css/ssss.css"/>
    //$this->registerCssFile('css/ssss.css');	//添加css到布局中,布局中要有$this->head();meta标签和link标签, 需要调用此方法动态生成
    //<script src="js/aa.js"></script>
    //$this->registerJsFile('js/aa.js');		//加载到布局中$this->endBody()这个位置,</body>前
    /*
    添加关键词和简介标签
    <meta name="keywords" content="">
    <meta name="description" content="">
    */
    //$this->registerMetaTag(['name'=>'keywords','content'=>'网站关键字']);
    //$this->registerMetaTag(['name'=>'description','content'=>'简介']);
?>

3、使用布局-包含文件

public $layout = 'main';						//属性-使用布局-包含文件,不想使用布局设置false

4、视图中调用视图-相当于包含文件

<?= $this->render('/index/_leftlxwm'); ?>		//视图中调用视图

5、模型中的写法

<?php
    namespace frontend\models;
    use yii\db\ActiveRecord;
    //模型命名不用带有model和.class
    class Msg extends ActiveRecord {
        //设定对应表,如果此步省略, 代表表名和类名一致(表前缀,在配置中设置)
        public static function tableName() {
            return '{
  {%msg}}';						//return 'msg';表名,如果配置里设置了表前缀,那么{
  {%msg}}是给msg表加前缀的
        }
        //定义属性标签,固定函数
        public function attributeLabels() {
            return[
                'title' => '留言主题',
                'sex' => '性别',
                'tel' => '联系电话',
                'lxr' => '联系人',
                'content' => '留言内容'
            ];
        }
        
        //验证规则,固定函数
        public function rules() {
            return[
                [['title','sex','tel','lxr','content'],'required','message' => '{attribute}不能为空'],
                ['title','string','min' => 4,'max' => 30,'tooShort' => '{attribute}最小长度必须在4个字以上','tooLong' => '{attribute}最大长度必须在30个字以内'],
                ['tel','match','pattern' => '/^1[34578]\d{9}$/','message' => '手机格式不正确'],
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值