【Yii2 Day 8 配置多版本PHP】教程文章相关的互联网学习教程文章

yii2中关于加密解密的那些事儿

前言 Yii提供了方便的帮助函数来让你用一个安全秘钥来加密解密数据。数据通过加密函数进行传输,这样只有拥有安全秘钥的人才能解密。比如,我们需要存储一些信息到我们的数据库中,但是,我们需要保证只有拥有安全秘钥的人才能看到它(即使应用的数据库泄露)。 大家也都知道,我们做程序的时候,加密解密是绕不开的话题,使用yii2开发应用的时候,都内置了哪些有关加密解密(安全)方便的支持那?本文将为你揭晓。相关环境 操作系...

yii2安装详细流程【图】

本文为大家分享了yii2安装流程,供大家参考,具体内容如下 yii2 的资料很少,在网上搜了很多资料,综合着安装完之后,才发现他们都很不全面,以至于走了很多弯路 下面我把完整的安装流程介绍给大家: 前提:非常重要,你的php版本必须是php5.4以上1.首先需要下载应用模板,分为基础模板和高级应用模板,这里我以高级应用模板为例子: 去这里下载高级应用模板 2.下载完之后解压放在www目录我是放在 D:\wamp\www\yii2\advanced cmd d...

Yii2框架类自动加载机制实例分析

本文实例讲述了Yii2框架类自动加载机制。分享给大家供大家参考,具体如下: 在yii中,程序中需要使用到的类无需事先加载其类文件,在使用的时候才自动定位类文件位置并加载之,这么高效的运行方式得益于yii的类自动加载机制。 Yii的类自动加载实际上使用的是PHP的类自动加载,所以先来看看PHP的类自动加载。在PHP中,当程序中使用的类未加载时,在报错之前会先调用魔术方法__autoload(),所以我们可以重写__autoload()方法,定义当...

Yii2框架数据验证操作实例详解

本文实例讲述了Yii2框架数据验证操作。分享给大家供大家参考,具体如下: 一、场景 什么情况下需要使用场景呢?当一个模型需要在不同情境中使用时,若不同情境下需要的数据表字段和数据验证规则有所不同,则需要定义多个场景来区分不同使用情境。例如,用户注册的时候需要填写email,登录的时候则不需要,这时就需要定义两个不同场景加以区分。 默认情况下模型的场景是由rules()方法申明的验证规则中使用到的场景决定的,也可以通过...

yii2多图上传组件的使用教程

最近在使用yii2开发一个表单页面的时候,有多图上传的需求,稍微找了找这方面的组件,基本都安利fileInput这个组件,于是就尝试着使用这个库来完成后端表单页面的多图上传功能。使用的过程中发现还是有不少小细节需要注意的,于是记录一下使用的过程。 yii2-widget-fileinput 这个库的github地址在这里,安装的部分就很常规了,按文档走就可以了。 我们来看官方文档展示的几个常规操作: use kartik\widgets\FileInput // or use k...

Yii2 中实现单点登录的方法

本文介绍了Yii2 中实现单点登录的方法,分享给大家,具体如下:修改 /common/config/main.php 一、在 config 头部上加上以下代码 <?php // Session 跨域 $host = explode(., $_SERVER["HTTP_HOST"]); if (count($host) > 2) {define(DOMAIN, $host[1] . . . $host[2]); } else {define(DOMAIN, $host[0] . . . $host[1]); } 二、在 config 的 components 配置中加入 <?php user => [identityClass => common\models\User,enableAut...

bindParam和bindValue的区别以及在Yii2中的使用详解

