文档章节

Yii2中的零碎知识点

liunx_
 liunx_
发布于 2017/08/29 08:03
字数 880
阅读 7
收藏 0

PHP最佳实践

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

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

2 linux 显示命令 ls 显示所有文件夹

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

  退出vim   :qz  :xa

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

composer安装

compose官网

https://getcomposer.org/download/

在PHP环境下执行命令

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

执行成功

 Yii2.0 中配置多个数据库

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

1

2

3

4

5

6

7

8

9

<?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]);
    }
}

复制代码

© 著作权归作者所有

共有 人打赏支持
liunx_
粉丝 0
博文 20
码字总数 29282
作品 0
成都
程序员
私信 提问
Yii 2 —— 密码加密算法

1.1 密码加密算法 参考文档: 1、更新后的 PHP: 现代 PHP 中的密码安全性; 2、http://php.net/manual/zh/function.password-hash.php 3、http://php.net/manual/zh/function.password-veri......

tywali
2018/06/29
0
0
记录Yii2框架开发遇到微信错误提示

转载地址 记录Yii2框架开发遇到微信错误提示 微信公共号开发,提示“该公众号暂时无法提供服务,请稍后再试”,如何解决? 以前使用Yii框架的时候,并没有像Yii2,以前的Yii框架似乎用起来在...

durban
2018/07/22
0
0
Yii2 Unable to verify your data submission 错误-CSRF

Yii2 功能很是强大,组件化编程很高大上,全栈编程很容易,但我觉得日常的开发中还是有很大一部分人会去手写表单之类的,为了配合前端的工作,或者懒得再去学这套堪比一门新语言的组件语法....

big_cat
2016/02/01
345
2
Yii2 RC 版本发布下载,三年磨一剑!

今天YII2.0 RC版本已经发布,此版本现已提供下载: https://github.com/yiisoft/yii2/releases/tag/2.0.0-rc Yii 当前有两个主要版本:1.1 和 2.0。 1.1 版是上代的老版本,现在处于维护状态...

chinaphp
2014/09/28
4.6K
48
Yii2框架图解

Yii2框架图解 Love冥天个人博客-关注IT|PHP|互联网|php个人博客交流2017-11-281 阅读 yii2Yii2 图片根据Yii类参考手册,Yii源代码,开发常用方法构成. 1.yii2 控制器类图 2.yii2 cookie 类图...

Love冥天个人博客-关注IT|PHP|互联网|php个人博客交流
2017/11/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

大数据教程(11.9)hive操作基础知识

上一篇博客分享了hive的简介和初体验,本节博主将继续分享一些hive的操作的基础知识。 DDL操作 (1)创建表 #建表语法CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name ...

em_aaron
今天
0
0
OSChina 周四乱弹 —— 我家猫真会后空翻

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @我没有抓狂 :#今天听这个# 我艇牛逼,百听不厌,太好听辣 分享 Led Zeppelin 的歌曲《Stairway To Heaven》 《Stairway To Heaven》- Led Z...

小小编辑
今天
1
0
node调用dll

先安装python2.7 安装node-gyp cnpm install node-gyp -g 新建一个Electron-vue项目(案例用Electron-vue) vue init simulatedgreg/electron-vue my-project 安装electron-rebuild cnpm ins......

Chason-洪
今天
3
0
scala学习(一)

学习Spark之前需要学习Scala。 参考学习的书籍:快学Scala

柠檬果过
今天
3
0
通俗易懂解释网络工程中的技术,如STP,HSRP等

导读 在面试时,比如被问到HSRP的主备切换时间时多久,STP几个状态的停留时间,自己知道有这些东西,但在工作中不会经常用到,就老是记不住,觉得可能还是自己基础不够牢固,知识掌握不够全面...

问题终结者
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部