2017-02-19 / Yii2
php的排序真的那么重要吗? 我整了好几年代码,这4种算法就使用过一次,冒泡排序,因为需求比较特殊,说实话4种算法我真是没用过也不会,有时候你不能不会,虽然你用不到,
我感觉数据库设计好,数据处理好,就完全可以直接来用,一般情况下不必要再排序一次,

 

分别用冒泡排序法,快速排序法,选择排序法,插入排序法将下面数组中的值按照从小到大的顺序进行排序。 

$arr(1,43,54,62,21,66,32,78,36,76,39);

1. 冒泡排序

阅读全文...
2017-02-17 / 其它

问题:点击A连接, <a href="xx.action">删除</a>后, 点击一次,后台会被执行了2次

原因:是迅雷的组件的组件Thunder Extension 4.6导致的,迅雷会远程或者本地判断一次连接地址是否为下载连接

解决:改成<a href="#" onclick="location.href='xx.action'">删除</a>,或者禁用迅雷组件

阅读全文...
2017-02-15 / Yii2

Yii使用 yii\web\Cookie对象来代表每个cookie,这里要注意yii\web\Request 和 yii\web\Response 的使用方法, 前者的cookie 集合代表请求提交的cookies,用于使用cookie, 后者的cookie集合表示发送给用户的cookies,用于添加时

添加 Cookies
 

$cookies = Yii::$app->response->cookies; //注意为response 
//添加新cookie 
$cookies->add(new \yii\web\Cookie([ ’name’ => ’language’, ’value’ => ’zh-CN’, ]));
阅读全文...
2017-02-14 / Yii2

yii2中,ActiveForm默认做了客户端验证,但是表单的提交,却不是无刷新的。也就是常常看到的表单提交后页面会刷新。如果想要开启无刷新的模式,只需要在ActiveForm开始开启enableAjaxValidation即可,像下面这样

<?php $form = ActiveForm::begin([
        'id' => 'form-id',
        'enableAjaxValidation' => true,
        'validationUrl' => Url::toRoute(['validate-form']),
    ]
); ?>
阅读全文...
2017-02-13 / Yii2
yii2里很多功能都是针对某个类的属性配置出来的,例如入口文件里的 (new yii\web\Application($config))->run() 中的 $config,就是对 yii\web\Application 类的属性进行配置,有些配置里还会有配置,比如 $config[’component’] 和 $config[’module’]。

一句话:配置可以简单的认为是指定你要用的类,以及初始化这个类的属性。

不论怎么说,初学不需要研究源码,但平时用到的类的父类最好都看一下,它提供了哪些可以给自己用的(public)属性、方法和注释还有常量,这才叫面向对象,要不继承有何用呢?这样你才能对你使用的东西更熟悉。yii2 的源码里有大量注释,甚至可以不看 api 文档了,建议学会用IDE提高看源码的效率。

看完下面的一些示例后,结合上面这句话,学习的收获或许会更大。

想对配置有更深了解的话还是建议去看一下官方文档,或者这篇文章,我觉得写的比我详细多了。阅读全文...
2017-02-13 / Yii2

文本框:textInput();
密码框:passwordInput();
单选框:radio(),radioList();
复选框:checkbox(),checkboxList();
下拉框:dropDownList();
隐藏域:hiddenInput();
文本域:textarea([’rows’=>3]);
文件上传:fileInput();
提交按钮:submitButton();
重置按钮:resetButtun();

阅读全文...
2017-02-13 / Yii2
下拉搜索
日期格式化并实现日期可搜索
根据参数进行是否显示
链接可点击跳转
显示图片
html渲染
自定义按钮
设定宽度等样式
自定义字段
自定义行样式
增加按钮调用js操作
yii2 GridView 下拉搜索实现案例教程
yii2 GridView 日期格式化并实现日期可搜索 案例
是否显示某列案例
阅读全文...
2017-02-13 / Yii2
直接 model 删除

$model = User::find($id);
$model->delete();


带有条件的删除

$connection ->createCommand()
            ->delete('tbl_user', 'status = 0')
            ->execute();


使用 Query 查询删除

$connection ->createCommand('DELETE FROM tbl_user WHERE userid=:userid')
            ->execute();

阅读全文...
2017-02-13 / Yii2
默认预定义别名一共有12个,其中路径别名11个,URL别名只有 @web 1个:

@yii 表示Yii框架所在的目录,也是 yii\BaseYii 类文件所在的位置;

@app 表示正在运行的应用的根目录,一般是 digpage.com/frontend ;

@vendor 表示Composer第三方库所在目录,一般是 @app/vendor 或 @app/../vendor ;

@bower 表示Bower第三方库所在目录,一般是 @vendor/bower ;

@npm 表示NPM第三方库所在目录,一般是 @vendor/npm ;

@runtime 表示正在运行的应用的运行时用于存放运行时文件的目录,一般是 @app/runtime ;

@webroot 表示正在运行的应用的入口文件 index.php 所在的目录,一般是 @app/web;

@web URL别名,表示当前应用的根URL,主要用于前端;

@common 表示通用文件夹;

@frontend 表示前台应用所在的文件夹;

@backend 表示后台应用所在的文件夹;

@console 表示命令行应用所在的文件夹;

其他使用Composer安装的Yii扩展注册的二级别名。

这样,在整个Yii应用中,只要使用上述别名,就可方便、且统一地表示特定的路径或URL。

阅读全文...
2017-02-13 / Yii2
 required : 必须值验证属性

[[’字段名’],required,’requiredValue’=>’必填值’,’message’=>’提示信息’]; #说明:CRequiredValidator 的别名, 确保了特性不为空.


email : 邮箱验证

[’email’, ’email’]; #说明:CEmailValidator的别名,确保了特性的值是一个有效的电邮地址.


match : 正则验证

[[’字段名’],match,’pattern’=>’正则表达式’,’message’=>’提示信息’];      

[[’字段名’],match,’not’=>ture,’pattern’=>’正则表达式’,’message’=>’提示信息’]; /*正则取反*/ #说明:CRegularExpressionValidator 的别名, 确保了特性匹配一个正则表达式.

阅读全文...