目前为止,Web开发框架只接触过ThinkPHP,而且正在学习其源码,并试着用ThinkPHP写了一个简单的CMS,取名为“efucms”,源码托管在GitHub上,存放在这里:https://github.com/phplaber/efucms 。写这样一个CMS,主要是为了学习ThinkPHP。
经过一段时间的学习和使用,感觉学习ThinkPHP还是挺实在的。首先,ThinkPHP是轻量级开发框架,如果有兴趣,去深入学习其源码也是完全有可能的。其次,官方提供的开发文档非常详细,至少2.1版本是如此,因此学习成本不会太高,可以快速的上手。最重要的是,ThinkPHP具有非常好的扩展性,可以满足各种不同的业务需求。
从ThinkPHP框架中,我学到了一些Web开发框架有用的要素,如果我自己写一个框架,我会特别留意这些要素。为了备忘,将这些好的要素贴在这里:
- 有一个“项目入口“和一个“框架入口”。
- 遵循“惯例优于配置”原则。
- 具有编译机制,能将框架核心文件编译在一个文件中,减少I/O开销。
- 采用MVC架构模式对应用分层。
- 遵循“低耦合”原则。
- 具有一致的报错机制。
- 具有函数库。
- 使用现有的解决方案(可选)。
- 扩展性。
- AR模式?
- 根据URL执行不同的操作。
(完)