编程技巧 - 文章列表

  • PHP学习宝典-第二章 (续篇)

    上面列出的这个页面并不比本章开头所列的普通 HTML 版本更能让人深刻印象。然而,传入不同的变数将导致自动产生任意数量的特定页面,在前述的例子中,其页面是依条件选列出书籍,而不是以作者的姓氏来选,因此结果是没有任何再进一步的工作。如果我们在资料库中新增关于另一个公司的新书,这些例表将自动更新,以反映新的资料。 从这两个不同的原始清单中可以看出,不能从用户端检视伺服端 scripting 。所有重头戏都发生在原始码传送给用户端之前。从 Web 服务器形成之后,原始码在另一端以普通 HTML 的形式出现。这也意味着不能区分出使用了哪种伺服端 scripting 语言,除非在标头( header )

  • PHP学习宝典-第八章(一)

    PHP学习宝典-第八章函式的定义及应用本章重点2 使用内建的PHP函式2 浏览线上函式手册2 使用者定义函式2 进价技巧:可变参数、参引呼叫和可变函式任何程序语言都有某种程序抽象处理能力(procedural abstraction,就是帮程序码某段区块命名,以便在编写其它程序码区段时能够取用)。某些script语言缺乏这种能力,而根据我们的经验,这会使复杂的伺服端程序码很快变得无法管理。PHP用来提供这种抽象处理的机制就是函式(function)。PHP中实际上有两种类型的函式,一种是已经由PHP开发者内建在语言中,另一种是由每个PHP程序设计师自己定义的。本章中,我们来看看如何使用PHP已

  • PHP学习宝典-第三章

    Chapter3PHP基楚入门本章重点■ 决定外包还是自建■ 寻找适当的ISP■ 避开常见的主机陷阱■ 安装PHP■ 选择PHP开发工具 在本章中,我们会讨论有关各种不同Web 虚拟主机选项的优缺点:外包,自建和不同的折衷方安案。接着再讨论安装PHP的详细内容,最后则是关于寻找适当开发工具的一些建议。到本章结束时,你应该就能开始进行自己编写的第一份script了。虚拟主机和DIY的比较你需要确定的第一个重要决策是:谁将掌握及管理支持PHP的Web网站,是你本人,还是提供Web虚拟主机服务的厂商?另外,是否需要一个单独的开发安装;如果需要,谁将掌握它?如果你已经做好了决定,就可以跳过这部份内容,

  • PHP学习宝典-第八章(二)

    PHP学习宝典-第八章(二)进价函式技巧现在我们来看看函式的一些更神奇的属性,其中包括使用可变参数个数的方法、让函式能够修改传入变数的方法,以及让函式成为资料使用的法方。这一节的内容是本章最具挑战性的一节,它只适合具有冒险精神、求知欲极强或经验丰富的程序设计师。可变参数个数在依据情况呼叫传入函式时,知道实际参数数量是很有用的,在PHP中有三种可能的方式处理,其中一个只能在PHP4使用:1. 定义带有预设参数的函式,当函式在呼叫中遗漏任何参数时,它都会用预设值来代替,不会显示警告资讯。2. 使用阵列参数存放这些值,由呼叫的程序码中负责包装这个阵列,函式本体必须适当地将其中的资料分离。3. 使用P

  • 配置整合Win+Apache+PHP+MySQL+Tcomcat(或Resin)完全手册

    系统要求:硬件能跑起操作系统即可Win2K、WinXP或Win2003操作系统\n前期准备:所需软件列表:(本配置以下列软件版本完成)1、 APACHE_2.0.47-win32-x86-no_ssl (Apache web服务器)2、 PHP-4.3.3-Win32 (PHP语言解析器)3、 MySQL-4.0.12-win (MySQL数据库)4、 j2sdk-1_4_2-windows-i586 (JAVA 语言环境)5、 Jakarta-Tomcat-5.0.9 (Tomcat JSP解析服务器)6、 Resin-3.0.3 (Resin JSP解析服务器)7、 mod_jk_1.2.

  • PHP学习宝典-第九章

    网页间的信息传递本章重点为什么HTTP会生生不息地扩散?GET参数另一种使用GET风格式样的URL处理窗体变量PHP超数组本章简单讲解一些有关在Web页面之间传递数据的内容。这样的一些信息不是PHP特有的,而是PHH/HTML或HTTP协议本身中很重要的部份。HTTP是没有状态纪录的(stateless)需要记住有关Web服务一项最重要的事情是,HTTP协议本身没有状态纪录的(stateless)。如果读者具有诗意的灵魂,可能就会说每个HTTP请求(request)孑然一身,没有家园,就像一个全然未知的……你知道这之类的说法。对缺乏诗意的我们,说白点就是指每个HTTP请求(每一次的请求和传送页

  • PHP学习宝典-第三章 (续篇)

    老练的程序设计师可能较不需客外学习,并可以将PHP当做任何其它伺服端程序语言来主生HTML给浏览器以及使用其它用途上,大多数这些程序设计师较喜欢简单的文字编辑器,通常这样的软体会提供你一些有用的工具,例如语法颜色强调,括号成对比对,或是tag自动结束,大多数这些功能只是用来帮助你的无心之过,但是却不会真正帮你写程序。现在使用PHP最令人兴奋的工具已经出现了,它叫做Zend Studio,在本书撰写时正值发行第二版,这个产品结合了一个强大的除错工具(虽然仍然不是一个WYSIWYG工具)编辑环境,这个聪明的主品可以帮助你明显的节省用于检查正确PHP函式语法重复时间,使得你可以迅速消除错误,由于开发

  • PHP5 OOP编程之代理与定制异常

    一、 DBQuery对象  现在,我们的DBQuery对象简单地模仿一个存储过程—一旦被执行,即返回一个必须进行保存的结果资源;并且如果你想使用该结果集上的函数(例如num_rows()或fetch_row())的话,你必须传递MySqlDB对象。那么,如果由DBQuery对象来实现MySqlDB对象(其设计目的是对一个执行查询的结果进行操作)实现的函数,效果如何呢?让我们继续使用上一篇示例中的代码;并且让我们假定,现在由DBQuery对象管理我们的结果资源。DBQuery类的源码如列表1所示。  列表1.使用DBQuery类。\nrequire ‘mysql_db.php&#82

  • PHP has encountered an Access Violation解决方法总结

    这个问题不是很好处理,困惑了很多站长非常时间了主要出现在windows主机的服务器上。在php官方,http://bugs.php.net/也能够查到两三千页的报告,他们官方也是束手无策,经过了11个小版本后,还是没有彻底解决http://bugs.php.net/search.php?cmd=display&search_for=PHP+has+encountered+an+Access&x=8&y=9\n目前我提供一下这几年我维护经验,我的一些民间解决办法\n第一种可能:\n去掉 php中 eaccelerator 的扩展这样做能够解决您的问题,不过可能会加重系统负

  • PHPUnit袖珍指南之自动测试

    最好的程序员也会犯错误。好程序员和差程序员的区别在于:好程序员能通过测试尽可能的发现错误。你越快测试错误,你就越快发现它们,发现和修正的成本就越低。这解释了为什么只在软件发布前才测试的做法为什么问题那么多。大多数错误根本就没有发现过,修正发现的错误是那么的高,以至于你不得不根据优先级来决定只修正那些错误,因为你根本就承受不起全部修正的费用。   相比你正在使用的方法,采用PHPUnit进行测试并不是一个全然不同的东西。它们只是方法不同。两者之间的不同在于,检查程序行为是否符合正确是通过一批可以自动测试的代码片断来进行的。这些代码片断叫做单元测试。 在这一部分,我们先基于打印的测试代码进行自动测