近期观察研究了几十个php框架,在此总结下一些框架的常见问题,总结下怎样的框架容易受欢迎。
php框架之问题一: 为了实现框架而框架。
著名的诗人白居易说“文章合为时而著 歌诗合为事而作”, 对于程序而言,也要走到为解决问题为出发点;对框架而言,应走到为帮助程序解决问题为出发点,则自然步步为营,从理论到实践都合情合理,获得各个角落的用户支持。 但是很多框架不是这样的,它们从代码到作者自述都洋溢着一种对实现某些模式如MVC的喜悦,它们会说,看老子多牛逼(当然语言没有这么明显),用不到若干k代码就实现了MVC实现了模板系统实现了路由! 但是,作者们,你的框架目的是实现了这个模式,对用户来说,他们千方百计寻找或者偶然邂逅您这个框架,为的也是为了实现这些模式吗?
php框架之问题二: 能做到,但没让人明白怎样做。
也有很多框架,它们出于作者们多年实战,从刀耕火种茹毛饮血发展到面向对象第二次机器人世界大战,战无不胜攻无不克。但是,仅限于在作者手中。换到用户面前,就好像把钢铁侠N代丢给了一个收破烂的,因为没有足够的说明, 没有文档没有注释没有范例没有作者联系方式。怎么办,用户不知道,他们中很多人会因为看不懂这框架用不起来,或者部分看懂,把它拆解掉,变成回收利用的金属,加到自己的里面。嗯嗯这里面这个lib还是不错的,其他的,其他的太复杂了。
在这里暂停一下,有许多框架因为此二罪并罚,死掉了,不是吗? 那些你再找不到主页的框架,那些作者自己也懒得更新的框架。
php框架之问题三: 复杂规则
此类框架的特点在于,作者们除了实现某些模式外,也意识到必须让用户们明白如何用此框架斩妖除魔。但是,此框架虽然借鉴了很多其他框架思想的,万万不能让皇上们看出这其实是以前死掉的那个大明湖畔的夏雨荷的后代,必须换一种方式做同样的事情!比如,我们可以用数组做为各种配置的灵魂! php的数组实在太好用了, 我们只需要告诉用户,定义一个数组,里面写上某些东西,程序就会帮用户自动的做很多事情了。但是写什么东西好呢,让我们用一些语义化的英文单词吧。然后,再实现一套解释这些单词意义的程序…… ok,一大堆的词汇与调用规则,匹配着框架的各种概念,用户抓狂了?
php框架之问题四: 独门绝技
本框架有很多的lib,你只要按本框架规则(征服第三条,征服第二条),并且使用本框架load进来就可以用了! 不过,这个lib是必须继承本框架里某个类的,然后配合core使用。还有,有些文件你必须放到某些路径下……
php框架之问题五: 和Java一样!
也许你是一个非IT专业出身,半路出家为了养家糊口学php的草根,内心中一直若隐若现对牛逼语言和“企业级”开发的敬畏?从现在开始,本框架可以让你和牛逼的J2EE一样遵循23种设计模式引入各种容器,对象,xml,让你从此人生充满阳光充满自信。 比如,以后做个页面上面显示helloworld就不要写echo ‘helloworld’这种不入流的菜逼代码了,你要用我们这种参考了Java企业级框架的框架,先写一个XML,里面配置配置,这叫注入!然后,写一个entity,一个dao,一个控制器,一个model,一个view……最后在某处你写一个对象,里面不要用echo,而是调用某个其他对象来输出,这样就不会耦合得太厉害了,从而实现要修改helloworld为hellokity,就不必改你核心代码,只要去跟踪下这n个文件,找到定义hello的那个接口,找到实现hello的那个类,照样搞 个kity实现此接口……最后和你一起写代码的同事找不到world在哪里的时候,你就告诉他去读懂框架,源代码都在哪里还看不懂先学一下基本的架构思想!顺便上网发个帖鄙视一下现在的php的IT培训质量很差。