PHP
文章平均质量分 77
cgh43
PHPer
展开
-
SPL学习笔记之三:文件和目录处理
SplFileInfo类的作用在于为文件或者目录的属性提供面向对象的访问功能,其典型应用是获取文件或者文件夹的信息。SplFileInfo类提供了两个关键的方法以支持对它的扩展:1. setInfoClass:这个函数默认指向SplFileInfo类,如果扩展了SplFileInfo类,应该将这个值设置为扩展类的名称。2. setFileClass:这个函数默认执行一个SplFileObject类,如果扩展了这个类,应该设置这个值以确保扩展类正式调用SplFileInfo类的代码提供的类。这两个方法对get原创 2010-09-15 00:28:00 · 1018 阅读 · 0 评论 -
SPL学习笔记之一:SPL简介
SPL(标准PHP库)是PHP5面向对象功能中最重要的组成部分。它在5个关键的方面提升了PHP语言,包括:迭代器、异常、数组重载、XML以及文件和数据处理能力。它还提供了另外一些有用的项,例如观察者模式、计数功能、用于对象标识符的辅助函数以及迭代器处理功能。此外,它还提供了用于自动加载类和接口的高级功能。 在引擎层次,SPL实现了提供所有高级功能的6个类和接口。这些接口了Exception类都具有特殊性,即它们实际上与传统的接口不同。它们拥有特别强大的功能,并且允许引擎以一种特定且特殊原创 2010-09-14 14:11:00 · 2090 阅读 · 0 评论 -
SPL学习笔记之四:数组重载
<br />数组重载是指将对象作为数组使用的过程,这在其它程序语言中称为索引器。<br />ArrayAccess接口使对象的行为看起来和数组一样,它包含了四个方法:<br />1. offsetSet($offset, $value):设置用于数组访问的偏移量<br />2. offsetGet($offset):获取某个特定偏移量上的值<br />3. offsetExists($offset):判断给定的偏移量上是否存在可通过offsetGet($offset)函数获取的值,返回true或false<原创 2010-09-15 10:05:00 · 732 阅读 · 0 评论 -
SPL学习笔记之二:迭代器
<br />SPL迭代器接口的作用在于帮助实现高级的迭代算法,允许为类创建精巧的数据访问方法。<br />SPL提供了5个迭代器接口:Traversable、Iterator、IteratorAggregate、OuterIterator和RecursiveIterator。<br />1. Traversable:Traversable接口实际上不是一个接口,而更像是一个特性。这是因为只有内部的类(也就是用C语言编写的类)才可以直接实现Traversable接口。有两个派生自Traversable接口的基原创 2010-09-14 20:22:00 · 1118 阅读 · 0 评论 -
SPL学习笔记之五:异常
<br />SPL有两个核心的异常类,即LogicException和RuntimeException。<br />LogicException类是从Exception类派生的:class LogicException extends Exception,没有添加任何附加方法。<br />这一分类的作用在于区分编译期逻辑异常和由传递给应用程序的非法数据导致的异常。<br />抛出逻辑异常和抛出标准异常的方法很相似,区别在于只在应用程序编写有误时才抛出逻辑异常。<br />抛出逻辑异常范例:<br />cla原创 2010-09-15 11:41:00 · 866 阅读 · 0 评论 -
PHP中几个容易混淆的函数的区别
PHP中有一些函数的功能十分接近,容易造成混淆。虽然功能相当,但在细节问题上可能会有很大出入。所以,如果使用不当,可能会造成一些不必要的麻烦。以下整理了几个日常使用中容易混淆的函数,以备查阅。1. echo、print、print_r、printf、vprintf和sprintfecho用于输出一个或多个字符串。它实际上并不是函数,而是一个语言结构,所以它并没有返回值。当打印多个变量时,不能像函数调用那样使用括号。print用于输出一个字符串,有返回值(始终返回int(1))print_r用于打印关于一个变原创 2010-09-17 20:05:00 · 509 阅读 · 0 评论 -
PHP学习笔记:单例模式与工厂模式
<br />单例模式被认为是职责模式,这是因为它将创建对象的控制权委托到一个单一的访问点上。在任何时候,应用程序中都只会有这个类仅有的一个实例存在。这可以防止我们去打开数据库的多个连接或者不必要地使用多余的系统资源。在更复杂的系统中,使用单例模式在维持应用程序状态的同步方面也尤其有用。<br />所有的单例模式至少拥有以下三种公共元素:<br />1. 它们必须拥有一个构造函数,并且必须被标记为private<br />2. 它们拥有一个保存类的实例的静态成员变量<br />3. 它们拥有一个访问这个实例的原创 2010-09-24 10:33:00 · 1054 阅读 · 0 评论 -
PHP学习笔记:PERL兼容正则表达式
<br />PERL兼容正则可以使用任何不是字母、数字或反斜线(/)的字符作为定界符,如果作为定界符的字符必须被用在表达式本身中,则需要用反斜线转义。也可以使用(),{},[] 和 <> 作为定界符<br /> <br />模式修正符:修正符中的空格和换行被忽略,其它字符会导致错误。<br />i 如果设定此修正符,模式中的字符将同时匹配大小写字母。<br />m 当设定了此修正符,行起始(^)和行结束($)除了匹配整个字符串开头和结束外,还分别匹配其中的换行符(/n)的之后和之前。<br />s 如果设定原创 2010-11-07 17:06:00 · 552 阅读 · 0 评论