Heim >php教程 >php手册 >YII千万级PV架构经验分享--俯瞰篇--YII扩展演变

YII千万级PV架构经验分享--俯瞰篇--YII扩展演变

WBOY
WBOYOriginal
2016-06-13 09:40:141208Durchsuche

   hello,大家好,我是方少,看见有人想让我公开PPT,呃,我这就是从PPT上上传上去的,麻烦死人,还有PPT可以公开,想法可以交流,可是具体代码,结构,是不可能公开的,我不想被告,请大家见谅。好了,前面都是主要讲YII框架扩展宪法云里雾里的标准,今天开始上干贷了。先还是上传张美女吧,大半夜的提提神。

 网上盗了份yii整体执行流程图,嘿,太复杂了,看了就头疼,扫一眼就好了,毕竟网上挺火了,越复杂,越牛逼嘛。不过还是建议看下,万一有用呢?

 我就不看了,来张简单的,Yii 应用的静态结构

不要跟我说这个图看不懂,最简单的只有,index.php然后到controller而已,多输出几个hello word,就会了。不行看YII管方文档,那上面说的还比较详细。来看下本少画了半个小时的图吧,不懂的可以问噢,我详细的介绍一下。

Yii 预留扩展:

举几个例子来说明下为什么要这么浪费精力做这些事吧。建一个目录也是很麻烦死人的。

1.如果你是小型网站,后台系统,当我没说,你可以pass不看了。如果是高性能却数据量少,可以自己建个MVC。如果没有时间开发,直接用YAF,CI就好了。

2. 你继承的是CActivereCord,没有继承自己定义的 JActivereCord,或者其它。以后分库分表这些业务到时候你往哪里面实现?改掉项止所有继承关系,一下正则,然后重新测试,办法也不错。可是挺二的。

3.常用扩展封装,走配置的噢,所有组件全部是YII::app()->xxx .多例模式,也可以看作单例吧,这样的好处,组合模式,开始时,配置cache缓存用的是redis,最后觉得不爽,直接在配置里面把cache组件改成更高性能的apc,就OK了。不用动业务代码。当然,如果你非说,我的配置文件都是一键生成的文件缓存的,不走这个,我也没办法,业务无变,则不用解藕的。

4 安全是封装类是继承Ccontroller,反正多的是攻击,如果网站值钱了,不攻击你攻击谁?你到时侯也可以像CActivereCord一样,正则手法。呵

 

Yii 预留扩展要求:

1 扩展业务竟最大可能,不影响具体业务。具个例子,比如配置参数UserType,开始用UserType::model()->findAll(),UserType::model()->findByPk(id), 那么,用缓存apc也一样的。生成配置文件缓存,也不要影响具体调用方法。相同方法。

2 组件全部通过配置文件调用,这个自己把握吧。呵,不变的是不需要的,那也不是组件了,相当于一个函数而已,组件是可配置的N种可能。

3 在纸上画画和写代码哪个快?那个舒服,节省时间?肯定是纸上画画了,所以过渡设计是应该的。也不需要多少时间。画着画着,速度也就越来越快了。

 

搞定,明天继续发美女,累屁了。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn