如何使用php开发高效的WEB系统

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则作为前端和系统的胶水,快速而灵活的把这些粘合起来。

时间: 2024-12-31 20:00:28

如何使用php开发高效的WEB系统的相关文章

解答:如何使用PHP开发高效的WEB系统

PHP是一个很优秀的工具,它可以简单,也可以复杂.不一样的项目,应该用不一样的PHP. 小项目 - 简单而直接的PHP 一般对于一个功能页面在20以下的网站,我们可以用一个很简单的框架结构来写.在这个规模上,我建议是使用比较直接的面向过程编码方法,原因很简单,没有必要把class文件弄的N 多,结果controller里边就一个new就完了.当然,需求频繁变化的项目除外. 在这个级别上,php优点表现的很明显:快速开发,一目了然.缺点同时也被隐藏得很好. 中型项目 - 结构优美的OO化的PHP

如何使用PHP程序开发高效的WEB网络系统

  PHP是一个很优秀的工具,它可以简单,也可以复杂.不一样的项目,应该用不一样的PHP. 小项目 - 简单而直接的PHP 一般对于一个功能页面在20以下的网站,我们可以用一个很简单的框架结构来写.在这个规模上,我建议是使用比较直接的面向过程编码方法,原因很简单,没有必要把class文件弄的N 多,结果controller里边就一个new就完了.当然,需求频繁变化的项目除外. 在这个级别上,php优点表现的很明显:快速开发,一目了然.缺点同时也被隐藏得很好. 中型项目 - 结构优美的OO化的PH

PHP开发高效WEB系统的技巧讲解

通过对PHP语言的学习,大家知道它是一门功能强大的计算机语言,被许多程序员用来开发网站.接下来我们将为大家介绍PHP开发高效WEB系统的相关绩效. PHP开发高效WEB系统小项目 - 简单而直接的PHP   一般对于一个功能页面在20以下的网站,我们可以用一个很简单的框架结构来写.在这个规模上,我建议是使用比较直接的面向过程编码方法,原因很简单,没有必要把class文件弄的N 多,结果controller里边就一个new就完了.当然,需求频繁变化的项目除外. 在这个级别上,php优点表现的很明显

开发高效率企业动态Web系统

web|动态 由Sun等多家公司推出的JSP动态网页技术已经广泛流行.它继承了Java的跨平台.可移植.高性能等特点,使得在功能和安全性能上都优于Microsoft公司的ASP.很多JSP程序设计者在使用JSP进行动态网站开发时,认识到使用JavaBean技术进行功能封装的重要性,但是却忽视了Tag Library这一关键技术的使用.众所周知,HTML语言就是一种纯标记语言,如果要实现设置"Hello"为红色字体的功能,只需用<font color="red"

界面-求大神过来看看,web系统java开发的,中间件用的是tomcat,如果像控制用户登录数怎么解决

问题描述 求大神过来看看,web系统java开发的,中间件用的是tomcat,如果像控制用户登录数怎么解决 求大神过来看看,web系统java开发的,中间件用的是tomcat,如果像控制用户登录数怎么解决?想做一个如果用户数连接达到500人,那么再有新用户访问网站就跳转到友好界面,如何做?是在TOMCAT里面可以设置,还是程序里面可以控制,求代码方案 解决方案 浏览器关闭了session就销毁了,不管是正常关闭还是非正常关闭,正常退出时销毁session,浏览器关闭也会销毁session,所有你

高手就帮忙,JAVA开发WEB系统,怎样能做到最安全

问题描述 高手就帮忙,JAVA开发WEB系统,怎样能做到最安全??不被攻击,做方案,应急,多谢大家! 解决方案 解决方案二:最安全.https全用私钥,几天换一次密码解决方案三:如果对权限控制感兴趣,推荐看一下springsecurity教程:解决方案四:除了ssl还有其它的吗?比如怎么样写代码会有漏洞?比如跨站点脚本编制跨站点请求伪造SSL请求中的查询参数发现可高速缓存的SSL页面这些是什么原因导致,有什么好的解决方案?解决方案五:通过框架钓鱼解决方案六:页面安全控制,加安全控件,控制恶意sq

web开发-两个不同WEB系统之间限定条件的信息交互问题

问题描述 两个不同WEB系统之间限定条件的信息交互问题 设存在两个web项目,分别是ProjectA和ProjectB,ProjectB不可修改,ProjectA可任意修改. ProjectA存在a1页面,ProjectB存在b1页面. b1页面实现的是账号.密码登陆功能. a1页面存在一个按钮btn1,点击btn1则打开新的标签页且链接到b1页面,同时在a1页面中弹出提示"未登陆". 在新的标签页链接到的b1页面上登陆成功后,a1页面提示从"未登陆"转换为&quo

大型web系统数据缓存设计

1. 前言 在高访问量的web系统中,缓存几乎是离不开的:但是一个适当.高效的缓存方案设计却并不容易:所以接下来将讨论一下应用系统缓存的设计方面应该注意哪些东西,包括缓存的选型.常见缓存系统的特点和数据指标.缓存对象结构设计和失效策略以及缓存对象的压缩等等,以期让有需求的同学尤其是初学者能够快速.系统的了解相关知识. 2. 数据库的瓶颈 2.1 数据量 关系型数据库的数据量是比较小的,以我们常用的MySQL为例,单表数据条数一般应该控制在2000w以内,如果业务很复杂的话,可能还要低一些.即便是

Rails v3.0.4发布 更高效的Web开发框架

Rails框架首次提出是在2004年7月,它的研发者是26岁的丹麦人http://www.aliyun.com/zixun/aggregation/16482.html">David Heinemeier Hansson.不同于已有复杂的Web 开发框架,Rails是一个更符合实际需要而且更高效的Web开发框架.Rails结合了PHP体系的优点(快速开发)和Java体系的优点(程序规整),因此,Rails在其提出后不长的时间里就受到了业内广泛的关注. Rails 下一个主要的发布是 Rai