用途:对类,方法,属性,参数的提取生成文档;自动加载插件

实列化类同于new:
$ref = new ReflectionClass($classname);
$class = $ref->newInstance(); //相当于new $classname;

区别:new 出来的class,不能访问它的私有属性/方法,但反射就可以;
反射返回的对象是class的元数据对象(属性/方法),而不是类本身

#SPL标准库

###SPL数据结构

SplDoublyLinkedList:双向链表
SplStack:堆
SplQueue:队列
SplFixedArray:定长php数组

###SPL迭代器
AppendIterator:按顺序访问几个不同的迭代器
$a = new ArrayIterator(array('a','b','c'));
$b = new ArrayIterator(array('e','d','f'));
$iterator = new AppendIterator;
$iterator->append($a);
$iterator->append($b);
//$iterator->current();
//$iterator->getArrayIterator();
//$iterator->getInnerIterator();
foreach ($iterator as $key => $value) {
echo $value."\n";
}

ArrayIterator:数组迭代器
$a = array(
'name' => 'daxia',
'age' => '10'
);
$a = new ArrayIterator($a);
$a->append(array(
'address' => '123',
));

CachingIterator:缓存迭代另一个迭代器
$iterator = new ArrayIterator(array(1,2,3));
$cache = new CachingIterator($iterator, CachingIterator::FULL_CACHE);
$cache->next();
var_dump($cache->getCache());

CallbackFilterIterator:同时执行过滤和回调操作

DirectoryIterator:目录文件迭代器

EmptyIterator:类占位符迭代器,不执行任何操作

FilesystemIterator:文件迭代器,继承DirectoryIterator

FilterIterator:过滤数据,必须实现accept()抽象方法

GlobIterator:带匹配模式的文件遍历器

InfiniteIterator:无限循环访问迭代器,当到达末尾时,自动重头遍历

IteratorIterator:通用类型迭代器,可以自定义迭代器

LimitIterator:限定迭代器,限定遍历的元素

MultipleIterator:依次遍历所有连接迭代的迭代器

NoRewindIterator:不能多次迭代,只能一次性

RecursiveArrayIterator:创建一个用于递归形式数组结构迭代器,类似多维数组

###常用的SPL函数
iterator_to_array() 将迭代器中的元素拷贝到数组
iterator_count() 统计迭代器的元素个数
spl_autoload() __autoload()函数

SPL类的更多相关文章

  1. PHP标准库 (SPL) 笔记

    简介 SPL是Standard PHP Library(PHP标准库)的缩写. The Standard PHP Library (SPL) is a collection of interfaces ...

  2. php SPL学习

    数据结构 SplDoublyLinkedList - 该SplDoublyLinkedList类提供了一个双向链表的主要功能 SplStack - 该SplStack类提供了一种使用双向链表实现栈的主 ...

  3. SPL学习 迭代器

    主要学习内容: 慕课网的spl视频教程 阮一峰SPL学习笔记 http://www.ruanyifeng.com/blog/2008/07/php_spl_notes.html SPL类详解 http ...

  4. PHP类和函数注释大全

    每次要用PHP的某个功能的时候,都要去查一下,于是决定将PHP所有类和函数都整理出来,加上注释 大致实现 将php.jar文件解压,取出目录stubs 将stubs中的所有php文件中的注释去掉,并做 ...

  5. 【SPL标准库专题(1)】 SPL简介

    什么是SPL SPL是Standard PHP Library(PHP标准库)的缩写. 根据官方定义,它是"a collection of interfaces and classes th ...

  6. Java类的继承与多态特性-入门笔记

    相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...

  7. PHP7函数大全(4553个函数)

    转载来自: http://www.infocool.net/kb/PHP/201607/168683.html a 函数 说明 abs 绝对值 acos 反余弦 acosh 反双曲余弦 addcsla ...

  8. paip.php 5.0 5.3 5.4 5.5 -6.0的新特性总结与比较

    paip.php 5.0 5.3 5.4  5.5 -6.0的新特性总结与比较 PHP5的新特性 2 · 对象的参照过渡是默认的(default) 3 · 引入访问属性的限制 3 · 引入访问方法的限 ...

  9. PHP框架Yii2.0安装(基础版、高级版)

    最近农成也是切入了yiiframework 2.0,就是安装yii2.0就花费了不少的时间,为此做了很多的弯路,特此写一篇博文来给后面学习的同学少走一点的弯路.写的不好的地方欢迎各位学习的同学们能够指 ...

随机推荐

  1. Git 基础教程 之 --no-ff模式合并

    ①  创建并切换dev分支 ②  修改readme.txt,并add,commit ③  切回master ④  合并 git merge --no-ff -m “merge with no-ff”d ...

  2. 学习EXTJS6(7)基本功能-最常用的表单

    开发过程中关于表单的处理无非: 1.表单和表单元素 2.实现表单验证 3.表单的提交和加载 -------------------------------------- 1.Ext.form.Basi ...

  3. HDU4569 Special equations

    /* HDU4569 Special equations http://acm.hdu.edu.cn/showproblem.php?pid=4569 数论 题意:f(x)为一n次方程求是否存在x, ...

  4. CodeForces - 9B - Running Student

    先上题目: B. Running Student time limit per test 1 second memory limit per test 64 megabytes   And again ...

  5. 简述synchronized和java.util.concurrent.locks.Lock的异同

    1.synchronized 用在方法和代码块的区别? a. 可以只对需要同步的使用 b.与wait(),notify()和notifyall()方法使用比较方便 2.wait() a.释放持有的对象 ...

  6. ios自己定义类(UIView)代码生成简单的UITableViewCell

    因为一个项目中有大量的UITableViewCell须要书写,样式几乎相同都是 文字介绍:显示内容 这种. 自己又懒得写UITableViewCell类嫌不是必需:在方法tableView:cellF ...

  7. Codeforces 474 C. Captain Marmot

    4*4*4*4暴力+点的旋转+推断正方型 C. Captain Marmot time limit per test 1 second memory limit per test 256 megaby ...

  8. 王立平--Http中Get() 与 Post()的差别?

    Http协议是基于TCP协议的,而TCP协议是一种有连接.可靠的传输协议.假设丢失的话,会重传.所以这种话,就 不会有数据的丢失了. 而Http协议有三种方法.Get,Post,Head方法.可是用的 ...

  9. POJ 1166 The Clocks (暴搜)

    发现对这样的模拟题根本没啥思路了,本来准备用bfs的.可是结果超时了,这是參考别的人代码写的: #include <stdio.h> #include <iostream> # ...

  10. hdu5355 Cake

    Problem Description There are m soda and today is their birthday. The 1-st soda has prepared n cakes ...