Welcome 微信登录

首页 / 网页编程 / PHP

php设计模式介绍之装饰器模式

php设计模式介绍之装饰器模式

php设计模式介绍之装饰器模式2009-12-30wangyun522若你从事过面向对象的php开发,即使很短的时间或者仅仅通过本书了解了一些,你会知道,你可以 通过继承改变或者增加一个类的功能,这是所有面向对象语言的一个基本特性。如果已经存在的一个php 类缺少某些方法,或者须要给方法添加更多的功能(魅力),你也许会仅仅继承这个类来产生一个新类 —这建立在额外的代码上。但是产生子类并不总是可能或是合适的。如果 你希望改变一 个已经初始化的对象...
php设计模式介绍之适配器模式

php设计模式介绍之适配器模式

php设计模式介绍之适配器模式2009-12-30wangyun522接口的改变,是一个需要程序员们必须(虽然很不情愿)接受和处理的普遍问题。程序提供者们修改 他们的代码;系统库被修正;各种程序语言以及相关库的发展和进化。我孩子的无数玩具中有一个简要地 描述了这个两难局面:你无法合理安排一个不得其所的人。问题你如何避免因外部库的 API改变而带来的不便?假如你写了一个库,你能否提供一种方法允许你软件的现有用户进行完美地升级 ,即使你已经改变了你的API?为...
php设计模式介绍之注册模式

php设计模式介绍之注册模式

php设计模式介绍之注册模式2009-12-30HRTSEA我们通常认为避免使用全局变量是一种好的选择,因此,对象经常被作为参数从一段代码传递到另一 段。但是传递实例的一个问题就是对象有时候不知道将要传递给谁——?经过一个函数后才被 传递到真正需要这个对象的函数。为了编写,阅读,修改代码的方便,最好能够减少不同对象的 数量,并且能够将大量广泛使用的对象统一表示为一个单一,常用的对象。问题:你如何 通过单一的全局的对象来获取对其它对象...
php设计模式介绍之伪对象模式

php设计模式介绍之伪对象模式

php设计模式介绍之伪对象模式2009-12-30wangyun522面向对象的编程之所以丰富多彩,部分是由于对象间的相互联系与作用。一个单一的对象就能封装一 个复杂的子系统,使那些很复杂的操作能够通过一些方法的调用而简化。(无所不在的数据库连接就是 这样的一个对象实例。)然而经常有这样的情况,对象间的交互性是如此复杂以至于我们不得 不面对类似“先有鸡还是先有蛋”这样伤脑筋的问题:如何创建并测试这样一个对象,他要 么依赖于很多已创建...
php设计模式介绍之策略模式

php设计模式介绍之策略模式

php设计模式介绍之策略模式2009-12-30forest在编写面向对象的代码的时,有些时候你需要一个能够自己根据不同的条件来引入不同的操作对象实 例。例如,一个菜单功能能够根据用户的“皮肤”首选项来决定是否采用水平的还是垂直的 排列形式,或者一个计费系统可以自行根据用户的收货地址来决定税率。一般来讲,一个控制菜 单的对象实例包括了add(), delete(), 和 replace()等菜单元素;并通过set()进行配置,用re...
php设计模式介绍之单条模式

php设计模式介绍之单条模式

php设计模式介绍之单条模式2009-12-30forest几乎所有面向对象的程序中,总有一两个资源被创建出来,在程序应用中持续被共享使用。例如,这 样的一个资源,在一个电子商务程序的数据库连接中使用:这个连接在应用程序启动时初始化,程序于 是可以有效的执行;当程序结束时,这个连接最终被断开并销毁。如果是你写的代码,没必要在每时每 刻创建一个数据库连接,这样非常低效。已经建立好的连接应该能被你的代码简单重复的使用。这个问 题就是,基于以上要求你将如何进行这...
php设计模式介绍之工厂模式

php设计模式介绍之工厂模式

php设计模式介绍之工厂模式2009-12-30 phpchina forest在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象 实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。举例来说, 许多类型对象的创造 需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你需 要的对象之前必须先生成一些辅助功能的对象。 在这些情况, 新对象的建立就是一个 &l...
php设计模式介绍之值对象模式

php设计模式介绍之值对象模式

php设计模式介绍之值对象模式2009-12-30forest在所有的最简单的程序中,大多数对象都有一个标识,一个重要的商业应用对象,例如一个Customer 或者一个SKU,有一个或者更多的属性---id,name,email地址,这样可以把它从同一个类的其他实例区分 开来。此外,对象有一个恒定的标识:它是贯穿于整个应用程序的一个唯一的标识,对于程序员来说, ”customer A”在任何地方就是”customer A...
使用PHPLIB进行Session的管理和认证

使用PHPLIB进行Session的管理和认证

使用PHPLIB进行Session的管理和认证2009-12-30测试环境:标准环境首先要说明一个事实,用Web页面设计需要保存客户当前状态的程序时极为不便,例如在线Shopping,作为一名程序员,你必须时时面对在各个主页之间传递的状态参数。客户的身份认证、他已做出的选择、他当前的状态等等,Web主页并不会替你保存这些状态信息,你必须自己小心处理这些参数,这给我们带来了太多的不便,利用 http://url?var1=x1&var2=x2 来在主...
PHPLIB Template和FastTemplate的比较

PHPLIB Template和FastTemplate的比较

PHPLIB Template和FastTemplate的比较2009-12-30php工程中的模板应用,是进行中型乃至大型项目中建议采用的处理表现层的好办法。但是具体到模板的实施,采用何种现有的模板技术却需要进行一番比较。php世界中比较受关注的模板处理有phplib template和fasttemplate两种,我们对技术的易用性和速度进行了评测--想知道结果吗?事情的起因:你用过fasttemplate吗?对于php工程中的模板应用,其实我和我的同...
Smarty实例教程-模板设计部分

