22:50
PHPUnit袖珍指南之PHPUnit的目的,到此为止,我们只有两个对Array和内建函数sizeof的测试。当我们开始测试大量的array_*函数时,每个都需要一个测试。我们可以每个都从头写起。但是,更好的方法是一次性写好一个测试基础构架,以后就只用写每个测试不同的部分。PHPUnit就是这样一个基础构架。例5展示了如..
22:50
ppform还真是个不错的工具—php桌面程序帮手,最近又用上了ppform这个小工具,这东东的神奇之处在于可以用php象delphi一样快速开发出一个小工具,比如下面这个俺正在用的可以直接调用php函数的小东东,只用少量的代码,就完成了整个功能,如下:PLAINTEXTPHP:lt;?phprequire_onceppform.php;?gt;lt;?phpnbsp;class_..
22:50
还是说php实现singleton模式,这天考虑用php来singleton一下,看到一篇比较全面的总结--singleton模式的几种实现.其中总结的php5的实现:PLAINTEXTPHP:classMyClassnbsp;{nbsp;nbsp;nbsp;nbsp;privatestatic$instance;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;publicstaticfunctionsingletonnbsp;nbsp;nbsp..
22:50
vim的的代码折叠,vim也是有代码折叠功能的,以前就知道,然而毕竟用的不多,这个功能基本上很少用。随着最近和gvim的亲密接触,对代码折叠功能逐渐熟悉起来。有一次打开一段php的代码—比如PEAR.php,发现里面的代码自动被折叠了,将代码展开后,可以看到只要代码两边有/*{{{*/和/*}}}*/..
22:50
PHPhasencounteredanAccessViolation解决方法总结,这个问题不是很好处理,困惑了很多站长非常时间了主要出现在windows主机的服务器上。在php官方,http://bugs.php.net/也能够查到两三千页的报告,他们官方也是束手无策,经过了11个小版本后,还是没有彻底解决http://bugs.php.net/search.php?cmd=displayamp;search_fo..
22:50
如何利用PHP和CSS改变网页文字大小,用PHP和CSS改变网页文字大小——在设计网站的时候,要牢记一点:并不是所有的访问者都是神采奕奕的年轻人,而且他们也不一定完全熟悉Web浏览器的各种使用方法。在设计网站的时候,要牢记一点:并不是所有的访问者都是神采奕奕的年轻人,而且他们也不一定完全熟悉Web浏览..
22:50
ZendCache使你的站点飞起来,薛启康xqk@163.net商业应用的网站,其传输效率是十分重要的,通常在一些电子商务的站点上,服务器的反应速度决定了其服务质量,服务器的负载决定了它的最大可提供客户的访问容量。技术人员总是想方设法地尽可能地提高服务器的响应速度。而ZendCache也正是为了提高服务器..
22:50
php下免费的加速器,PHPAccelerator,http://php-accelerator.co.uk/可以下载,是zend的强劲对手。是免费的。我已经在用啦。效果还不错。修改php.ini加上:zend_extension=/usr/local/lib/php_accelerator_1.3.3r2.sophpa=onphpa.tweaks=onphpa.cache_dir=/tmpphpa.file_perms=400phpa.cache_file_prune_pe..
22:50
PHP强制对象类型之instanceof操作符,一、简介在PHP中实现强制对象类型有时可能非常重要。如果缺少了它,或是因为缺乏这方面的知识——基于不正确的编程假设,或者仅仅是由于懒惰,那么你会在特定的Web应用程序中看到你所不希望的结果。特别是当用PHP4进行编程时,使用is_a函数(尽管还有其它方法)来验证你..
22:50
PHP5.0中多态性的实现方案浅析,提要:本文将讨论多态性的概念及其在面向对象设计中的应用,还将分析如何在PHP5中使用多态性以及存在的优缺点。PHP的最新发行版本中已经实现了对迟绑定的支持。当然,在使用其迟绑定功能时还存在很多问题。如果你使用的是更旧版本的PHP(我的服务器上运行的是PHP5.0.1版..
22:50
php+xapianextension的安装,xapian是啥玩意?xapian是一个“Xapian是一个开源概率论信息检索库,基于GPL发布。它是用C++编写的,提供的绑定可以支持其它语言支持Perl,Python,PHP,Java,andTCL的开发。Xapian设计为一个高度可适应的工具集,可以让开发人员方便地为他们自己的应用程序增加高级索引和搜..
22:50
用php简单实现SearchEngineFriendly的URL,上次写了SearchEngineFriendly的URL设计-俺在这个事上面折腾,要实现这个http://www.myhost.com/foo.php?a=Aamp;b=Bamp;c=C-gt;http://www.myhost.com/foo.php/a/A/b/B/c/C的url转换,实际上还有不同的办法.比如说我用的是虚拟主机,也想实现url优化,但是我没有服务器权限..
22:50
[GD]生成bmp格式的图片imagebmp,GD库里没有生成bmp图片的函数,所以自己写了一个,这个函数尚有一个压缩算法没有写,不过已经够用了。需要的同学可以看看。intimagebmpresourceimage[,stringfilename[,int$bit[,intcompression]]]$im:图像资源$filename:如果要另存为文件,请指定文件名,为空则直接在..
22:50
PHP开发中关于文件操作的疑难问答,前言:PHP中对各类数据库的操作有着支持,对文件的操作也同样有着很丰富的操作方法,很多朋友现在的操作还是基于文件操作可是有的时候在操作文件的时候还存在不少的困惑和疑点,以下是我在日常编写过程中碰到的以及坛上朋友所碰到的关于文件操作的一些问题收藏吧。问:..
22:50
Linux下PHP连接MSSQLServer的办法,提出问题前几天做了一个非常奇怪的项目,我公司开发了一套基于中国联通SGIP协议的SP端短消息服务软件,提供联通130短信服务。这套系统是Windows2000下的,数据库采用的是微软SQLServer2000,并且已经正常运行了一段时间。而最近由于要在WEB上提供短消息用户的一些信息,..
22:50
PHP开发中接收复选框信息的方法,PHP接收多个同名复选框信息不像ASP那样自动转换成为数组,这给使用带来了一定不便。但是还是有解决办法的,就是利用javascript做一下预处理。多个同名复选框在javascript中还是以数组的形式存在的,所以在表单提交之前可以利用javascript把复选框中的信息组合成一个字符..
22:50
PHP实现简单线性回归之数据研究工具,概念简单线性回归建模背后的基本目标是从成对的X值和Y值(即X和Y测量值)组成的二维平面中找到最吻合的直线。一旦用最小方差法找到这条直线,就可以执行各种统计测试,以确定这条直线与观测到的Y值的偏离量吻合程度。线性方程(y=mx+b)有两个参数必须根据所提供的X和Y..
22:50
用PHP读取和编写XMLDOM,有许多技术可用于用PHP读取和编写XML。本文提供了三种方法读取XML:使用DOM库、使用SAX解析器和使用正则表达式。还介绍了使用DOM和PHP文本模板编写XML。用PHP读取和编写可扩展标记语言(XML)看起来可能有点恐怖。实际上,XML和它的所有相关技术可能是恐怖的,但是用PH..
22:50
PHP实现简单线性回归之数学库的重要性,简介与其它开放源码语言(比如Perl和Python)相比,PHP社区缺少强有力的工作来开发数学库。造成这种状况的一个原因可能是由于已经存在大量成熟的数学工具,这可能阻碍了社区自行开发PHP工具的工作。例如,我曾研究过一个功能强大的工具SSystem,它拥有一组令人印象深刻..
22:50
正确理解PHP程序编译时的错误信息,我们编写程序时,无论怎样小心谨慎,犯错总是在所难免的。这些错误通常会迷惑PHP编译器。如果开发人员无法了解编译器报错信息的含义,那么这些错误信息不仅毫无用处,还会常常让人感到沮丧。编译PHP脚本时,PHP编译器会尽其所能报告它遇到的第一个问题。这样就产生一个..
22:50
PHP程序加速探索之缓存输出,内容缓存输出PEARcache接下来我们开始探索更常用的缓存技术,这也是本文的重点部份。首先我们使用PEAR中的cache包。PEAR可以将内容缓存于文件,数据库或者内存中,我们以文件为例。下面是一个没有使用缓存的PHP小程序:pear_content_cache1.php<?phpecho这是内容。<P..
22:50
PHP模板引擎Smarty介绍,模板引擎Smarty深入浅出介绍——PHP来自:cjjer做了部分变动用PHP实现MVC开发模式的逻辑层和表示层有多种模板引擎可供选择,但是官方引擎SMARTY诞生后,选择就有了变化。它的理念和实现都是相当前卫的。本文主要讨论SMARTY之于其他模板引擎的不同特点,简要介绍了该引擎..
22:50
PHP程序加速探索之加速工具软件,接着我们要关注一下PHP加速的另一个领域—缓存工具软件。这类软件都是从优化PHP运行环境来提速的,不需要改变任何代码。我们可以大概地将它们称为“执行码优化/缓存工具”,你可以理解为它们用来实现比较底层的优化/缓存。以下列出目前比较常用的此类工具,具体哪种效果..
22:50
使用PHP编写基于Web的文件管理系统,PHP有很多与文件系统相关的函数,不仅可以帮助你打开文件,还可以显示目录内容、移动文件等。很多人甚至使用PHP写出了基于Web的文件管理器。首先需要提醒一些关于文件路径的东西:在Windows你可以在文件路径中使用斜线“/”或反斜线“\\”,而其他操作系统仅使用”/”。..
22:50
理解PHP中的MVC编程之MVC框架简介,【什么是MVC?】MVC是一个可以让你把“三个部分(即MVC的全称,Model、View、Controller)”谐调地组成一个复杂应用程序的概念。一辆汽车就是一个在现实生活中非常好的MVC例子。我们看车都看两个View(显示)部分:内部和外部。而这两个都离不开一个Controller(控制者..
22:49
理解PHP中的MVC编程之控制器,简单来讲,控制器的作用就是接受请求。它使用获取的方法,在这里是通过URI,载入一个功能模块来刷新或者提交一个表述层。控制器将使用$_GET自动全局变量来判断载入哪一个模块。一个请求的例子,看起来像这样:http://example.com/index.php?module=login这看起来很简单..
22:49
用PHP文件上传的具体思路及实现,文件上传我们需要用到HTML里面表单的type=file类型,及其enctype属性。这是我们大家必须要用的。当然了PHP函数库当中的FILE函数库,字符串类型函数库,目录函数库及$_FILES[]的使用是我们必须要用到的。也许每一个站点都可能会对上传文件有许多的限制,这些限制会包括文..
22:49
PHP程序加速探索之脚本执行速度测试,前面有提到,只有找到影响速度的代码,我们才有可能进行优化。PEAR的benchmark包中的Benchmark_Timer类和Benchmark_Iterate类,可以用来很方便地测试脚本执行的速度。关于PEAR的安装与配置请自行查看相关资料。首先用Benchmark_Iterate类来测试程序中某个函数或类的某个..
22:49
PHP漏洞中的战争,滥用include1.漏洞原因:Include是编写PHP网站中最常用的函数,并且支持相对路径。有很多PHP脚本直接把某输入变量作为Include的参数,造成任意引用脚本、绝对路径泄露等漏洞。看以下代码:...$includepage=$_GET[includepage];include$includepage;...很明显,我们只需..
22:49
数据对象扩展成默认组件PHP开发小组发布PHP5.1.0,PHP5.1.0版带来性能的提升,让PHP数据对象(DataObjects)扩展成为默认组件。上周,PHP开发小组发布了5.1.0版的PHP脚本语言,这是自从2004年7月发布5.0版以来最重要的一次升级。这一次的版本包括性能上的提升,增加了一个旨在简化与数据库进行交互操作的扩展件,还有其..