频道栏目
首页 > 资讯 > 网络编程 > 正文

不一样的项目,不一样的PHP

16-02-24        来源:[db:作者]  
收藏   我要投稿

在首页看到一篇文章 PHP做Web项目标优毛病, 自己也来空话几句。

  实在PHP是一个很优良的工具,它可以简略,也可以复杂。不一样的项目,应当用不一样的PHP。

  小项目 - 简略而直接的PHP

  一般对于一个功效页面在20以下的网站,我们可以用一个很简略的框架结构来写。在这个范围上,我建议是应用比拟直接的面向过程编码方法,原因很简略,没有必要把class文件弄的N 多,成果controller里边就一个new就完了。当然,需求频繁变更的项目除外。

  在这个级别上,php长处表现的很明显:快速开发,一目了然。毛病同时也被暗躲得很好。

  中型项目 - 结构精美的OO化的PHP

  对于一个中型项目,我建议应用一个良好设计的框架来做,这个框架可以是基于MVC模型,封装了众多底层把持的,当然,必定要有一个好的最好是透明的cache机制,这样,我们为了适应变更而参加的OO机制可以运行得更快更好。

  在这个级别上。php的毛病开端凸现,像对OO支撑的不完整(这个PHP5有很大改良),只能单线程模式。另外一些外围工具开端呈现缺乏支撑,像PHP没有好的重构工具,没有好的集成到IDE中的单元测试工具。长处当然还是本来的快速开发,广泛的可用的开源资源。

  大型项目 - 扩大、优化后的PHP

  这里的大型项目,简略的指散布式项目,就是说,你的程序需要被安排在N台服务器上了。在这个层级上,PHP比起j2ee的确缺乏很多支撑。我曾和shadow在735上具体讨论过PHP要在大型系统上利用需要解决的一些标题,当然这些标题不光是PHP这个语言的标题,也包含了周边开发的标题:

  1 PHP的页面代码共享,PHP的源代码被载进内存一次以后,就在其中保留 - 这个用APC和Zend的优化器可以搞定。

  2 PHP页面之间的数据对象共享,a.php和b.php之间可以共享一个数据对象,比如数组,这个现在可以用序列化来作,但是会有文件io,这块可以用共享内存或者memcached来处理。

  3 PHP的数据库连接池,由于在多前真个情况下,PHP把持不住对数据库的连接,所以需要在数据库前边往作一个连接池,类似于sqlrelay的东西。另外数据缓存也是很重要的,大压力开发有一个tip,就是能不动数据库就不要动数据库。

  4 PHP的前端cache系统。一个透明的可把持的cache机制,确保网站的页面以最少次数查询数据库。这个有很多实现,但是没有找到特别好的。

  5 上回说到这里时汽车就到站了 呵呵 ^_^ 不过我认为,一个PHP利用,成功的解决调这几个标题以后,敷衍稍微大一点的压力是没有什么标题的。

  在这个级别上,我们就不再往谈什么长处毛病了,重要的是,把PHP java C python之类融合起来,使其成为一个高效系统。我们可以用memcached来做散布式内存治理,可以用 Lucene 来作全文检索,用ejb 容器来放一些业务逻辑组件,PHP则作为前端和系统的胶水,快速而机动的把这些东东粘合起来。

相关TAG标签
上一篇:对Web Service进行简单的介绍
下一篇:PHP与Web Service交互实例
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站