Smarty实例教程-模板设计部分

Smarty实例教程-模板设计部分2009-12-30一、什么是smarty?smarty是一个使用PHP写出来的模板PHP模板引擎,它提供了逻辑与外在内容的分离,简单的讲,目的就是要使用PHP程序员同美工分离,使用的程序员改变程序的逻辑内容不会影响到美工的页面设计,美工重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。二、smarty优点:1. 速度:采用smarty编写的程序可以获得最大速度的提高,这一点是相对于其它的模板引擎技术...
smarty实例教程---程序设计部分

smarty实例教程---程序设计部分

smarty实例教程---程序设计部分2009-12-30smarty的程序设计部分:在smarty的模板设计部分我简单的把smarty在模板中的一些常用设置做了简单的介绍,这一节主要来介绍一下如何在smarty中开始我们程序设计。PHP代码:--------------------------------------------------------------------------------首先来介绍一下在上一节中我们使用的过的.php文件中的一...
Smarty实例教程之三:实例篇(使用PHP内置MYSQL函数)

Smarty实例教程之三:实例篇(使用PHP内置MYSQL函数)

Smarty实例教程之三:实例篇(使用PHP内置MYSQL函数)2009-12-30从本节开始我们来学习一下如果把Smarty应用到实际的例子中. 为了演示说明,我将以前写的一个站 点作为实例来讲来下.先说明一下, 我本人的美术功底不是很强,所以设计出来的页面不太好看,大家就对 付着看吧在看本文之前,可以先看看indexbak.htm与newsbak.htm,它们是我们生成后的例图。一、 首先来说明一下我们将要使用到的数据库,下面我先将数据库源文件给大家例...
Smarty实例教程之四:实例篇(使用phplib的DB类)

Smarty实例教程之四:实例篇(使用phplib的DB类)

Smarty实例教程之四:实例篇(使用phplib的DB类)2009-12-30前几天有些事情,所以这个实例一直到今天写,为什么要拿phplib中的DB类来讲呢?很多人在学习 PHP时,可能最先接触到的模板就是phplib了,原因很简单:很多PHP学习资料中都介绍PHPLIB,phplib 在PHP3的时候很火,原因之一就是它实现了在PHP3没有实现的session功能,直到现在还有很多人使用 phplib的模板技术,原因就是它很简单。同时,phplib上...
windows下解决PHP调用的外部程序超时阻塞问题

windows下解决PHP调用的外部程序超时阻塞问题

windows下解决PHP调用的外部程序超时阻塞问题2009-12-30我近期做一个东东,大致构架是:访问者通过web提交c程序,服务端调用编译器编译并且在编译完成后运行编译后的程序,将运行结果传回访问者浏览器。且不考虑安全性,因为访问者可以都认为是可以信赖的,命令行编译器最终要返回的,但是对于临时编译的程序,尽管用户是可以信赖的,但是不排除因为不完善而出现死锁,php调用后启动的进程无法返回而超时,此进程一直存在直到服务器重启,久而久之,服务器端资源就要...
用PHP开发健壮的代码,第1部分

用PHP开发健壮的代码,第1部分

用PHP开发健壮的代码,第1部分2010-01-17 IBM Amol Hatwar用PHP开发健壮的代码系列文章是关于解决大中型应用程序中的实际问题的。这一系列文章主要侧重于PHP4中可用的新功能,重点介绍了大量使开发工作更容易的技巧和窍门。在这一系列文章中,您将发现许多要学习的示例和技术,还附带了大量样本代码。在这第一篇文章中,PHP高手Amol Hatwar从更高的角度介绍了如何为中到大型Web 应用程序设计和编写无错误、可维护的代码。如果您是一名构...
用PHP开发健壮的代码:有效地使用变量,第2部分

用PHP开发健壮的代码:有效地使用变量,第2部分

用PHP开发健壮的代码:有效地使用变量,第2部分2010-01-17 IBM Amol Hatwar“用PHP开发健壮的代码”是关于解决大中型应用程序中的实际问题的系列文章。在本文中,PHP老手Amol Hatwar讨论了如何有效地使用变量。他还演示了如何通过使用PHP中可变的变量名来构造配置文件解析器,以便简化脚本配置。在我的 前一篇文章中,我研究了在规划、设计甚至编写代码期间必须考虑的一些因素。在本文中,您将真正接触到实际代码,...
用 PHP 开发健壮的代码:编写可重用函数,第3部分

用 PHP 开发健壮的代码:编写可重用函数,第3部分

用 PHP 开发健壮的代码:编写可重用函数,第3部分2010-01-17 IBM Amol Hatwar在本系列文章(有关如何在实际情况下开发有效的PHP代码)的第3部分中,Amol Hatwar讨论了如何构建最有效的功能型函数,使用这些函数不会牺牲太多性能或可管理性。作者重点阐述了如何编写可重用函数,并介绍了如何避免与该任务相关的一些最常见问题。欢迎回来。在本系列文章的第1部分中,我讨论了一些基本的PHP设计规则,并介绍了如何编写安全、简单、与平台无关且...
ThinkPHP框架试用

ThinkPHP框架试用

ThinkPHP框架试用2010-01-20 cnblogs Lance.Liang无意中看到thinkphp的一个pdf文档,它优异的特性非常的吸引我,于是按捺不住那股热情,下载下来熟悉一下。以下是最简单的一个demo。步骤:新建一个web目录(我是在web根目录下新建了一个mydemo目录),复制thinkphp目录到此!新建文件index.php作为入口文件!内容如下:<?phpdefine("THINK_PATH","thinkphp");d...
<< 641 642 643 644 645 646 647 648 649 650 >>