
YII框架学习
混血王子1996
这个作者很懒,什么都没留下…
展开
-
YII2框架学习 高效篇(二) 数据缓存
在实际的网站中,访问量大的话就会出现缓存如何处理的这个问题。我之前发布的redis数据库就是专门用于这个的。真的巧,最常用的两种缓存数据库memcche和redis。YII偏偏选择了memcche。不过没关系,这样又可以学一种常用的缓存数据库了。1.增删改查按惯例,数据库的四大操作 //获取缓存组件 $cache = \YII::$app->cache原创 2017-06-11 17:02:04 · 4606 阅读 · 0 评论 -
YII2框架学习 高效篇(三) 片段缓存与页面缓存
实际网站建设中,对于不经常改变的部分(比如商品目录)可以使用片段缓存的技术进行缓存。先来一个小例子,通过beginCache()和endCache()方法实现<?phpif( $this->beginCache('cache_div')) { ?> 缓存adad <?php $this->endCache();}?>原创 2017-06-11 20:38:38 · 5598 阅读 · 4 评论 -
YII2框架学习 高效篇(四) http缓存
前面学习了几种YII框架里面的缓存,今天继续新的学习。当用户在较短时间内多次通过浏览器向服务器发送数据请求时(比如抢票,抢购),如果服务器每次都完整回复的话,势必影响服务器的性能。为了应对这种情况,YII框架提供了http缓存的解决方案。大致过程就是,服务器向浏览器发送数据时,附上该数据的特征码(etag)或者时间(lastModified),在浏览器下次向服务器发送改请求时,附上这段信息。如果检原创 2017-06-12 21:10:53 · 4674 阅读 · 0 评论 -
YII2框架学习 安全篇(四) sql注入攻击和防范
先看百度百科的介绍,SQL注入攻击是黑客对数据库进行攻击的常用手段之一。随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即S原创 2017-06-21 20:59:51 · 3273 阅读 · 0 评论 -
YII2框架学习 安全篇(五) 文件上传漏洞
最后一节,文件上传漏洞。最近几天搬家,偷了个懒几天没更了,今天继续。先看看这篇http://www.h3c.com/cn/About_H3C/Company_Publication/IP_Lh/2014/05/Home/Catalog/201408/839582_30008_0.htm 对文件上传漏洞的攻击和防御有个大概的了解。常见的简单防恶意文件上传的方法就是检验后缀名是否为正常文件的后原创 2017-06-26 22:18:45 · 2892 阅读 · 0 评论 -
yii在Linux上面碰到的问题
之前把yii框架代码传到服务器报500,今天晚上把这些问题都解决了,写个笔记。首先是位于日志里面的错误[Wed Jul 05 23:18:25 2017] [error] [client 1.202.127.129] PHP Fatal error: require(): Failed opening required '/data/www/default/basic/web/../ve原创 2017-07-05 23:47:31 · 4423 阅读 · 0 评论 -
YII2框架学习 高效篇(五) Gii工具
Gii是自动生成 Web 站点常用功能代码的工具,这次高效篇的最后一讲就是对Gii工具进行学习。输入http://localhost/basic/web/index.php?r=gii就可以进到gii设置界面了。附官方文档地址:http://www.yiichina.com/doc/guide/2.0/start-gii1.数据模型生成器的使用1)先运行mysql,然后在gii界面Mo原创 2017-06-12 22:21:20 · 4530 阅读 · 0 评论 -
gii功能在非本地开发时开启
把yii放到云服务器上面后,有了固定ip,不是通过localhost访问了,这个时候访问basic/web/index.php?r=gii 看gii工具发现用不了。 需要改config里面的web.php $config['modules']['gii'] = [ 'class' => 'yii\gii\Module', // uncomme原创 2017-07-06 13:59:17 · 4058 阅读 · 0 评论 -
gii在linux服务器上面无法生成代码的问题
很可能是apache权限不够的问题,直接chmod -R 777 basic 就可以修改了。原创 2017-07-06 14:18:04 · 4073 阅读 · 0 评论 -
YII框架学习 linux下yii2安装教程
安装Yii最好的方式就是使用Composer安装,所以我们需要安装Composer,但是为了安装Composer,我们需要安装一下关于Composer和Yii2的许多扩展包,别担心下面的教程会教你所有的步骤。我们大部分的工作都是在linux终端执行的,我会给出所有的操作命令,你只需要拷贝这些命令并且在你的终端上运行即可。那我们现在就开始吧,首先通过工具连接到你的linux终端(比如putt转载 2017-06-22 22:05:41 · 730 阅读 · 0 评论 -
YII2框架学习 扩展篇(四) 依赖注入
看了一些介绍,感觉都说得不够透彻啊。我个人简单举个例子,就是在搜索的时候,把所有可变条件都作为参数输入,这样可以实现代码最大程度的复用,增加代码的扩展性。不过,YII框架这种情况提供了其他相应的方案,先看看容器方式的实现。说实话,我自己没看很懂,半知半觉,以后花时间好好研究一下,我怎么感觉这都不像php了,可能是因为没有接触过重型框架容器 定义并解决依赖关系namespace app原创 2017-07-01 21:45:06 · 2150 阅读 · 0 评论 -
YII2框架学习 基础篇(二) YII2数据库操作
实际项目中PHP肯定离不开数据库,YII框架有很多针对数据库的操作,学习一下。学习YII框架数据库指令的同时,也可以学到YII框架的数据模型,一石二鸟啊。另外,昨天发布了第一篇后,发现有几十个人看了我的http://blog.youkuaiyun.com/m0_37645820/article/details/72855543,YII2框架学习 基础篇(一)。自己看了看,排版太差了,以后好好写。1.xma原创 2017-06-04 21:31:50 · 6943 阅读 · 1 评论 -
YII2框架学习 安全篇(一) XSS攻击和防范(上)
在如今的web开发中,网络安全,信息安全应该是最重要的一环。常见的攻击主要有四类,XSS攻击、CSRF攻击、SQL注入和文件上传漏洞。在接下来的安全篇里,我会依次说明YII框架是如何应对这些攻击的。本篇要学习的就是XSS攻击和防范之存储。XSS攻击的意思是跨站脚本攻击,XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包原创 2017-06-15 21:02:36 · 2558 阅读 · 0 评论 -
YII2框架学习 扩展篇(二) 事件机制
今天学习YII框架的事件机制,某个对象可以抛出一些事件,而其他的对象可以监听这些事件,然后调用相应的方法。而具体的实现方式可以分为扫描式和绑定式。而YII框架使用的就是绑定式。下面来详细讲解一下。所谓绑定式,是由事件执行时,通过Component类下的trigger()方法抛出事件,然后通过on()方法来绑定其他对象对此事件的反应。下面通过一个简单的猫叫老鼠跑的例子来说明。这个一个一对一的事件原创 2017-06-28 20:54:19 · 2262 阅读 · 0 评论 -
YII2框架学习 扩展篇(三) Mixin技术
Mixin就是混合的意思,分为类的混合与对象的混合。类的混合类似C++的多重继承,对象的混合就是把不同对象的属性和方法加到一个新的对象里面去。YII框架提供了一种叫做行为的方法实现Mixin技术。下面是官网的介绍:一个行为 behavior (也被称为 Mixin)能被用来增强一个已有组件的功能而无需修改该组件的代码。特别是,一个行为可以注入其方法和属性到这个组件中,使得它们可以像组件自身的方法和原创 2017-06-28 22:15:47 · 2190 阅读 · 0 评论 -
YII2框架学习 安全篇(二) XSS攻击和防范(下)
坚持写博客真不容易,618抢购中断了一波就不想写了。接着XSS攻击和防范(上)继续讲基于反射的XSS攻击。1)非法转账(基于反射的XSS攻击)上周说的yii框架会让浏览器自动过滤js代码是不太准确的,一般是把js代码重新编码并加双引号变成字符串了。但是,要注意的一点是防止js代码越狱,脱离编码和双引号。类似于",alert(3)//" 这种。这种时候只要把双引号也重新编码就可以防止越狱原创 2017-06-19 21:06:32 · 2803 阅读 · 0 评论 -
YII2框架学习 基础篇(一)
YII2框架作为现在比较流行的重型框架,最近利用端午和本周的时间对其进行了学习。对学习的总结一下,重点有二。其一是mvc结构的学习。其二是此框架对数据库的操作。 一,YII2框架是典型的MVC结构,即数据模型,视图和处理器模块。利用XAMPP在本地建站后,从www.yiichina.com下载源码,IDE为phpstorm。搭建完毕之后进到http://localhost/ba原创 2017-06-03 22:45:35 · 6510 阅读 · 0 评论 -
Yii2 Class not found、命名空间、找不到类的解决办法
定义类你只要记住这三点就可以了1、class里面指定的是 类(包含命名空间)2、类的命名空间一定要和目录结构一致3、类的名称一定要和文件的名称一致引入类如果想自己引入其它的类,需要记住这三点php不像其它的语言,在使用一个方法、一个类的时候必须要先引入,要不然它是找不到的。在Yii中引入方式有三种1、使用include、require,学php的都知道,这个就不转载 2017-06-28 23:00:19 · 13154 阅读 · 0 评论 -
YII2框架学习 安全篇(三) csrf攻击和防范
继续讲web安全,这次讲到的是csrf攻击(跨站请求伪造)。看到一篇博客这么介绍csrf:你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的问题包括:个人隐私泄露以及财产安全。发个例子说明一下,例子转载自http://www.cnblogs.com/hydd原创 2017-06-20 21:03:33 · 2321 阅读 · 0 评论 -
YII2框架学习 高效篇(一) 延迟加载
高效是YII框架的一个特点,在对YII框架的基础进行了学习之后,当然也要对YII框架是如何达到高效运行进行学习。首先针对YII的延迟加载进行学习1. 类的延迟加载在原生php中,我们一般是之间把所需的类直接全部require加载。但是,某一次的页面加载不一定会用到所有的类(比如加了if判断等等),如果可以在这个类确定用到之前再加载,想必可以使页面更高效。而YII就提供了spl_autolo原创 2017-06-08 22:32:01 · 5115 阅读 · 0 评论 -
YII2框架学习 扩展篇(一) 模块化设计
模块化设计是指把一个系统分成若干个子模块,组合完成系统设计。比如讲一个博客系统分成:用户管理模块;文章管理模块;评论模块;广告模块。而子模块又可以继续细分,比如用户模块可以划分为:密码管理模块,用户信息模块等等。 细分子模块时,应该有一个配置文件控制各个子模块的开启。接下来学习YII框架的模块化设计,首先要打开gii工具,http://localhost/basic/web/index.php原创 2017-06-27 21:11:13 · 1654 阅读 · 1 评论