Yii2中的零碎知识点

PHP最佳实践

1 PHP获取时间戳:echo  time();php

时间戳转换 date('Y-m-d H:i:s', $时间戳);html

2 linux 显示命令 ls 显示全部文件夹
mysql

  查看命令:tail -200 runtime/logs/app.loglinux

  退出vim   :qz  :xaweb

3 数据库日志: tail -f /database/mysql/query.log sql

composer安装

compose官网数据库

https://getcomposer.org/download/vim

在PHP环境下执行命令yii2

php -r "readfile('https://getcomposer.org/installer');" | phpapp

执行成功

 Yii2.0 中配置多个数据库

1 config文件夹下 增长新的数据库配置,格式如 passportdb.php

<?php

return [
    'class' => 'yii\db\Connection',
    'dsn' => 'mysql:host=;dbname',
    'username' => 'root',
    'password' => '',
    'charset' => 'utf8',
];?>

 2 将数据库文件引入到程序配置文件 web.php中

 3 在model中经过 Yii::$app->passportdb;访问数据库

 

public static  function getDb() { return Yii::$app->passportdb; }

 4 程序 如gii自动生成代码时  经过models的 getDb() 访问数据库

rules经常使用规则

return array( //必须填写
    array('email, username, password,agree,verifyPassword,verifyCode', 'required'),

    //检查用户名是否重复
    array('email','unique','message'=>'用户名已占用'),

    //用户输入最大的字符限制
    array('email, username', 'length', 'max'=>64),
    
    //限制用户最小长度和最大长度
    array('username', 'length', 'max'=>7, 'min'=>2, 'tooLong'=>'用户名请输入长度为4-14个字符', 'tooShort'=>'用户名请输入长度为2-7个字'),

    //限制密码最小长度和最大长度
    array('password', 'length', 'max'=>22, 'min'=>6, 'tooLong'=>'密码请输入长度为6-22位字符', 'tooShort'=>'密码请输入长度为6-22位字符'),

    //判断用户输入的是不是邮件
    array('email','email','message'=>'邮箱格式错误'),

    //检查用户输入的密码是不是同样的
    array('verifyPassword', 'compare', 'compareAttribute'=>'password', 'message'=>'请再输入确认密码'),

    //检查用户是否赞成协议条款
    array('agree', 'required', 'requiredValue'=>true,'message'=>'请确认是否赞成隐私权协议条款'),

    //判断是不是日期格式
    array('created', 'date', 'format'=>'yyyy/MM/dd/ HH:mm:ss'),

 

 

  //判断是否包含输入的字符
    array('superuser', 'in', 'range' => array(0, 1)),
//正则验证器: 
    array('name','match','pattern'=>'/^[a-z0-9\-_]+$/'),
//数字验证器: 
    array('id', 'numerical', 'min'=>1, 'max'=>10, 'integerOnly'=>true),
 //类型验证 integer,float,string,array,date,time,datetime 
    array('created', 'type', 'datetime'),
//文件验证: 
    array('filename', 'file', 'allowEmpty'=>true, 'types'=>'zip, rar, xls, pdf, ppt','tooLarge'=>'图片不要超过800K'),

          array('url',  
            'file',    //定义为file类型 
            'allowEmpty'=>true,   
            'types'=>'jpg,png,gif,doc,docx,pdf,xls,xlsx,zip,rar,ppt,pptx',   //上传文件的类型 
            'maxSize'=>1024*1024*10,    //上传大小限制,注意不是php.ini中的上传文件大小 
            'tooLarge'=>'文件大于10M,上传失败!请上传小于10M的文件!'  
        ),  

 

 yii2 两种模块的区别

 主要区别在于login机制不同。

基础模板 的登陆login view文件里 有这么一句话【To modify the username/password, please check out the code app\models\User::$users.】 实际上能够理解为:

基础版默认的用户验证信息不是存在user表里,存在文件models里.

Yii2异常处理

 Yii中的错误处理和纯PHP不一样。首先,Yii将转换全部非致命错误为异常(exceptions):

Yii 缺省出错页面已经足够好。不过你固然能够定制化这个出错页面来知足项目需求。

最简单的方法是建立一个定制错误页面。首先你须要在应用程序config中配置 errorHandler 组件:

// ...
'components' => [ // ...
    'errorHandler' => [ 'errorAction' => 'site/error', ], ]

 

这样当错误发生时,Yii 将执行 site-controller 的 error-action 方法。该方法首先检查是否有异常发生,若有则传递异常并绘制出错页面:

public function actionError() { $exception = \Yii::$app->errorHandler->exception; if ($exception !== null) { return $this->render('error', ['exception' => $exception]); } }

YIi2参考文档 

相关文章
相关标签/搜索