zoukankan      html  css  js  c++  java
  • Yii2中的零碎知识点

    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

    <?php
    
    return [
        'class' => 'yiidbConnection',
        '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 appmodelsUser::$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参考文档 

  • 相关阅读:
    Linux下中文乱码
    hive配置元数据库mysql文件配置
    centos7安装mysql5.6
    mapreduce案例:获取PI的值
    hadoop第一个程序WordCount
    centos7搭建伪分布式集群
    Centos7永久关闭防火墙
    centos7设置静态ip
    大数据技术之kettle
    2020/6/20 mysql表连接和子查询
  • 原文地址:https://www.cnblogs.com/needrunning/p/3939312.html
Copyright © 2011-2022 走看看