2017-02-28 / Yii2
ajax异步post提交出现400 bad request错误,
在确保配置无误且url地址正确的情况下,因为yii2的crsf验证不通过引起,
解决办法有2个,

1.关闭Csrf
这个方法不推荐,能开着尽量不要关
public function init(){
    $this->enableCsrfValidation = false;
}

2.在AJAX的data参数中加入_csrf字段阅读全文...
2017-02-24 / 其它
我的笔记本是华硕k40id, 在13年大概装了itunes,后来删除了,最近要使用,结果死活装不上itunes,不管怎么整,都是提示不能删除旧版本的apple software update, 在网上找了N种方法,这些方法全试了,没一个可行的 1.windows intsall clean,首次打开确实有apple software update,立马删除,重启电脑不行 2.查注册表把苹果的所有项全清理了,不只是apple software update,依然不行 3.还有的说下载一个新的apple software update,找了好久找到了下载地址,直接安装不行,跟安装itunes一样提示错误,有的说在控制面板对apple software update,右键修复选择下载的新的版本,然后再删除,控制面板根本没这一项 4.后来看到一个说,将itunes右键以压缩包方式打开,然后将apple software update删除,我不知道他用的什么系统,我的win7,根本没有以压缩包方式打开,
4.最终于效果如图
阅读全文...
2017-02-22 / Yii2

Modal弹窗是一款bootstrap的js插件,使用方便,显示效果好。

使用效果图
效果还是很漂亮的,


使用方法:
1、在view层需要点击出现弹窗的位置创建一个按钮,用于调modal的显示,当然需要在;视图层引入类:
 

阅读全文...
2017-02-20 / Yii2
yii2自带分页, 用起来很简单, 主要就是几个参数的设置

1.控制器部分
//totalCount为数据总数, pageSize为每页显示数, 'pageSizeParam'=>false可将分页路径中per-page参数隐藏去掉
use yii\data\Pagination;
$data= $News::find();
$pages = new Pagination(['totalCount' =>$data->count(), 'pageSize' => 10,'pageSizeParam'=>false]); //分页
$data = $_data->offset($pages->offset)->orderBy('itemid DESC')->limit($pages->limit)->all();
阅读全文...
2017-02-20 / Yii2
跳转到某页
功能基于linkpager扩展,具体实现为重构系统yiiwidgetsLinkPager类,使用起来跟原来一样,只多一个go的参数,
效果图如下

在common\components目录新建GoLinkPager类文件,代码如下,方法代码来源于yii\widgets\LinkPager, 注阅读全文...
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提高看源码的效率。

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

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