自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Haohappy的专栏

PHP5研究中心 研究专业PHP技术,传播全球最新PHP动态 ,推广国内PHP企业应用

  • 博客(175)
  • 收藏
  • 关注

原创 [Linux FAQ]init: Id "x" respawning too fast: disabled for 5 minutes

不知道什么原因,启动不了X,报错:init: Id "x" respawning too fast: disabled for 5 minutes记下解决过程:找了些资料,:http://www.unixguide.net/linux/faq/09.24.shtml不过报错没有具体指出X=多少,所以没法使用注释掉以下某一行的方法。# Run gettys in standa

2004-09-18 16:10:00 6911 3

原创 推荐《Upgrading to PHP 5》

PHP5的问世,带来了新的一轮学习和将原有程序升级的热潮。那么,到底我们要怎么掌握PHP5,需要学习什么呢?在此向大家推荐《Upgrading to PHP 5》 (Adam Trachtenberg著) ,它是我前些天读完的一本书(恰好今天在PHP EveryWhere上也看到一篇书评),相信对你有所帮助。作者显然考虑到传统的PHPer对于PHP4的面向过程的开发方式比较熟悉,而对于面向

2004-09-14 10:25:00 4972 2

原创 PEAR::HTML_QuickForm入门[7]--小结

 总结一下使用PEAR::HTML_QuickForm的过程:                                                                                                                1.  确保PEAR安装正确;2.  加载HTML_QuickFormrequire_once

2004-09-04 23:28:00 3216 10

原创 PEAR::HTML_QuickForm入门[6]--自定义验证规则

自定义验证规则: 大多数时候我们使用QuickForm自带的验证规则就已经足够了,但如果有时我们需要的数据格式比较特殊那怎么办呢? QuickForm允许你自定义验证规则。 下面的例子中,我们增了一条自定义的规则:用户名必须为Haohappy。 CustomValidation.phprequire_once("HTML/QuickForm.php"); $form =

2004-09-04 23:24:00 2823 1

原创 PEAR::HTML_QuickForm入门[5]--客户端验证功能

客户端验证: 前面有提到使用addRule()来增加一条验证规则,其实addRule()还有第五个参数—client。这个参数用来说明我们将使用的是客户端验证,如果传递了这个参数,则程序会自动生成客户端的Javascript代码来验证表单里的数据。 使用客户端验证更加快捷方便,而且可以减轻服务器的负载。 Client.php//加入三条客户端验证规则 $form->ad

2004-09-04 23:08:00 2532

原创 PEAR::HTML_QuickForm入门[4]--表单数据验证

我们再次对这段代码进行改进,为其加入表单数据验证功能。使用户在登录时必须输入用户名和密码,并且用户名长度不能小于三位。 Form3.php PEAR::HTML_QuickForm require_once("HTML/QuickForm.php"); $form = new HTML_QuickForm(frmTest, post); $form->add

2004-09-04 23:01:00 3291 1

原创 PEAR::HTML_QuickForm入门[3]--处理表单数据

接下来我们加入对表单的处理功能。 Form2.php PEAR::HTML_QuickForm require_once("HTML/QuickForm.php"); $form = new HTML_QuickForm(frmTest, post); $form->addElement(header, header, 请登录); $form->ad

2004-09-04 22:48:00 2534

原创 PEAR::HTML_QuickForm入门[2]--创建表单

首先我们来看这样一个例子:FirstForm.php PEAR::HTML_QuickForm require_once("HTML/QuickForm.php"); //建立一个表单对象$form = new HTML_QuickForm(frmTest, post);  /*利用该对象的addElement方法增加四个表单元素addElemm

2004-09-04 22:26:00 4611 4

原创 PEAR::HTML_QuickForm入门[1]--简介

