对于 PHP Web 开发来说, 框架很重要, 但其实框架又不重要. 说重要, 是因为确实需要一个框架来建立一套规范, 对文件组织, 类和方法的编写, 数据库操作等进行引导. 说不重要, 是因为对于 PHP 开发, 没有哪一个框架最必须的, 不是框架不给力, 而是 PHP 的世界从
对于 PHP Web 开发来说, 框架很重要, 但其实框架又不重要. 说重要, 是因为确实需要一个框架来建立一套规范, 对文件组织, 类和方法的编写, 数据库操作等进行引导. 说不重要, 是因为对于 PHP 开发, 没有哪一个框架最必须的, 不是框架不给力, 而是 PHP 的世界从来就没有呼唤这样的框架的出现.
在 PHP 框架既重要又不重要的事实面前, 所有的 PHP 框架必须是轻量级的, 如果一个 PHP 框架非常重, 那么它肯定没有前途, 不是流行不起来, 就是流行很短暂便沉寂.
我建议每一个团队都开发自己的 PHP 框架, 简单就好. 最好是那种 3 天就开发出来的框架, 而不是那种憋了一年半载才勉强做出来奇怪且复杂的框架. 这种框架必须是透明的, 即使是新手也能一眼看穿框架的核心. 如果做不到的话, 我建议还是换人(没错, 这种情况下人应该被换掉).
对于 PHP 框架, 我有一些要求:
1. 不能做太多事
PHP 框架不要总想做所有事, 缓存系统不需要框架来做, Session 管理也不需要, 存储层封装不要太过度以至搞出各种恶心的 ORM, ActiveRecord 之类的无用功能. 这些功能和模块, 应该独立于框架, 采用成熟的技术.
2. 不要"创造"所谓的模板语言
PHP 语言本身就是模板语言, PHP 做模板语言对于 PHP Web 来说是最完美的, 可维护性和培训成本最佳的语言, 只需要再多说一两句话规范即可: 仅使用 echo 及允许的帮助 echo 的函数, 和 if/for/while. 我十年前不认同 smarty 这类模板工具的意义, 十年后也不认可这类毫无意义的寄生于 PHP 的工具.
3. 使用 PHP 框架的最佳状态是忘掉框架
框架要足够简便, 功能恰到好处, 没有不必要的限制, 这样在使用的过程中才能让人忘掉框架的存在, 以便能将精力放在业务本身. 当需要开发一个功能时, 程序员想的不应该是"框架能不能做", 而是"我能不能做".
4. 最后
我自己也开发了一个轻量级的 PHP 框架, 命名为 iphp. iphp 非常简便和轻量, 全部有效代码不过一千行. iphp 只解决 Web 开发中最重要的问题: 代码组织, URL路由和URL生成.
这个框架用来开发了 SSDB 数据库的图形化界面管理工具 phpssdbadmin(开源项目). 如果你去看 phpssdbadmin 你就会发现, iphp 做到了前面的要求, phpssdbadmin 的用处几乎都没有注意到 PHP 框架的存在.
相关链接:
iphp 框架入门
iphp 框架如何生成 URL?
Related posts:SSDB 数据库的图形化界面管理工具 – phpssdbadmin
iphp框架常用函数
if-else对优化代码冗余度的反作用
PHP浮点数显示和转成字符串
WordPress分页代码