LotusPHP主要做了这几件事儿(分组件):
Lotus ToDo List
- Router和Url组件是一对,一个根据routr规则parse进来的url,一个根据route规则生成出去的url,共用同一个route rule
- Lotus存储三剑客可进一步抽象:多条操作(DB,Search)和单条操作(DB,Cache)
- ObjectUtil整合到lotus里面去,只有第一次singleton("LtCaptcha")时才初始化LtCaptcha组件
- DB的master/slave, queryType做成类常量
- DbHandle->query()增加queryType参数,lotus暂时parse不出来的queryType允许用户自己指定
- DbConnectionManager:在insert()和startTransaction()时将该缓存资源锁定,用完才释放,防止多线程操作产生脏数据
- Autoloader的tool借鉴Autoloader->parseLibNames(),用tokenizer查找include/require语句
- 将configHandle->get()的结果缓存为局部变量
LotusPHP Google地址:http://code.google.com/p/lotusphp/wiki/lotus_todo
Lotus component 开发应该遵循的原则
总的目标:所有组件都有一样的原则,互相不知道其他组件的存在
-
不和其他组件耦合,开发某个组件的时候,不能假定(或要求)其他组件存在
- 类名唯一
- 尽量回避static属性和方法(也有例外,ObjectUtil类就有两个static方法),要允许用户继承,须实例化才能运行.
- 提供init()方法,初始化必要的资源
- 使用简单,少用getter/setter方法
- 配置单独放在xxxConfig类里,xxx->conf = new xxxConfig;
-
命名空间,组件类都以Lt开头,如class LtCache
- component class本身并不实现singleton模式(就是说component不提供getInstance()之类的方法),更不能依赖singleton,用户可以用ObjectUtil::singleton()来实现所有类的singleton模式:ObjectUtil::singleton("ComponentName")
- 若组件由多个类组成,不处理各类之间的包含关系,不用include/require,文件包含由用户自行解决,例如使用lotusphp的autoloader,或者直接include/require进来
- 组件的php文件只有class定义,没有自动执行的语句.当这些文件被include时,除了定义这些类,不会发生其他动作(比如输出字串,发送header,创建文件,变量赋值等等)
- 不依赖绝对路径,可配置
- 涉及界面输出的地方不能写死,允许用户自定义,比如分页类输出的html是什么风格,应该让用户自定义
-
提供simplest, work with lotus两种示例
|
分享到:
相关推荐
自己压缩后的 demo ,去除了 lotusphp 框架,修改了下目录结构,简化了很多内容,保留了其他 SDK 文件,希望能帮到你们。
支付宝支付优化,去除lotusphp框架,让支付宝接口开发更符合自身网站需求。
根据官方PHP SDK DEMO改写,去除了SDK中的lotusphp框架,改成支持PSR4命名空间导入方式使用,并且重新封装接口,更便于调用。
lotusphp 是一个 PHP 框架,是 kiwiphp 的继任者。 标签:lotusphp
精简后演示包只有26个文件,摘掉大量没用到的文件,经过亲自测试完整无错!
简单优化支付宝接口,解决在window下正常使用却不能在Linux使用的问题
Lotus事件详细介绍(经典)Lotus事件详细介绍(经典)Lotus事件详细介绍(经典)Lotus事件详细介绍(经典)Lotus事件详细介绍(经典)
Lotus Domino BS开发--熟悉并使用Lotus的各种设计元素--BS框架介绍
lotus命令集lotus命令集lotus命令集lotus命令集lotus命令集lotus命令集lotus命令集lotus命令集lotus命令集lotus命令集lotus命令集lotus命令集
Lotus Domino 8.5 ID Vault 新功能介绍及体验
Lotus公司的即时通讯和网络会议软件(Lotus Instant Messaging and Web Conferencing)的前身是Lotus Sametime,多年以来在商用IM领域中一直是独占鳌头。它具有丰富的功能和互操作性。支持跨平台,可提高个人和团队...
lotus workflow的工作机制,对于初学者有一定的理论上理解
IBM lotus domino server 7.0
lotus lotus12lotus lotus12lotus lotus12lotus lotus12lotus lotus12
lotus开发集锦收集了一些domino开发的实例,以及一些源码和库
lotus lotus lotus lotuslotus
lotus8 lotus8 lotus8 lotus8
Lotus Domino基础知识,1.1 Lotus历史 1.2 Domino&Notes;系统架构 1.3 Domino&Notes;应用
lotus lotus lotus lotus lotus lotus
Lotus Domino BS开发--Lotus Domino Designer环境介绍