相信每个PHP程序员都知道PEAR,而PEAR::HTML_QuickForm是PEAR中的一个非常实用的类库,它可以让你动态地创建,验证和显示HTML表单。主要特点如下: * 可以创建20种常见的表单; * 生成兼容性好的XHTML代码 * 提供强大和可扩展的表单验证功能* 自动化的服务器端验证和过滤 * 可以生成客户端验证代码(JavaScript)。 * 支持文件上传功能 * 支持自

2004-09-04 22:10:00 5319 2

原创 PHP5的异常处理机制[14]--总结 [END]

总结异常机制提供了几个非常关键的好处:(1) 通过将错误处理集中于catch语句中,你可以将错误处理从应用流程中独立出来。这也使代码的可读性提高,看起来令人愉快。我通常采取非常严格的策略来捕捉所有异常并中止脚本执行。这样可以获得所需的附加的弹性,同时实现安全易用的异常管理。?(2) 重掷异常,将异常数据流从低层传递至高层,就是说异常被传回最适合决定如何处理异常的地方。这看起来会显得

2004-08-30 22:11:00 2726 2

原创 PHP5的异常处理机制[13]--获得异常相关的更多信息

获得异常相关的更多信息以下是用来格式化输出异常信息的代码:index_php5_6.php// PHP 5 class Front {     static function main() {         try {             $helper = new RequestHelper(array(cmd=>realcommand));             $he

2004-08-30 22:08:00 2451

原创 PHP5的异常处理机制[12]--异常的传递、重掷异常

如果我们已经触发了一些在发生时无法马上处理的异常,有一个很好的解决方案—将处理异常的责任交回给调用当前方法的代码,也就是在catch语句中再次抛出异常(重掷异常)。这将使异常沿着方法的调用链向上传递。index_php5_5.php// PHP 5 class RequestHelper {     private $request = array();     private $defa

2004-08-30 22:01:00 2531

原创 PHP5的异常处理机制[11]--Exception类的子类

Exception类的子类有两个理由让我们想要从Exception类中派生中子类:1.  让子类提供自定义的功能;2.  区分不同类型的异常;看第二个例子。使用CommandManager类时我们可能会产生两个错误:一个是一般性的错误如找不到目录,另一个是找不到或无法生成Command对象。这样我们需要针对这两个错误来定义两种异常子类型。index_php5_4.php//

2004-08-30 21:56:00 3727 3

原创 PHP5的异常处理机制[10]--同时处理多个错误

处理多个错误在目前为止异常处理看起来和我们传统的作法—检验返回的错误标识或对象的值没有什么太大区别。让我们将CommandManager处理地更谨慎,并在构造函数中检查command目录是否存在。index_php5_2.php// PHP 5 require_once(cmd_php5/Command.php); class CommandManager {     privat

2004-08-30 21:47:00 2954

原创 PHP5的异常处理机制[9]--Try-catch 语句

Try-catch 语句为了进一步处理异常,我们需要使用try-catch语句—包括Try语句和至少一个的catch语句。任何调用 可能抛出异常的方法的代码都应该使用try语句。Catch语句用来处理可能抛出的异常。以下显示了我们处理getCommandObject()抛出的异常的方法:index_php5.php 后半段// PHP 5 try {     $mgr = new Co

2004-08-30 21:34:00 3478

原创 PHP5的异常处理机制[8]--使用throw关键字

使用 throw关键字建立一个Exception对象后你可以将对象返回,但不应该这样使用,更好的方法是用throw关键字来代替。throw用来抛出异常:throw new Exception( "my message", 44 ); throw 将脚本的执行中止,并使相关的Exception对象对客户代码可用。以下是改进过的getCommandObject() 方法:index

2004-08-30 21:29:00 2614

原创 PHP5的异常处理机制[7]--PHP5内建的Exception类

PHP5的异常机制根据我们以上讨论的,PHP内建的异常类需要有以下成员方法:__construct()构造函数,需要一个出错信息和一个可选的整型错误标记作参数getMessage()取得出错信息getCode()出错的代码getFile()异常发生的文件getLine()异常发生的行

