yii2】的更多相关文章

我们先来看下行为在 Yii2 中的使用,如下内容摘自 Yii2中文文档 行为是 [[yii\base\Behavior]] 或其子类的实例.行为,也称为 mixins,可以无须改变类继承关系即可增强一个已有的 [[yii\base\Component|组件]] 类功能.当行为附加到组件后,它将"注入"它的方法和属性到组件,然后可以像访问组件内定义的方法和属性一样访问它们.此外,行为通过组件能响应被触发的事件,从而自定义或调整组件正常执行的代码. 定义行为 要定义行为,通过继承 [[yi…
上一篇文章网站实现微信登录之嵌入二维码中描述了如何在自己的登录页面内嵌入登录二维码,今天的这篇文章主要是描述下在扫码成功之后微信重定向回网站后登录逻辑的处理,其实也就是验证身份信息,授权用户登录的逻辑.这里说句题外话,写博客复习已经做过的项目真的有助于自己对已经写过代码和业务逻辑的理解,说不定还有意外的收获.所谓,“温故而知新”,我会保持写博客的习惯. 1,微信扫码成功之后 在用户扫码成功之后,pc端网站上的二维码会出现如下的提示:(这里是用的微信开发文档中的例子1号店网站用来演示效果). 这里…
之前写了一篇yii2获取登录前的页面url地址的文章,然后发现自己对于网站实现微信扫码登录功能的实现不是很熟悉,所以,我会写2-3篇的文章来描述下一个站点如何实现微信扫码登录的功能,来复习下微信扫码登录网站的基本开发过程和需要注意的地方.这是第一篇,主要是描述如何在自己的登录页面内嵌入登录二维码.按照微信开放平台开发者文档网站应用微信登录开发指南中的一步一步来即可. 1,要扫码登录首先要有码 先看看文档中给提供的嵌入二维码的示例代码: 需要先引入微信提供的js文件 <script src="…
对于一个有登录限制(权限限制)的网站,用户输入身份验证信息以后,验证成功后跳转到登录前的页面是一项很人性化的功能.那么获取登录前的页面地址就很关键,今天在做一个yii2项目的登录调试时发现了一些很有意思的问题,记录下来. 1,场景描述 网站SiteA上的页面Page2需要登录后才能查看,Page2的链接放在页面Page1的一个按钮Button上,Page1在登录前后都是可以访问的,SiteA只提供了微信扫码登录的入口. 2,功能需求 假定访客User已经在SiteA上注册过,但当前未登录.Use…
周六闲来无事,就试着安装和部署下yii2,安装过程没什么问题,但部署到nginx上时遇到了502 bad gatewary问题,折腾了半天才搞定.这个问题是我以前在部署yii2时没有遇到过的,因此记在这里以备忘. 1,安装和部署环境 操作系统:macOS,php版本:5.6,nginx版本:1.10.1,yii2版本:2.0. 2,yii2的安装 yii2的安装很简单,参考官网的手册即可.我这里安装的是yii2-app-advanced(Yii 2 Advanced Project Templa…
这里有几个概念 权限: 指用户是否可以执行哪些操作,如:编辑.发布.查看回帖 角色 比如:VIP用户组, 高级会员组,中级会员组,初级会员组 VIP用户组:发帖.回帖.删帖.浏览权限 高级会员组:发帖.回帖.浏览权限 中级会员组:回帖.浏览权限 初级会员组:浏览 在Yii2.0中 yii\rbac: Item  为角色或者权限的基类,其中用字段type来标识.1代表角色,2代表权限 yii\rbac: Role  为代表角色的类 yii\rbac: Permission  为代表权限的类 yii…
作者:白狼 出处:http://www.manks.top/yii2-restful-api.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 什么是RESTful风格的API 对于各种客户端设备与服务端的通信,我们往往都通过API为客户端提供数据,提供某种资源.关于RESTful的概念,一查一大推,一两句也解释不清,姑且先按照我们通俗的理解:在众多风格.众多原则的API中,RESTful就是一套比较优秀的接口调用…
作者:白狼 出处:http://www.manks.top/yii2_many_ar_relation_search.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 一个老生常谈的问题.最近通过群里的反馈,觉得很多人还是没有去理解这个问题.今天把这个问题讲明白了,看看yii2 ActiveRecord是怎么个多表关联以及如何去优化这个关联. 场景需求: 假设我们有一张用户表user和一张用户渠道表auth,两张数…
作者:白狼 出处:http://www.manks.top/yii2_rbac_rule.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 在我们之前yii2搭建后台以及rbac详细教程中,不知道你曾经疑惑过没有一个问题,rule表是做什么的,为什么在整个过程中我们都没有涉及到这张表? 相信我不说,部分人也都会去尝试,或百度或google,到头来也会竹篮打水,这部分讲解的内容少之又少啊! 对于一般的权限系统而言,我…
作者:白狼 出处:http://www.manks.top/yii2_multiply_images.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 文件上传也写过几篇文章了,包括最基本的yii2文件上传.异步上传到又拍云以及百度编辑器图片上传的问题,貌似不说点多图上传的就不完美. 今天介绍一款多图上传的插件 FileInput,至于为什么选中了TA作为我们上传的插件,一来这货跟Yii2有一腿,用起来方便:二来嘛…
作者:白狼 出处:http://www.manks.top/yii2_modal_activeform_ajax.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 前面我们讲述了yii2中如何使用modal以及yii2 gridview列表内更新操作如何使用modal的问题,本以为modal要告一段落可以开始新的话题了,但是实际问题往往超乎想像,这不modal弹窗提交的表单说是怎么验证的问题又出来了,又出来了! 该…
作者:白狼 出处:http://www.manks.top/document/easy_blog_manage_system.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 1.简介 快速入门指南会对Yii2框架做一个基本介绍,包括数据库迁移.gii操作.AR模型.路由.验证.视图等等.如果你是个Yii2新手甚至之前对PHP框架也很陌生,那么这里将会成为你的良好起点.如果你已经使用并且掌握了Yii2框架基础,可以…
作者:白狼 出处:http://www.manks.top/yii2_modal_baseuse.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. Modal也即是模态窗,通俗的说就是弹窗.是一款bootstrap的js插件,使用效果也是非常好. 为什么要使用modal就不必多说了,一个网站,在开发过程中你说你没用过js弹窗我都不信!好的弹窗不仅仅给人以美感,也会让我们开发效率提高,甚至心情也会舒畅! 我们看看在y…
yii\base\InvalidParamException: The file or directory to be published does not exist: /data/wwwroot/ clone一个项目到本地,然后直接初始化项目,安装扩展包,配置完其他的设置后突然爆出这么一个错误. 我一看,原来vendor里面的bower文件又变成bower-asset这个文件夹了... 以前也碰到了,有时直接手动修改也能解决,但总觉得不是这么回事,今天仔细找了下原因. 原因是缺少一下代码:…
用Yii2的console写了个脚本,在命令行执行都OK. 放到cron里面也按时去执行了,但就是执行的效果不对,console脚本执行结果不对. 查看之后的是由于yii脚本的php路径问题(跟目录下面的yii) 需要将一下代码的第一行,php换成你服务器上面的路径 #!/usr/bin/env php <?php /** * Yii console bootstrap file. * * @link http://www.yiiframework.com/ * @copyright Copyr…
在Yii2.0.6的时候我是在以下文件通过以下方法实现的. frontend/modules/user/Module.php namespace frontend\modules\user; class Module extends \yii\base\Module { public $controllerNamespace = 'frontend\modules\user\controllers'; public function init() { parent::init(); //该模块必…
本人很懒,所以喜欢找现成的东西来用,所以在载入默认值的时候我直接就选择了Yii2 自带的loadDefaultValues 问题来了,我提交的时候发现我在rules里面设置的default没有工作 ['user_id', 'default', 'value' => Yii::$app->user->id], 所以我直接跑到loadDefaultValues方法里面去看了下,做了个调试. 发现原来这边的默认值是加载的数据库里面的默认值,你在数据库里面修改默认值,他这边可以直接调出来,应该是…
自己总结的yii2 advanced 版本的简单的增删改查,希望对大家有所帮助 1.gii生成的actionCreate()方法中 获取插入语句的id $id = $model->attributes['id']; //或$model->id; 2.展示列表添加多选框 并设置属性 ['class' => 'yii\grid\CheckboxColumn', 'checkboxOptions' => function($searchModel){ return ['aid' =>…
1,打印ar或者query的原始sql: $query = (new \yii\db\Query())->select(['a.username','b.item_name'])->from(['a' => 'user'])->leftJoin(['b' => 'auth_assignment'], 'a.id = b.user_id')->where(['a.username' => 'admin'])->andWhere(['between', 'a.c…
最终显示的url格式为:http://localhost/yii2/frontend/web/site/about 在/config/main.php中 'components'=>[] 中添加如下代码: 'urlManager' => [ 'enablePrettyUrl' => true,//将?r=site%2Fabout美化为/site/about 'showScriptName' => false,//隐藏index.php 'rules' => [ ], ], 还…
yii2干货集:https://github.com/forecho/awesome-yii2 商城 samdark/yii2-shop composer global require "fxp/composer-asset-plugin:~1.1.0" composer create-project --prefer-dist --stability=dev samdark/yii2-minimal path/to/your/project omnilight/yii2-shoppi…
环境配置: 开启服务器伪静态 本处以apache为例,查看apache的conf目录下httpd.conf,找到下面的代码 LoadModule rewrite_module modules/mod_rewrite.so 将其前面的#去掉,如果没有找到则添加进去. 找到一下代码 <Directory "C:/phpStudy/Apache/cgi-bin"> AllowOverride All Options None Require all granted </Di…
Yii2的定时任务可以有两种写法,原理都是通过服务器的定时任务去调用 1.通过调用指定的URL访问 就相当于在浏览器中访问 2.通过console调用 下面我们就来说说Console 是如何实现定时任务的 一.首先在创建Controlle 并继承 yii\console\Controlle; <?php namespace console\controllers; use yii\console\Controller; class TestController extends Controlle…
准备引入layui.css文件的,在LayuiAssets类中已经配置了资源属性 <?php namespace frontend\assets; use yii\web\AssetBundle; class LayuiAsset extends AssetBundle { public $sourcePath = "@frontend/assets/app"; public $js = [ 'layer.js', 'layui.js', ]; public $css = [ '…
由于网络的原因使用composer安装Yii框架,实在太过痛苦,所以这里干脆就手动安装yii-imagine的扩展. 首先下载yii2-image和Imagine扩展库,点击链接就可以从百度云下载上传好的 然后将Image解压到vender目录下: 然后在将yii2-image解压到vender/yiisoft/yii2/image下: 然后在config/web.php配置中手动设置模块和别名, 注意,imagine是在component下面,aliases和component同一级别下.然后…
Yii的用户认证分为两个部分,一个是User组件,负责管理用户认证状态的,包括登录,登出,检测当前登录状态等,源文件位于vender/yiisoft/yii2/web/User.php.另一个是实现接口IdentityInterface的模型,同时必须继承ActiveRecord,当用户登录注册时,组件User会通过模型中的接口方法,对用户进行验证. 对于用户状态切换主要通过switchIdentity方法实现的,比如注册后,用户登录时,会用到User组件中的switchIdentity方法,如…
参考资料:http://www.bsourcecode.com/yiiframework2/how-to-create-custom-widget-in-yii2-0-framework/   如何使用yii2框架自定义widget   本教程教你如何自定义widget,widget是view中能被重用的代码块. 创建widget的步骤:   1 继承yii\base\Widget. 2 实现yii\base\Widget::init() 和 yii\base\Widget::run()方法  …
实现效果如下 1.把layDate封装成Yii2的widget,存在 "\common\widgets"目录下,命名为DycLayDate,具体引用查看代码. 2.对应的model的rules方法加上: [['cms_publish_date'], 'date', 'format'=>'yyyy-MM-dd HH:mm:ss' , 'message' => '{attribute}格式不正确', 'on' => ['createDo', 'updateDo'] ] 其…
官网关于Yii2 事务的说明文档 http://www.yiiframework.com/doc-2.0/guide-db-active-record.html Working with Transactions There are two ways of using transactions while working with Active Record. The first way is to explicitly enclose Active Record method calls in…
Yii2.0的view层提供了若干重要的功能:assets资源管理,widgets小组件,layouts布局... 下面将通过对Yii2.0代码直接进行分析,看一下上述功能都是如何实现的,当然细枝末节的东西不会过多赘述,如果你对此感兴趣又懒得自己去翻代码和文档,那么这篇博客可以快速的给你一个系统的认识. 基础渲染 这一节要谈的是view层是如何完成基础工作的,也就是根据用户传入的参数渲染出一个html页面. 用法 我们在controller里调用$this->render方法,第一个参数是要套用…