YII千万级PV架构经验分享--俯瞰篇--YII扩展演变(2)
来源:互联网 发布:ubuntu 网络调试工具 编辑:程序博客网 时间:2024/05/05 20:19
网上盗了份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 在纸上画画和写代码哪个快?那个舒服,节省时间?肯定是纸上画画了,所以过渡设计是应该的。也不需要多少时间。画着画着,速度也就越来越快了。
- YII千万级PV架构经验分享--俯瞰篇--YII扩展演变(2)
- YII千万级PV架构经验分享--俯瞰篇--业务扩展演变(3)
- YII千万级PV架构经验分享--俯瞰篇--性能介绍(4)
- YII千万级PV架构经验分享--理论篇(1)
- php千万级pv架构经验分享
- 千万级PV架构
- 千万级PV网站架构
- 千万级PV网站架构
- PV千万级的架构如何实现
- 分享:从100PV到1亿级PV网站架构演变
- Yii Framework使用经验
- haproxy+keepalived千万pv架构
- Yii
- yii
- Yii
- yii
- yii
- yii
- 端点
- Filter过滤器
- 黑马程序员——Java学习笔记 多态和Object类
- JAVA字符串格式化-String.format()的使用
- [Leetcode 54, Medium] Spiral Matrix
- YII千万级PV架构经验分享--俯瞰篇--YII扩展演变(2)
- java基础---接口、抽象类、内部类
- python学习笔记---self
- error LNK2019: 无法解析的外部符号 ___glutInitWithExit@12,该符号在函数 _glutInit_ATEXIT_HACK@8 中被引用 1>GEARS.obj : er
- xcode使用workspace步骤 测试只需两步
- YII千万级PV架构经验分享--俯瞰篇--业务扩展演变(3)
- logrotate + crontab 配置tomcat日志超过特定大小分割
- log file sync总结
- hihocoder1165 益智游戏 (最多因子)