2004-08-30 21:19:00 2655

原创 PHP5的异常处理机制[6]--PHP5之前的错误处理--小结

综合以上的讨论,我们需要一个这样的错误处理机制:1.允许一个方法给出一个出错标记给客户代码 2.提供程序错误的详细信息 3.让你同时判断多个出错条件,将你的错误报告和程序处理流程分开。4.返回值必须是独立的类型,不会与正常返回的类型相混淆 PHP的异常机制恰好完全满足以上要求。

2004-08-30 21:04:00 2189

原创 PHP5的异常处理机制[5]--PHP5之前的错误处理--使用PEAR处理错误

(三)使用PEAR处理错误你也可以使用PEAR来处理错误。当发生错误,将返回一个 Pear_Error对象。后面的代码通过一个静态方法PEAR::isError()来检验这个对象。如果错误确实发生了,那么返回的Pear_Error对象将提供你需要的所有相关信息:PEAR::getMessage()- the error message 出错信息PEAR:

2004-08-30 20:50:00 2096

原创 PHP5的异常处理机制[4]--PHP5之前的错误处理--返回Error flag(错误标记)

(二)返回错误标记 脚本层次的错误处理比较粗糙但很有用。尽管如此,我们有时需要更大的灵活性。我们可以使用返回错误标识的办法来告诉客户代码“错误发生了!”。这将程序是否继续,如何继续的责任交给客户代码来决定。这里我们改进了前面的例子来返回一个脚本执行出错的标志(false是一个常用的不错的选择)。index3.php// PHP 4 require_once(cmd_php4/Co

2004-08-30 17:42:00 2270

原创 小修理了一下Blog

1。觉得CSDN的CSS效果不好看,自己动手重新定义;2。增加计数器,推荐http://www.statcounter.com上的免费计数器,非常好用,而且一个用户可以注册多个Project。

2004-08-29 16:10:00 2064

原创 PHP5的异常处理机制[3]--PHP5之前的错误处理之trigger_error()

我们或许可以通过trigger_error()生成一个用户警告来代替,使程序更具有灵活性。Index2.php// PHP 4 require_once(cmd_php4/Command.php); class CommandManager {     var $cmdDir = "cmd_php4";     function getCommandObject($cmd) {      

2004-08-28 12:45:00 3217

原创 PHP5的异常处理机制[2]--PHP5之前的错误处理之die()

