`
mixer_a
  • 浏览: 364437 次
社区版块
存档分类
最新评论

Lotus PHP框架介绍(淘宝 LotusPHP SDK)

 
阅读更多

LotusPHP主要做了这几件事儿(分组件):

Lotus ToDo List

  1. Router和Url组件是一对,一个根据routr规则parse进来的url,一个根据route规则生成出去的url,共用同一个route rule
  2. Lotus存储三剑客可进一步抽象:多条操作(DB,Search)和单条操作(DB,Cache)
  3. ObjectUtil整合到lotus里面去,只有第一次singleton("LtCaptcha")时才初始化LtCaptcha组件
  4. DB的master/slave, queryType做成类常量
  5. DbHandle->query()增加queryType参数,lotus暂时parse不出来的queryType允许用户自己指定
  6. DbConnectionManager:在insert()和startTransaction()时将该缓存资源锁定,用完才释放,防止多线程操作产生脏数据
  7. Autoloader的tool借鉴Autoloader->parseLibNames(),用tokenizer查找include/require语句
  8. 将configHandle->get()的结果缓存为局部变量

LotusPHP Google地址:http://code.google.com/p/lotusphp/wiki/lotus_todo

Lotus component 开发应该遵循的原则

总的目标:所有组件都有一样的原则,互相不知道其他组件的存在

  1. 不和其他组件耦合,开发某个组件的时候,不能假定(或要求)其他组件存在
  2. 类名唯一
  3. 尽量回避static属性和方法(也有例外,ObjectUtil类就有两个static方法),要允许用户继承,须实例化才能运行.
  4. 提供init()方法,初始化必要的资源
  5. 使用简单,少用getter/setter方法
  6. 配置单独放在xxxConfig类里,xxx->conf = new xxxConfig;
  7. 命名空间,组件类都以Lt开头,如class LtCache
  8. component class本身并不实现singleton模式(就是说component不提供getInstance()之类的方法),更不能依赖singleton,用户可以用ObjectUtil::singleton()来实现所有类的singleton模式:ObjectUtil::singleton("ComponentName")
  9. 若组件由多个类组成,不处理各类之间的包含关系,不用include/require,文件包含由用户自行解决,例如使用lotusphp的autoloader,或者直接include/require进来
  10. 组件的php文件只有class定义,没有自动执行的语句.当这些文件被include时,除了定义这些类,不会发生其他动作(比如输出字串,发送header,创建文件,变量赋值等等)
  11. 不依赖绝对路径,可配置
  12. 涉及界面输出的地方不能写死,允许用户自定义,比如分页类输出的html是什么风格,应该让用户自定义
  13. 提供simplest, work with lotus两种示例

Comment by project member gxd...@gmail.com, Aug 31, 2009

还是要考虑框架的定位,是易用还是高效,是追求高可配置型,还是追求集中配置。

建议基于php5.3开发,有很多新的特性可以使用,哈哈。

分享到:
评论

相关推荐

    去掉 lotusphp 框架的支付宝SDK

    "去掉 lotusphp 框架的支付宝SDK"这个主题恰好涉及了这一领域,特别是对于那些使用非 LotusPHP 框架或者希望简化集成过程的开发者而言。LotusPHP 是一个基于 PHP 的轻量级框架,但并不是所有项目都适合使用框架,...

    支付宝支付去除lotusphp框架

    "支付宝支付去除LotusPHP框架"这个话题涉及到如何优化支付宝支付接口,使其更适应自身的网站架构。 首先,理解LotusPHP框架的作用是关键。LotusPHP是一个轻量级的PHP框架,旨在简化Web应用的开发,包括数据库操作、...

    去掉lotusphp框架的支付宝SDK 支持PSR4

    本案例中,我们关注的是一个针对支付宝支付接口的SDK(Software Development Kit)优化项目,具体是针对"LotusPHP框架的支付宝SDK"进行改造,使其符合PSR4规范并增强易用性。 首先,让我们深入理解一下这些关键术语...

    alipay-sdk-PHP-20150312220100

    3. **lotusphp_runtime**:此文件夹可能包含了运行时环境或者特定框架的适配器,例如对于LotusPHP框架的支持。这使得SDK能够无缝集成到基于LotusPHP的项目中,提供便利的支付功能。 使用支付宝SDK进行PHP开发时,...

    支付宝php-sdk demo原版

    `lotusphp_runtime`可能是运行时环境或者特定框架的配置文件,如果开发者使用了特定的PHP框架(如LotusPHP),这些文件可能包含框架的配置和运行时数据。对于单纯使用SDK来说,这部分内容不是必须的,但对于理解整个...

    alipay-sdk-PHP-3.3.3.zip

    "lotusphp_runtime"可能是运行环境或者框架相关的内容,这可能表明该SDK是基于LotusPHP框架进行开发的,或者是与LotusPHP兼容的。如果开发者正在使用或计划使用LotusPHP,这个目录将提供必要的支持,使得集成支付宝...

    alipay-sdk-PHP-20150527120051

    3. lotusphp_runtime:这部分可能是运行时环境或特定框架的辅助文件,例如在LotusPHP框架下运行SDK时所需的一些配置或工具类。 4. .idea:这是一个IDE的项目配置文件,通常包含有开发环境的设置信息,对于实际的...

    支付宝demo,放在vender目录下

    开发者可以学习这个目录下的代码,理解如何在LotusPHP框架中集成支付宝服务。 总结来说,支付宝Demo是为了方便开发者快速理解和使用支付宝的各种API。通过研究`AopSdk.php`了解核心接口,查看`version.txt`跟踪版本...

    支付宝最新PC版PHP接口demo

    **、**pagepay**、**aop**:这些可能是特定的库或模块,例如`lotusphp_runtime`可能是运行时环境,`pagepay`可能包含了处理页面支付的功能,而`aop`可能指的是阿里巴巴开源的面向切面编程(AOP)框架。 为了成功...

    支付宝手机支付demoPHP

    `lotusphp_runtime`目录可能包含的是运行时环境或者框架相关的内容,如配置文件、缓存、日志等。在集成支付宝支付时,开发者通常需要配置自己的应用ID、私钥、公钥等信息,这些信息可能在这个目录下的某个配置文件中...

    编写知名软件所用的语言.docx

    - Google Android:最初基于C,但现在有原生的C语言SDK。 2. **图形界面层**: - Microsoft Windows UI、Apple MacOS UI (Aqua)、Gnome和KDE:主要采用C++。 - Beagle:在Linux、Windows和UNIX下使用C#,基于...

Global site tag (gtag.js) - Google Analytics