分类: 系统运维
2011-05-20 15:36:23
1.本框架是针对本项目单独开发的,不以通用框架为目标.
2.只适用于MYSQL数据库,不适用于其它数据库.
3.设计目标是每天百万级访问量.如访问量增长,需要对框架进行修改扩充.
框架功能:
1.MVC分离
1.controller目录中存储控制器(controller)类,文件命名为xxxx.controller.php ,类命名为 Cxxxx 统一继承控制器基类(SController)
2.model目录中存储模型(model)类,文件命名为xxxx.model.php 类命名为 Mxxxx 统一继承模型基类(SModel)
3.view 目录中存储视图(view)文件,文件命名为xxxx.html
4.统一入口,index.php
2.定制开发的模板系统
1.尽可能避免在页面中书写PHP代码
2.模板语言尽可能与PHP相同,以减少学习成本
3.模板功能尽可能简单,以减少运行成本
4.模板文件会自动编译并缓存,编译后的文件存放在cache目录中
5.具体功能请参考system/template.system.php中的注释及源代码
3.Memcache缓存功能
1.集成了Memcache功能,但可以使用配置开关进行管理
2.数据库访问自动集成缓存功能
3.如需要独立的缓存功能,可调用SMemcache::getHandle()方法
4.配置管理功能
1.所有的配置文件存储在config目录下,命名为xxxx.config.php,文件格式为PHP数组
2.系统配置文件为 system.config.php 其中包括核心配置
3.应用配置文件为 application.config.php 其中包括项目应用逻辑的配置信息
4.还有一些其它的配置文件,为指定的功能所使用.
5.访问配置,使用SConfig类的方法, 由于类比较简单,请参考源代码 system/config.system.php
5.数据访问层
1.避免直接访问数据库
2.所有的Model类单例化
3.SModel基类已经实现了 增,删,改,查的方法 insert,delete,update,select
4.复杂查询或修改,可使用query及execute方法
5.具体使用,请查看system/model.system.php 源代码
6.内部URL重写功能
1.由Apache将所有访问请求(除去静态文件)定向到index.php
2.SRouter类负责解析URL,并派发到相应的控制器(controller)的方法(action)中
3.模板中使用url方法生成具体访问地址,禁止直接书写访问地址
4.具体请查看system/router.system.php
7.JS及Ajax相关
1.前端控制以Jquery为主,以直接DOM操作为辅
2.控制器基类SController已经实现一些常用的Ajax配合功能
3.public.js中实现了主要的JS功能
4.项目中的JS代码有两种:临时功能直接书写在模板文件中,直接命名;共享功能书写在public.js中,以luxury为命名空间
8.前端表单验证
1.可使用luxury.validate
9.开发调试功能
1.全局配置 debug如开启,则所有页面下方会显示本次访问所产生的SQL语句以及查询时间,同时会在log目录中生成访问日志