原文地址:http://reinholdweber.com/?p=3
英文版权归Reinhold Weber所有,中译文作者yangyang(aka davidkoree)。双语版可用于非商业传播,但须注明英文版作者、版权信息,以及中译文作者。翻译水平有限,请广大PHPer指正。
继续阅读“译文)优化PHP代码的40条建议 40 Tips for optimizing your php Code”
对面向对象设计原则的总结 [轉]
正如牛顿三大定律在经典力学中的位置一样,“开-闭”原则(Open-Closed Principle)是面向对象的可复用设计(Object Oriented Design或OOD)的基石。其他设计原则(里氏代换原则、依赖倒转原则、合成/聚合复用原则、迪米特法则、接口隔离原则)是实现“开-闭”原则的手段和工具。
[转]对目前主流开发技术的分析和总结
一、引言我为什么要写这篇文章
首先,我要限定我文章的范围,我讨论的问题局限于桌面应用开发领域和企业应用开发领域,所以我的结论并不适用于整个软件开发界,比如我说C语言已经退出历史舞台,这对于写嵌入式系统的人和编写操作系统内核的人来说显然是错了。我写这篇文章的目的主要是:
*简单的介绍并评价当前主流技术
*比较当前的主流技术
*预计技术的演变
如果你想做程序员或者已经是个程序员,你可能会面对这些困惑:
*学什么语言呢?Delphi、C++、VB、Java、 C#、PHP、Python?
*选择什么开发工具呢?Delphi、VC、C++Builder、 JBuilder?
当你已经入了门,有了一定的基础之后(可能已经通晓了几种语言),你会面临进一步的困惑:
*MFC和VCL之间是什么关系?
*J2EE到底是什么?.Net到底是什么?两者有什么本质的区别,我应该学习哪一个呢?
*COM那么复杂,为什么很多地方都用到它?我必须学习它吗?
如果是作为一个软件公司,如果不是那么大,如果你的公司还没有一个真正的技术上的灵魂人物,那么你也会面临同样的困惑。技术问题纷繁复杂,让你不知所从,而且真正的精通每一项技术都需要巨大的时间和人力的投入,你怎么办?选择哪种技术作为公司的主流技术呢?选择的方向是否正确是个关乎你的公司的生死存亡的问题。你面临着这些困惑吗?如果是,那么请让我试着为你拨云见日。
继续阅读“[转]对目前主流开发技术的分析和总结”
高级PHP V5 对象研究
本文介绍了PHP V5一些更高级的面向设计的特性。其中包括各种对象类型,它们允许将系统中的组件相互分离,创建可重用、可扩展、可伸缩的代码。 继续阅读“高级PHP V5 对象研究”
PHP5中的对象持久层实现:Propel简介
传统的PHP应用程序一般采用无框架的Client-Server-Database三层模式,实现起来快速,很适合中小企业搭建动态站点的需求。 PHP5的出现,把PHP引向更广泛的使用领域。现在的站点,不仅要考虑站点的运行效率,还要综合开发效率以及未来的维护成本。于是有很多站点开始用基于 MVC模式的框架。
在M,也即模型中,考虑的正是数据模型的存储和数据。一般的解决方案将使得在业务逻辑中夹杂着较多的SQL。 ORM的出现很好的解决了这个问题。
Propel是一个ORM的PHP实现。
简介:
Propel是一个基于Apache Torque的对象持久层,需要PHP5支持.实际上,它让你使用 对象 代替SQL 来读写数据库表中的记录.它提供了一个生成器来创建基于你的数据模型的SQL定义文件和相应的类文件,并有一个运行时引擎透明的处理对象持久和获取工作. 如果要定制生成的类将是很简单的事情,XML, PHP类和Phing构建工具使得把Propel集成到已有的应用程序框架也相当的容易.
Propel算是PHP中对ORM的实现,并且用到它的兄弟项目Creole作为数据抽象层.
它的核心思想是:通过 XML 格式的模式文件和相应的配置文件来生成SQL和类, 在数据库抽象的基础上, 更近一步,它”隐藏”了数据库,使得WEB开发人员专注于业务逻辑上.
实践:著名PHP框架 symfony使用了精简版的Propel.
相关:PEAR DB_DataObject是另一个轻型的ORM实现,不过它的数据库抽象层使用的是 PEAR DB.
链接:
http://propel.phpdb.org
http: //creole.phpdb.org
php编写大型网站问题集
PHP以其易用性得到迅速的推广,但易用并不是说就能用好它,实际上许多程序员用它很容易的立一个个WEB应用系统,但又有多少人仔细的考虑过他们的代码,是否容易维护、是否足够健壮、否效率足够高、是否足够安全,当PHP用于建立大型网站时这些就成为很关键的因素。下面我们从较轻微的问题开始讨论,直至一些致命的错误。共分三部分。 继续阅读“php编写大型网站问题集”