文章标题关闭所有内容预览 | 展开所有内容预览
-
PHP5.0对象模型探索之重载 - PHP编程
[内容预览]
2 | 2008-09-28 12:24:05
PHP4中已经有了重载的语法来建立对于外部对象模型的映射,就像Java和COM那样.PHP5带来了强大的面向对象重载,允许程序员建立自定义的行为来访问属性和调用方法。重载可以通过__get,__set,and__call几个特殊方法来进行.当Zend引擎试图访问一个成员并没有找到时,PHP将会调用这些方法.在下面的例子...
[阅读全文]
-
浅议PHP程序开发中的模板选择 - PHP编程
[内容预览]
2 | 2008-09-28 12:24:03
关于PHP的模板的确是一个说起来容易做起来麻烦的事情。随便一数大概有20种以上的选择,光pear里面就包含了5中不同的模板,实在让人头疼。千万不要人云亦云的说这个好那个不好,选择模板之前最好先应该搞清楚模板的真正目的是什么?简单地说,模板的核心目的就是一个teamwork。主要的作用方式有两种:1、分离HTML和PHP...
[阅读全文]
-
用PHP写的身份证验证程序 - PHP编程
[内容预览]
1 | 2008-09-28 12:24:02
写了几个身份证方面的函数,个人感觉挺有用的,特别是在网络问卷调查时,对个人信息里的身份证进行验证很有用,但是应者寥寥,还是收在自己的blog里算了。<?php//计算身份证校验码,根据国家标准GB11643-1999functionidcard_verify_number($idcard_base){ if(strle...
[阅读全文]
-
PHP.MVC的模板标签系统之初识PHP.MVC - PHP编程
[内容预览]
7 | 2008-09-28 12:24:01
PHP.MVC的模板标签系统(PhpMVC_Tags)现在提供了3种类型的标签:包含指令,声明和表达式。包含指令能让我们将内容分隔为许多模块,比如:页眉,页脚或者内容.包含的页面可以是HTML,或者其他标签模板页.据个例子,下面的包含指令能用来包含一个页眉:<@include’pageHeader.ssp’@>声明允许...
[阅读全文]
-
PHP程序加速探索之代码优化 - PHP编程
[内容预览]
2 | 2008-09-28 12:24:00
掌握了PEAR::BenchMark,现在你已经知道如何测试你的代码,知道如何判断你的代码是快是慢,是哪一部份比较慢。那么接下来我要说的就是如何消灭或优化那部份慢的代码。这一点上我个人最主要的经验只有两点,一是消除错误的或低效的循环;二是优化数据库查询语句。其实还存在一些其它的优化细节,比如“str_replace比e...
[阅读全文]
-
[图文] 使用 PHP 5.0创建图形的巧妙方法 - PHP编程
[内容预览]
3 | 2008-09-28 12:23:57
本文将展示如何使用PHP构建面向对象的图形层。使用面向对象的系统可以用来构建复杂的图形,这比使用标准PHP库中所提供的基本功能来构建图形简单很多。我将图形编辑程序分为两类:一类是绘图程序,利用这种程序可以一个像素一个像素地绘制图像;另外一类是制图程序,这种程序提供了一组对象,例如线、椭圆和矩形,您可以使用这些对象来组合...
[阅读全文]
-
PHP程序加速探索之压缩输出gzip - PHP编程
[内容预览]
9 | 2008-09-28 12:23:56
利用Apache中的mod_gzip模块,我们可以利用gzip的压缩算法来对Apache服务器发布的网页内容进行压缩后再传输到客户端的浏览器。如果是纯文本的内容,效果非常明显,大约可以压缩到原来的30%-40%,使用户的浏览速度大大加快。Gzip需要客户端浏览器支持,目前大部份浏览器都支持gzip,如IE,Netsca...
[阅读全文]
-
用PHP文件上传的具体思路及实现 - PHP编程
[内容预览]
0 | 2008-09-28 12:23:55
文件上传我们需要用到HTML里面表单的type=file类型,及其enctype属性。这是我们大家必须要用的。当然了PHP函数库当中的FILE函数库,字符串类型函数库,目录函数库及$_FILES[]的使用是我们必须要用到的。也许每一个站点都可能会对上传文件有许多的限制,这些限制会包括文件类型,文件大小,扩展名,以及上传...
[阅读全文]
-
使用PHP编写基于Web的文件管理系统 - PHP编程
[内容预览]
3 | 2008-09-28 12:23:53
PHP有很多与文件系统相关的函数,不仅可以帮助你打开文件,还可以显示目录内容、移动文件等。很多人甚至使用PHP写出了基于Web的文件管理器。首先需要提醒一些关于文件路径的东西:在Windows你可以在文件路径中使用斜线“/”或反斜线“\\”,而其他操作系统仅使用”/”。出于兼容性考虑,以下实例使用“/”的表示方法:下面...
[阅读全文]
-
理解PHP中的MVC编程之MVC框架简介 - PHP编程
[内容预览]
1 | 2008-09-28 12:23:52
【什么是MVC?】MVC是一个可以让你把“三个部分(即MVC的全称,Model、View、Controller)”谐调地组成一个复杂应用程序的概念。一辆汽车就是一个在现实生活中非常好的MVC例子。我们看车都看两个View(显示)部分:内部和外部。而这两个都离不开一个Controller(控制者):司机。刹车系统、方向盘...
[阅读全文]
-
理解PHP中的MVC编程之控制器 - PHP编程
[内容预览]
1 | 2008-09-28 12:23:50
简单来讲,控制器的作用就是接受请求。它使用获取的方法,在这里是通过URI,载入一个功能模块来刷新或者提交一个表述层。控制器将使用$_GET自动全局变量来判断载入哪一个模块。一个请求的例子,看起来像这样:http://example.com/index.php?module=login这看起来很简单,但是在实现的过程中却...
[阅读全文]
-
PHP程序加速探索之缓存输出 - PHP编程
[内容预览]
0 | 2008-09-28 12:23:49
内容缓存输出PEARcache接下来我们开始探索更常用的缓存技术,这也是本文的重点部份。首先我们使用PEAR中的cache包。PEAR可以将内容缓存于文件,数据库或者内存中,我们以文件为例。下面是一个没有使用缓存的PHP小程序:pear_content_cache1.php<?php echo"这是内容。<P>"; e...
[阅读全文]
-
让你的PHP引擎全速运转的三个绝招 - PHP编程
[内容预览]
3 | 2008-09-28 12:23:48
作为流行的Web编程语言,PHP的最大优势就是速度。PHP4已经在这方面做的非常好了,你几乎找不到比它更快的脚本编程语言了。但是如果你的应用负荷很大,而带宽又比较小,或者有其他的瓶颈影响你的服务器性能,那么,你不妨试试笔者为你开出的几个药方,看看是否灵验。一、代码优化一谈到代码优化,或许你想到的就是整齐明了的代码,但是...
[阅读全文]
-
PHP程序加速探索之加速工具软件 - PHP编程
[内容预览]
1 | 2008-09-28 12:23:46
接着我们要关注一下PHP加速的另一个领域—缓存工具软件。这类软件都是从优化PHP运行环境来提速的,不需要改变任何代码。我们可以大概地将它们称为“执行码优化/缓存工具”,你可以理解为它们用来实现比较底层的优化/缓存。以下列出目前比较常用的此类工具,具体哪种效果最好,请用自己的服务器环境测试:(一)APCAlternati...
[阅读全文]
-
[图文] PHP程序员的优化调试技术和技巧 - PHP编程
[内容预览]
1 | 2008-09-28 12:23:45
本文介绍调试PHP应用程序的各种方法,包括在ApacheandPHP中打开错误报告,以及通过在一个简单的PHP脚本中放置策略性的print语句,找到更困难的bug的源头。还会介绍用于Eclipse的PHPEclipse插件,这是一个灵活的开发环境,具有实时语法解析能力,还会介绍PHPEclipse的DBG调试器扩展。简...
[阅读全文]
-
正确理解PHP程序编译时的错误信息 - PHP编程
[内容预览]
1 | 2008-09-28 12:23:43
我们编写程序时,无论怎样小心谨慎,犯错总是在所难免的。这些错误通常会迷惑PHP编译器。如果开发人员无法了解编译器报错信息的含义,那么这些错误信息不仅毫无用处,还会常常让人感到沮丧。编译PHP脚本时,PHP编译器会尽其所能报告它遇到的第一个问题。这样就产生一个问题:只有当错误出现时,PHP才能将它识别出来(本文后面对此问...
[阅读全文]
-
PHP实现简单线性回归之数学库的重要性 - PHP编程
[内容预览]
2 | 2008-09-28 12:23:42
简介与其它开放源码语言(比如Perl和Python)相比,PHP社区缺少强有力的工作来开发数学库。造成这种状况的一个原因可能是由于已经存在大量成熟的数学工具,这可能阻碍了社区自行开发PHP工具的工作。例如,我曾研究过一个功能强大的工具SSystem,它拥有一组令人印象深刻的统计库,专门被设计成用来分析数据集,并且在19...
[阅读全文]
-
[图文] 用PHP读取和编写XML DOM - PHP编程
[内容预览]
3 | 2008-09-28 12:23:41
有许多技术可用于用PHP读取和编写XML。本文提供了三种方法读取XML:使用DOM库、使用SAX解析器和使用正则表达式。还介绍了使用DOM和PHP文本模板编写XML。用PHP读取和编写可扩展标记语言(XML)看起来可能有点恐怖。实际上,XML和它的所有相关技术可能是恐怖的,但是用PHP读取和编写XML不一定是项恐怖的任...
[阅读全文]
-
PHP实现简单线性回归之数据研究工具 - PHP编程
[内容预览]
0 | 2008-09-28 12:23:39
概念简单线性回归建模背后的基本目标是从成对的X值和Y值(即X和Y测量值)组成的二维平面中找到最吻合的直线。一旦用最小方差法找到这条直线,就可以执行各种统计测试,以确定这条直线与观测到的Y值的偏离量吻合程度。线性方程(y=mx+b)有两个参数必须根据所提供的X和Y数据估算出来,它们是斜率(m)和y轴截距(b)。一旦估算出...
[阅读全文]
-
PHP开发中关于文件操作的疑难问答 - PHP编程
[内容预览]
1 | 2008-09-28 12:23:38
前言:PHP中对各类数据库的操作有着支持,对文件的操作也同样有着很丰富的操作方法,很多朋友现在的操作还是基于文件操作可是有的时候在操作文件的时候还存在不少的困惑和疑点,以下是我在日常编写过程中碰到的以及坛上朋友所碰到的关于文件操作的一些问题收藏吧。问:如何新建一个文件?答:1、使用fopen(要建立的文件名,参数),参...
[阅读全文]
-
[图文] PHP.MVC的模板标签系统之标签行为调度 - PHP编程
[内容预览]
1 | 2008-09-28 12:23:37
TagActionDispatcher是一个标准的ActionDispatcher类的实现,它支持访问基本模板标签。TagActionDispatcher类支持相同的ActionObjects集合和ViewResourcesConfig属性作为默认的ActionDispatcher。TagActionDispatche...
[阅读全文]
-
PHP安全配置之实现安全的两个重点 - PHP编程
[内容预览]
0 | 2008-09-28 12:23:35
一、Web服务器安全PHP其实不过是Web服务器的一个模块功能,所以首先要保证Web服务器的安全。当然Web服务器要安全又必须是先保证系统安全,这样就扯远了,无穷无尽。PHP可以和各种Web服务器结合,这里也只讨论Apache。非常建议以chroot方式安装启动Apache,这样即使Apache和PHP及其脚本出现漏洞...
[阅读全文]
-
用PHP+java实现自动新闻滚动窗口 - PHP编程
[内容预览]
1 | 2008-09-28 12:23:34
show.php源代码:<?if($action=="cp"){echo"<divalign=center><p>滚动菜单资料输入端</p><formmethod=postaction=show.php?action=edit><p>文字一:<inputtype=textname=t1maxlength=30>链接一:...
[阅读全文]
-
在PHP中开发XML应用程序之基础篇 - PHP编程
[内容预览]
1 | 2008-09-28 12:23:33
一、XML简介XML(可扩展的标注语言)是一种W3C标准,主要用于Web应用程序和服务器之间实现容易的交互、数据的存储与使用。使用XML标准编码的数据具有能容易被人和计算机解释的意义和结构。XML数据是平台和应用程序独立的。不用多说,这本身就使XML成为适合于互联网的一个理想的数据交换格式(事实上,它正是因这一用途而被...
[阅读全文]
-
PHP编程技巧:看实例学正则表达式 - PHP编程
[内容预览]
1 | 2008-09-28 12:23:31
首先,让我们看看两个特别的字符:’^’和‘$’他们是分别用来匹配字符串的开始和结束,一下分别举例说明:"^The":匹配以"The"开头的字符串;"ofdespair$":匹配以"ofdespair"结尾的字符串;"^abc$":匹配以abc开头和以abc结尾的字符串,实际上是只有abc与之匹配;"notice":匹配...
[阅读全文]
-
PHP一些常用的正则表达式 - PHP编程
[内容预览]
2 | 2008-09-28 12:23:30
匹配中文字符的正则表达式:[\u4e00-\u9fa5]匹配双字节字符(包括汉字在内):[^\x00-\xff]应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)String.prototype.len=function(){returnthis.replace([^\x00-\xff]/g,"aa"...
[阅读全文]
-
PHP加密文本文件并限制特定页面的存取 - PHP编程
[内容预览]
2 | 2008-09-28 12:23:29
一、简介尽管在一般情况下,你的网站往往相当简单以至它根本不要求使用数据库;但是在有些情况下,你的站点可能想限制对某些页面的存取。一般地,这意味着要使用一个数据库来存储口令和用户名。然而,你还有一个更容易的方法-尽管其安全性差了一点,但是它仅包含了极少的编码。如果你在自己的Web应用程序中使用了数据库,那么你已经能够在某...
[阅读全文]
-
PHP强制对象类型之instanceof操作符 - PHP编程
[内容预览]
1 | 2008-09-28 12:23:27
一、简介在PHP中实现强制对象类型有时可能非常重要。如果缺少了它,或是因为缺乏这方面的知识——基于不正确的编程假设,或者仅仅是由于懒惰,那么你会在特定的Web应用程序中看到你所不希望的结果。特别是当用PHP4进行编程时,使用"is_a()"函数(尽管还有其它方法)来验证你所使用的对象的类型是非常...
[阅读全文]
-
PHPUnit袖珍指南之自动测试 - PHP编程
[内容预览]
1 | 2008-09-28 12:23:26
最好的程序员也会犯错误。好程序员和差程序员的区别在于:好程序员能通过测试尽可能的发现错误。你越快测试错误,你就越快发现它们,发现和修正的成本就越低。这解释了为什么只在软件发布前才测试的做法为什么问题那么多。大多数错误根本就没有发现过,修正发现的错误是那么的高,以至于你不得不根据优先级来决定只修正那些错误,因为你根本就承...
[阅读全文]
-
PHPUnit袖珍指南之PHPUnit的目的 - PHP编程
[内容预览]
1 | 2008-09-28 12:23:25
到此为止,我们只有两个对Array和内建函数sizeof()的测试。当我们开始测试大量的array_*()函数时,每个都需要一个测试。我们可以每个都从头写起。但是,更好的方法是一次性写好一个测试基础构架,以后就只用写每个测试不同的部分。PHPUnit就是这样一个基础构架。例5展示了如何用PHPUnit重写例4中的两个测...
[阅读全文]

