ttd之php测试驱动开发
确保你的代码正常工作是测试的首要的目的,但是在测试你的代码时候,你应该认识到除此
之外还有一些额外的,相对次要的目的:
1、测试让你书写容易测试的代码。这使得代码松散耦合,复杂设计,而且具有
很好的模块性。
2、测试能让你清晰的了解运行代码的期望结果,让你从一开始就注重于模块的
设计和分析。通过测试,也会让你考虑所有可能的输入和相应的输出结果。
3、测试能很快速的了解编码的目的。换句话说,测试事例扮演着“实例”和“文
档”的功能,准确的展示着如何构建一个类,方法等。在这本书中,我有时候通过一个测试
事例来演示代码的期望功能。通过读取一个测试方法的声明,你可以清楚的了解代码是如何
运行的。一个测试实例定义在代码在明确惯用法下的运行情况。
统一建模语言(UML)是一种与具体编程语言无关的用来描述面对对象编程观念的方
法。关于UML 的相关信息资料你可以从http://www.uml.org上找到。
UML涉及到很多方面,但对PHP程序员来说,其中最相关的两方面是类图和序列图。
类图描述了一个或者更多的类以及他们在你的程序之间的相互关系。(译者注:最好能
够参考相关的UML 教材,将有助于你的理解。)每个类都用一个盒子标识,每个盒子都分成
三部分:第一部分是类名,第二步分列举了类的属性(变量),最后一部分列举了类的方法。
属性和方法的可见度被设计为:+代表public( 公开),—代表private( 私有),#代表protected
(受保护的)。
序列图描述了为一个特定的任务或者事件,你对代码中的对象之间的典型的交互活动。
一个序列图主要传达这样的信息:谁,以什么样的顺序,在什么时候,调用不同的方法(由
名字也可以看出:“序列图”)。序列图是对象集和开发人员之间交互沟通的非常有用工具。
在我自己的工程里,我使用这两种典型的类图来勾画我们的设计,但是很少能将他们
格式化到项目文档里面。对象之间的关系经常随着你对系统理解的深化和用户需求的变化而
改变,因此这些图表很快就会过时。这也就是说“一张图足足值一千个文字”。这些图表对
新开发人员理解系统是非常由帮助的,也能做为使用你软件的开发人员的手册。
相关文档:
//获取 url
function match_links($document) {
preg_match_all("'<\s*a\s.*?href\s*=\s*([\"\'])?(?(1)(.*?)\\1|([^\s\>]+))[^>]*>?(.*?)</a>'isx",$document,$links);
while(list($key,$val) = each($links[2])) {
if(!empty($val))
$match[] = $val;
}
......
一、session概述
session是什么,刚开始我也不明白,非专业词典翻译为会议,会议期。直到接触asp后才知道session是干什么的,有什么用。作个不太恰当的比喻吧(虽然不恰当,但意义却是一样的),session就好象你和你女友(或妻子)之间的感情似的,session是你和网站之间的感情。
se ......
通讯录已经大致完成了,但如果记录数多时,查找起来很不方便,如果加一个搜索功能就好了。今天我们就来制作一个搜索功能
在Index.php合适的地方加入搜索框
<!---搜索框--->
<!--这里的所有值前面加前缀“S_”以区分-->
<form id="form1" name="form1" method="post" action="Search.php ......
(1) 打开php的安全模式
php的安全模式是个非常重要的内嵌的安全机制,能够控制一些php中的函数,比如system(),
同时把很多文件操作函数进行了权限控制,也不允许对某些关键文件的文件,比如/etc/passwd,
但是默认的php.ini是没有打开安全模式的,我们把它打开:
safe_mode = on
(2) 用户组安全
当safe_mode打开时, ......