bindParam() 和 bindValue() 非常相似。唯一的区别就是前者使用一个 PHP 变量绑定参数, 而后者使用一个值。对于那些内存中的大数据块参数,处于性能的考虑,应优先使用前者。根据id查询一条数据,并对id进行过滤: $id = 1; $result = Yii::$app->db->createCommand("select * from product where id=:id")->bindParam(":id",$id,\PDO::PARAM_INT)->queryAll(); $result = Yii::$app->db->createCommand("select * from product w...

Yii2中的场景(scenario)和验证规则(rule)详解

前言 场景,顾名思义,就是一个情景,一种场面。在yii2中也有场景,这个场景跟你所理解的场景含义差不多。和用户有交互的系统必不可少的功能包括收集用户数据、校验和处理。实际业务中,往往还需要将数据进行持久化存储。出于安全考虑,开发人员应当牢牢把握“客户端的输入都是不可信”的准则,客户端传过来的数据先进行过滤和清洗后再存储或传递到内部系统。 Yii2推荐使用Model类来收集和校验用户数据,持久化的ActiveRecord类是其...

浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势

本文介绍了使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势,分享给大家,具体如下: 官方文档:http://www.yiiframework.com/doc-2.0/guide-structure-assets.html 有兴趣的同学可以先看下官方原文档 文档样例代码 <?php namespace app\assets;use yii\web\AssetBundle;class FontAwesomeAsset extends AssetBundle {public $sourcePath = @bower/font-awesome; public $css = [ css/font-awesome.min.css, ];public $publ...

Yii2框架实现登录、退出及自动登录功能的方法详解

本文实例讲述了Yii2框架实现登录、退出及自动登录功能的方法。分享给大家供大家参考,具体如下: 自动登录的原理很简单。主要就是利用cookie来实现的 在第一次登录的时候,如果登录成功并且选中了下次自动登录,那么就会把用户的认证信息保存到cookie中,cookie的有效期为1年或者几个月。 在下次登录的时候先判断cookie中是否存储了用户的信息,如果有则用cookie中存储的用户信息来登录, 配置User组件 首先在配置文件的components...

Yii2中组件的注册与创建方法【图】

今天本来打算研究一下yii2.0的AR模型的实现原理,然而,计划赶不上变化,突然就想先研究一下yii2.0的数据库组件创建的过程。通过对yii源码的学习,了解了yii组件注册与创建的过程,并发现原来yii组件注册之后并不是马上就去创建的,而是待到实际需要使用某个组件的时候再去创建对应的组件实例的。本文大概记录一下这个探索的过程。要了解yii组件的注册与创建,当然要从yii入口文件index.php说起了,整个文件代码如下: <?php defin...

Yii2使用驼峰命名的形式访问控制器的示例代码【图】

yii2在使用的时候,访问控制器的时候,如果控制器的名称是驼峰命名法,那访问的url中要改成横线的形式。例如: public function actionRoomUpdate() { // } //访问的时候就要www.test.com/room-update这样访问最近在做某渠道的直连的时候,他们提供的文档上明确指出接口的形式:刚开始以为YII2中肯定有这样的设置,然后就去google了下,发现都说不行,自己去看了下,果然,框架里面直接是写死的:(源码)\vendor\yiisoft\yii2\bas...

Yii2框架可逆加密简单实现方法

本文实例讲述了YII2框架可逆加密简单实现方法。分享给大家供大家参考,具体如下: 加密: $data 是你要加密的内容 $secretKey 是你自己设置的salt $encryptedData = Yii::$app->getSecurity()->encryptByPassword($data, $secretKey);解密: $encryptedData 是你要解密的内容 $secretKey 是你自己设置加密时的salt $data = Yii::$app->getSecurity()->decryptByPassword($encryptedData, $secretKey);PS:关于加密解密感兴趣的朋友...

yii2中LinkPager增加总页数和总记录数的实例

本文介绍了php中LinkPager增加总页数和总记录数,分享给大家,也给自己留个笔记项目路径 vendor\yiisoft\yii2\widgets\LinkPager.php renderPageButtons方法中增加 /****增加总页数***/$buttons[] = Html::tag(li, Html::tag("span", 共.$this->pagination->getPageCount().页), [class=>$this->pageCssClass]);/****增加总条数***/$buttons[] = Html::tag(li, Html::tag("span", 共.$this->pagination->totalCount.条记录), [clas...

使用YII2框架实现微信公众号中表单提交功能

刚接触微信,要做一个在手机上的表单提交功能。 需求有这些: 只能在数据库中存在的手机号看到表单。表单可以重复提交。第一次进入表单需要验证分享出去的页面,别人进入后也需要验证。因为每个手机在同一个公众号当中的openid是唯一性的。所以在手机查看这个表单页面的时候,就将这个openid存到数据库中,方便下次提交可以验证。 下面是我的代码。使用的是YII2框架。 Controller //获得回调函数public function actionCallback($c...