PHP5之前的错误处理在PHP5之前的程序错误处理多使用以下三种办法:1. 使用trigger_error()或die()函数来生成一个脚本层次的警告(warning)或致命错误(fatal error);2. 在类方法或函数中返回一个错误标记(如false),也可能设置一个之后可以检查的属性或全局变量(如$error),然后在适合的地方检验其值再决定是否继续执行程序(如if($error==1)

2004-08-27 22:07:00 2472

原创 PHP5的异常处理机制[1]--本文索引

作者: Matt Zandstra 翻译: Haohappy  04-8-20Haohappy@msn.com本文面向的读者简介在PHP5之前的错误处理-使用die()或trigger_error()-返回错误标记-使用PEAR处理错误PHP5的异常机制-使用throw关键字-try-catch语句-处理多个错误-自定义异常类型-异常的传递-

2004-08-27 21:16:00 3081

原创 《PHP & More》第二期发布& 一些想法

下载:http://www.phpmore.com经过大家的努力,《PHP & More》第二期顺利推出,虽然没能像预定的那样准时地一个月出一期。本期主要内容一览:PHP动态 Binzy Wu/文PHP5的异常处理机制 Haohappy/译PHP与Flash之XML KnightE/文用ActicePHP打造版本管理系统 Easy/文PHP单元测试工具:SimpleTest Easy/

2004-08-25 21:30:00 1724 1

原创 PHP程序加速探索[10]--加速工具软件&总结

以上我们都是利用优化代码的方法对程序进行提速,接着我们要关注一下PHP加速的另一个领域—缓存工具软件。这类软件都是从优化PHP运行环境来提速的,不需要改变任何代码。我们可以大概地将它们称为“执行码优化/缓存工具”,你可以理解为它们用来实现比较底层的优化/缓存。以下列出目前比较常用的此类工具,具体哪种效果最好,请用自己的服务器环境测试:(一)APC Alternative PHP Cache

2004-08-24 23:54:00 3473

原创 PHP程序加速探索[9]--加速--函数缓存输出 PEAR cache

◆ 函数缓存输出 PEAR cache PEAR除了可以对输出的内容进行缓存处理外,还可以将对某个函数的调用结果缓存起来。这是个很有趣的功能,如果你的程序要频繁使用到某个函数,而且调用的结果相同的话,我建议你不妨试试,特别是当这个函数运行起来比较慢的时候。下面我们实现对一个执行起来很慢的函数slowFunction()的缓冲调用。require_once Cache/Functi

2004-08-24 23:50:00 3223

原创 PHP程序加速探索[8]--内容缓存输出 PEAR cache

◆ 内容缓存输出 PEAR cache接下来我们开始探索更常用的缓存技术,这也是本文的重点部份。首先我们使用PEAR中的cache包。PEAR可以将内容缓存于文件,数据库或者内存中,我们以文件为例。下面是一个没有使用缓存的PHP小程序:pear_content_cache1.phpecho "这是内容。"; echo "当前时间是" . date(M-d-Y H:i:s A,

2004-08-24 23:26:00 6260 2

原创 PHP程序加速探索[7]--压缩输出 gzip

◆压缩输出 gzip利用Apache中的mod_gzip模块,我们可以利用gzip的压缩算法来对Apache服务器发布的网页内容进行压缩后再传输到客户端的浏览器。如果是纯文本的内容,效果非常明显,大约可以压缩到原来的30%-40%,使用户的浏览速度大大加快。Gzip需要客户端浏览器支持,目前大部份浏览器都支持gzip,如IE,Netscape,Mozilla等,所以这种方法值得一试。我们可

2004-08-24 23:04:00 3030

原创 PHP程序加速探索[6]--代码优化

加速◆ 代码优化掌握了PEAR::BenchMark,现在你已经知道如何测试你的代码,知道如何判断你的代码是快是慢,是哪一部份比较慢。那么接下来我要说的就是如何消灭或优化那部份慢的代码。这一点上我个人最主要的经验只有两点,一是消除错误的或低效的循环;二是优化数据库查询语句。其实还存在一些其它的优化细节,比如“str_replace比ereg_replace快”、“echo比print

2004-08-24 22:33:00 2876 1

原创 PHP程序加速探索[5]--脚本执行速度测试2

现在我们看看另一个测试脚本运行时间的方法--使用Benchmark_Timer类来测试一段代码执行所消耗的时间及这一段代码中每次调用与下一次调用间的时间。benchmark2.phprequire_once Benchmark/Timer.php; $timer = new Benchmark_Timer(); $timer->start(); $timer->setMarker(s

2004-08-24 20:09:00 3428

原创 PHP程序加速探索[4]--测试--脚本执行速度测试

◆ 脚本执行速度测试前面有提到,只有找到影响速度的代码,我们才有可能进行优化。PEAR的benchmark包中的Benchmark_Timer类和Benchmark_Iterate类,可以用来很方便地测试脚本执行的速度。(关于PEAR的安装与配置请自行查看相关资料)首先用Benchmark_Iterate类来测试程序中某个函数或类的某个方法的执行时间。benchmark1.phpr

2004-08-24 20:01:00 3313

原创 PHP程序加速探索[3]--服务器负载测试

测试◆ 服务器负载测试服务器负载太大而影响程序效率也是很常见的,我们需要对此进行测试。这里我以目前最常用的Apache服务器为例。Apache服务器自带有一个叫AB(ApacheBench)的工具,在bin目录下。使用这个轻巧的工具我们可以对服务器进行负载测试,看看在重负荷之下服务器的表现如何。ApacheBench 可以针对某个特定的 URL 仿真出连续的联机请求,同时还可以仿真出

2004-08-24 19:51:00 3258 2

原创 PHP程序加速探索[2]--简介与前言

(一)简介本文尝试对PHP程序加速的各个方面进行探索,包括必要性以及从不同角度采取的具体措施。希望有助于读者了解PHP程序加速,并应用于实际。(二)是否需要加速?这个问题听起来有点愚蠢。在这个时代,很少有人会怀疑时间是最宝贵的财富,尤其是在商业市场上。程序执行越快,用户就节约越多的时间,这样你的程序就可以用更少的时间和服务器资源为用户服务,从而产生更多效益。我想对于大部份人(包括我

2004-08-24 19:33:00 2460

原创 PHP程序加速探索[1]--本文索引

PHP程序加速探索Haohappy 2004-07-27haohappy@msn.com- (一)简介- (二)是否需要加速?- (三)如何加速?       - 测试       ◆ 服务器负载测试 ApacheBench        ◆ 脚本执行速度测试 PEAR:: Benchmark     - 加速        ◆ 代码优化       ◆ 压缩输出 Gzip       ◆ 内

2004-08-24 19:25:00 2612

原创 [分享]EditPlus PHP5语法文件

今天将PHP5新增的语法加入EditPlus的语法文件,使之可以支持PHP5的语法加亮,发在这里希望对使用EditPlus的朋友们有点帮助。将附件里的php.stx文件覆盖掉C:/Program Files/EditPlus 2/php.stx即可。主要是新增了关键字,函数部份工作量太大(要查手册对照,特别是DOM,XML等部份改动大),暂时不想改动,我想最常用的还是关键字呵呵。同样的原因,不能提

2004-08-16 14:47:00 3025 2

原创 [推荐]PHP门户站点--PHPHub.com

PHPHub(www.phphub.com)是一个PHP门户站点,内容包括了PHP世界的方方面面,强烈推荐PHP程序员都去看看,相信会有你感兴趣的内容。特别注意到在Non-english sites->Chinese中有超越PHP(Exceed PHP )。打算联系管理员,将《PHP&More》加入PHP Magazines 列表,毕竟是目前世界上少数几份PHP电子杂志。

2004-08-15 14:22:00 2105

原创 为Zend Studio3.5添加PHP5 DOM代码的自动完成功能

"If you are serious about programming PHP, you need the right tools for the job. Zend Studio is the Swiss army knife of the PHP IDE world."Zend Studio 3.5是目前最好用的PHP5开发工具,因为它提供PHP5代码的语法加亮和自动完成功能。但它

2004-08-14 16:36:00 2045

原创 PHP应用加速工具软件

以上我们都是利用优化代码的方法对程序进行提速,接着我们要关注一下PHP加速的另一个领域—缓存工具软件。这类软件都是从优化PHP运行环境来提速的,不需要改变任何代码。我们可以大概地将它们称为“执行码优化/缓存工具”,你可以理解为它们用来实现比较底层的优化/缓存。 以下列出目前比较常用的此类工具,具体哪种效果最好,请用自己的服务器环境测试:(一)APC Alternative PHP Ca

2004-08-09 11:09:00 2153 5

原创 PHP6 ?!!

PHP5.0.0才刚刚推出,PHP6已经开始构思--在最新的对Rasmus Lerdorf ( PHP创始人)的采访中,我们获知了这个令人惊喜的信息,虽然只是构思而已。文中提到了PHP的迅猛发展--“Over the years PHP has grown from a single guy, me, to now 800-900 people around the world contrib

2004-08-08 13:01:00 2149 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除