2017-03-23 / Yii2
在Yii2开发时可以配置不同的环境, 配置要随着应用运行的不同环境更改。例如在开发环境中,你可能使用名为 db_dev 的数据库,而生产环境则使用 db_prod 数据库。为便于切换使用环境,Yii 提供了一个定义在入口脚本中的 YII_ENV 常量。如下:

defined('YII_ENV') or define('YII_ENV', 'dev');

YII_ENV 可以定义成以下三种值:

prod:生产环境。常量 YII_ENV_PROD 为 true。这是 YII_ENV 的默认值。
dev:开发环境。常量 YII_ENV_DEV  为 true。
test:测试环境。常量 YII_ENV_TEST  为 true。

阅读全文...
2017-03-22 / Javascript
一般开发时都不使用IE浏览器,特别是IE9 IE8这些, 不只速度慢,兼容问题也是一堆一堆的,没办法还是有一些人在使用这些浏览器,只能想办法尽量魂, 我本人用的是火狐浏览器,都弄好后我发现一个很严重的问题,除了ie9以下的浏览器都不能支持html5的新标签(article,aside,dialog,footer,header,section,footer,nav,figure,menu)
后来在网上找到一个js文件custom.modernizr.js,使用之后发现确实可以解决新标签的问题,但此文件就有9.2KB,仅仅几个标签,后来无意间发现HTML5shiv,实在是太小巧了,2KB,解决新标签支持问题,
使用方法如下阅读全文...
2017-03-21 / Javascript
CKEditor编辑器相当好用, 扩展丰富, 界面漂亮,有时候添加内容编辑了好久,结果网络出错或者其它方面的原因,还没提交或者一提交,数据没了,那个难受劲,为了解决这个问题,我将discuz里的自动保存草稿功能给挖出来了,用localStorage实现的,支持多浏览器,操作方便,不需要点击自动保存,效果如下:

当然实现起来也是相当简单的,只需要几段js代码就可以了,阅读全文...
2017-03-20 / Yii2
这里用的yii2高级模板, 基本模板的配置文件在一个文件里,方法基本没什么区别,

1.用户表
要有两个用户表, 当然一个也行,分开是省得麻烦,既然是分离了就彻底分开, 前台表user,后台表user_backend,表结构这里不再说明了,只列出字段

id username auth_key password_hash password_reset_token email status created_at updated_at


2.配置文件
分别将frontend/config/main.php和backend/config/main.php里增加如下代码中user部分内容,注意放在配置文件components参数之内,有user部分的修改即可阅读全文...
2017-03-07 / Yii2
yii2的一个强大之处之一就是他的Form组件,既方便又安全。具体的rules使用方法这里就不提了, 如果你的一般验证规则,如require email captcha等可用,而unique却不起作用,可以朝下看.已经过实验,没有问题
我这里用的是高级模板,普通模板没用过,应该差不多, 在yii2首次安装之后,common/models/User.php就有username和email的unique规则,因为我前后台分离,所以将User.php分别在frontend和backend复制了一份,删除了common下的User.php,规则如下:
    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['username','email'], 'trim'],
            [['username','email','password'], 'required'],
            ['username', 'unique', 'targetClass' => '\frontend\models\User', 'message' => '用户名已存在.'],
            ['username', 'string', 'min' => 5, 'max' => 255],

            ['email', 'email'],
            ['email', 'string', 'max' => 255],
            ['email', 'unique', 'targetClass' => '\frontend\models\User', 'message' => '邮箱已被注册.'],

            ['password', 'string', 'min' => 6, 'max' => 30],
            ['verifyCode', 'required','message'=>'验证码不能为空'],
            ['verifyCode', 'captcha','message'=>'验证码错误'],
        ];
    }
阅读全文...
2017-03-05 / Yii2
控制器内成员变量
public $layout = false; //不使用布局
public $layout = "main"; //设置使用的布局文件
控制器成员方法
$this->layout = false; //不使用布局
$this->layout = "main"; //设置使用的布局文件
阅读全文...
2017-03-03 / Javascript
Code Snippet是CKEditor4.4.1的新插件,主要提供添加代码片段高亮显示的功能。
另外注意一点的是,Code Snippet只是作为CKEditor的插件,真正实现代码高亮的是highlight.js这个代码高亮JS库。
Code Snippet只是将highlight.js作为默认的高亮库,由于highlight.js已经集成在Code Snippet中,所以我们在使用CKEditor时候是不需要另外再引用highlight.js这个库。

安装方法:
下载Code Sn阅读全文...