201911-14 yii2高级应用之自定义组件实现全局使用图片上传功能的方法 HOT 此例为yii2高组应用,这里只提供一个简单的事例 在yii2中,在使用到上传图片时有自带的一个上传图片类,但不太好用。 其中有一种方式,把自己写的一个上传图片类文件,注册成一个组件,在全局中使用。 继续阅读 >
201911-14 Yii框架学习笔记之应用组件操作示例 HOT 这篇文章主要介绍了Yii框架学习笔记之应用组件操作,结合实例形式分析了Yii框架自定义组件的创建与使用相关操作技巧,需要的朋友可以参考下 继续阅读 >
201801-08 最全yii2 文档资料整理 HOT Sites网站yiifeed:Yii最新动态都在这里yiigist:Yii专用的Packagesmy-yii:Yii学习资料和新闻YiiPowered:用Yii开发的项目案例,包括开源不开源的,包括Yii1和Yii2,到目前为止有300多个案例了。Docs文档YiiFramework2.0类参考手册YiiFramework2.0权威指南YiiFramework2.0权威指南镜像(每次github有提交时15分钟后自动更新比官方那个及时)PDF版本的权威指南YiiFram... 继续阅读 >
201705-19 Yii2.0 日志配置分析 文件Log的配置:'log'=>[#追踪级别#消息跟踪级别#在开发的时候,通常希望看到每个日志消息来自哪里。这个是能够被实现的,通过配置log组件的yii\log\Dispatcher::traceLevel属性,就像下面这样:'traceLevel'=>3,#通过yii\log\Logger对象,日志消息被保存在一个数组里。为了这个数组的内存消耗,当数组积累了一定数量的日志消息,日志对象每次都将刷新被记录的消... 继续阅读 >
201705-19 nginx 搭配YII2.0环境 我们在开发和测试环境,需要为yii2搭配环境,这里说的是安装nginx1.安装脚本:wgetnginx.org/download/nginx-1.11.13.tar.gztarzxvfnginx-1.11.13.tar.gzcdnginx-1.11.13./configure--with-http_ssl_module--with-http_v2_modulemake&&makeinstall 【题外话:–with-http_v2_module配置代表开启http2模块,您可以通过下面的方式设置http2listen443sslhttp2;可以通过下面的链接找到工具测试是否开... 继续阅读 >
201610-12 Yii2.0 路由(Route)的实现原理 路由(Route)Web开发中不可避免的要使用到URL。用得最多的,就是生成一个指向应用中其他某个页面的URL了。开发者需要一个简洁的、集中的、统一的方法来完成这一过程。否则的话,在代码中写入大量的诸如http://www.digpage.com/post/view/100的代码,一是过于冗长,二是易出错且难排查,三是日后修改起来容易有遗漏。因此,从开发角度来讲,需要一种更简洁、可以统一管理、又能排查错误的解决方案。同时,我们在:ref:install部... 继续阅读 >
201610-11 Yii2.0实现微信公众号后台开发 本文内容较多,包括微信接入、获取微信用户信息、微信支付、JSSDK配置参数获取等部分。如果读者对微信开发没有一个主观上的认识,那么建议读者先研读微信公众平台开发者文档,然后再阅读本文,效果更佳!另外本文的分章节版本可以在八宝粥的博客找到。接入微信Yii2后台配置1.在app/config/params.php中配置token参数return[//微信接入'wechat'=>['token'=>'yourtoken',... 继续阅读 >
201608-11 yii2.0 的html和Request组件详解 1、Request组件 Request封装了$_SERVER,统一了不同Web服务器的变量,并且提供$_POST,$_GET,$_COOKIES,还包括HTTP中PUT、DELETE等方法2、调用Request组件 1)直接调用Request类:\Yii::$app->request 2)常用Request方法及属性判断是不是Ajax请求:\Yii::$app->request->isAjax判断是不是Post请求:\Yii::$app->request->isPost... 继续阅读 >
201608-11 Yii2.0 的COOKIE和SESSION用法 1、Cookie Yii2的Cookie主要是通过yii\web\Request和yii\web\Response进行操作的,通过\Yii::$app->response->getCookies()->add()添加Cookie,通过\Yii::$app->request->cookies读取Cookie. 1)添加一个Cookie<?php//第一种方法$cookie=new\yii\web\Cookie();$cookie->name='smister';//cookie的名称$cookie->expire=time()+3600;//... 继续阅读 >
201607-07 yii2.0分页的基本使用及其配置详解 分页的使用,一步一步的教你怎么做分页类LinkPager和Pagination都可以自定义哪些属性第一步,我们来看看yii2自带的分页类该如何去使用?1、controlleractionuseyii\data\Pagination;$query=Article::find()->where(['status'=>1]);$countQuery=clone$query;$pages=newPagination(['totalCount'=>$countQuery->count()]);$models=$query->offset($pages->offset)->limit($pages->limit)->all();r... 继续阅读 >
201607-07 yii2.0 UrlManage链接url规则解析 Url规则:urlmanager配置为应用程序组件在[[yiiaseApplication]]。你可以通过Yii访问实例:Yii::$app->urlManager您可以通过添加一个数组到您的应用程序配置下的“components”中,示例如下: 'urlManager' => [ 'enablePrettyUrl' => true, 'rules' => [ ... 继续阅读 >
201607-07 yii2.0 widget小部件制作教程 Widget小挂件制作:1.以制作一个hello小挂件为例,下图为简单的目录结构(可以根据需求做相应的修改):2.打开HelloWidget.php添加以下代码:<?phpnamespace commonwidgetshello;use yiiaseWidget;class HelloWidget extends Widget{ public $msg = ''; /** * 初始化 &nbs... 继续阅读 >
201607-07 Yii2.0数据库操作增删改查详解 1.简单查询:[[one()]]: 根据查询结果返回查询的第一条记录。[[all()]]: 根据查询结果返回所有记录。[[count()]]: 返回记录的数量。[[sum()]]: 返回指定列的总数。[[average()]]: 返回指定列的平均值。[[min()]]: 返回指定列的最小值。[[max()]]: 返回指定列的最大值。[[scalar()]]: 返回查询结果的第一行中的第一列的值。[[column()]]: 返回查询结果中的第一列的值。[[exists()]]... 继续阅读 >
201607-07 Yii2.0 ArrayHelper::map() 使用方法 从多维数组或数组中构建一个映射(键-值的形式)通过“$from”和“$to”参数指定对应的键值或属性名称来设置的映射关系。当然也可以根据分组字段“$group”来进一步分组的映射。举个例子:$array=[ ['id'=>'123','name'=>'aaa','class'=>'x'], ['id'=>'124','name'=>'bbb','class'=>'x'], ... 继续阅读 >
201607-07 yii2.0静态资源js css引入方法 配置资源包:Yii2对于CSS/JS管理,使用AssetBundle资源包类。打开backend/assets/AppAsset.phpnamespace backendassets; use yiiwebAssetBundle; class AppAsset extends AssetBundle { public $basePath = '@webroot'; public $baseUrl ... 继续阅读 >
201607-07 Yii2.0 创建一个自定义组件方法 下面是Yii2.0如何创建一个自定义组件的实例第一步:在common下创建components文件夹第二步:在新建的components文件夹中创建一个自定义组件比如:ReadHttpHeader.php,代码如下namespace commoncomponents; use Yii;use yiiaseComponent; class ReadHttpHeader extends Component { public function RealIP() &... 继续阅读 >
201607-07 Yii2.0 ActiveForm组件的ajax提交方法 ActiveForm如何异步提交?1.首先在views层的ActiveForm中配置以下属性$form = ActiveForm::begin([ 'action' => Url::to(['post/save']), //此处为请求地址 Url用法查看手册 'enableAjaxValidation' => true, 'validatio... 继续阅读 >
201607-07 yii2.0 模型rules验证详解 Yii2自带的注册可以作为网站的注册功能,但添加重复密码和验证码会更加完美!问题:用户名没有做严格的限制,类似“111”,“123456”,“_____111”这样的的用户名都是被允许的,那么如何限制用户输入我们所希望的用户名呢?一般的注册,都有重复输入密码的input框,是为了让用户再次确认自己输入的密码,如何添加呢?为了提高注册用户的质量,防止批量注册,添加验证码是不错的选择,如何加?... 继续阅读 >
201607-07 yii2.0 加密解密处理方法 >加密与解密:Yii提供了方便的帮助函数来让你用一个安全秘钥来加密解密数据。数据通过加密函数进行传输,这样只有拥有安全秘钥的人才能解密。比如,我们需要存储一些信息到我们的数据库中,但是,我们需要保证只有拥有安全秘钥的人才能看到它(即使应用的数据库泄露)$data 是你要加密的内容,$secretKey 是你自己设置的密码,$encryptedData = Yii::$app->getSecurity()->encryptByPassword($data, ... 继续阅读 >
201607-07 Yii2.0防御csrf攻击方法 yii2中无论是用测试工具POSTMAN、用命令行CURL请求、ajax请求总是会得到http400:BadRequest的错误;而如果用Web网页方式GET访问(去除verbFilter的POST限制),是正常的通过查阅资料发现,这是CRSF验证的原因原理:CookieHashing,让服务器发送给客户端的所有表单中都标示一个随机值_csrf,并同时在客户端的COOKIE中保存一个相关联的token;验证的时候,服务端每次对接收到的请求_POST()过来的一个inputhidden_csrf跟客户端... 继续阅读 >
201607-07 Yii2.0 scenarios场景应用详解 Yii2.0场景的使用:举个简单的例子,现在在post表里面有titleimagecontent三个的字段,当我创建一个post的时候,我想三个字段全部是必填项,但是你修改的时候,titlecontent两个字段是必填的,iamge可以不填写。正常的情况下,[['title','content','image'],'required',],但是我们更改的时候只需要[['title','content'],'required'],就可以了,但是少了image字段,我们的表单就无法提交,这种问题怎么办... 继续阅读 >
201607-07 Yii2.0 ActiveForm用法详解 ActiveForm实例下面实例中几乎涵盖ActiveForm的所有用法,对应于代码下面有效果图,至于如何修改表单的结构来实现我们所需求的样子,请看上面的相关教程<?phpuseyiiootstrapActiveForm;useyiihelpersHtml;$this->title='编程学习';?><divclass="row"><divclass="col-lg-9"><?php$form=ActiveForm::begin(['id'=>'form-signup']);?><?=$form->field($model,'test1')->label('测试Label')?>... 继续阅读 >
201607-07 Yii2.0经常调用的常量、变量、方法、函数 <?phpdefined('YII_DEBUG')ordefine('YII_DEBUG',true);//当在调试模式下,应用会保留更多日志信息,如果抛出异常,会显示详细的错误调用堆栈。因此,调试模式主要适合在开发阶段使用,YII_DEBUG默认值为false。return$this->render('list');//加载视图模板,一定要return否则会空白$this->render('_overview');//在视图模板中,可以通过这种方式加载视图模板//######################... 继续阅读 >
201604-07 Yii2 时间格式化的用法 先添加配置文件:'language'=>'zh-CN','timeZone'=>'Asia/Shanghai','components'=>['formatter'=>['dateFormat'=>'yyyy-MM-dd','datetimeFormat'=>'yyyy-MM-ddHH:mm:ss','decimalSeparator'=>',','thousandSeparator'=>'','currencyCode'=>'CNY',],],在视图和控制器等其他地方是这样使用的:echoYii::$app->formatter->asRelativeTime($model->created_a... 继续阅读 >