php spl使用详解

spl提供了多个迭代器类,分别提供了迭代访问、过滤数据、缓存结果、控制分页等功能

autoload功能
spl_autoload_register 可以很好地处理需要多个加载器的情况,这种情况下 spl_autoload_register 会按顺序依次调用之前注册过的加载器。作为对比, __autoload 因为是一个函数,所以只能被定义一次

libs/People.class.php

<?php
class People{
	public function walk(){
		echo "人类行走<br/>";
	}
	function say(){
		echo "人类说话<br/>";
	}
}
libs/Man.class.php
<?php
class Man{
	public function walk(){
		echo "男人行走<br/>";
	}
	function say(){
		echo "男人说话<br/>";
	}
}


test.php
<?php
function loader($classname){
    if($classname) {
        require __DIR__ . '/libs/'.$classname.'.class.php';
    }
}

spl_autoload_register('loader');

$obj=new People();
$obj->walk();
$obj=new Man();
$obj->say();
/*
结果:
人类行走
男人说话
*/


IteratorIterator迭代功能

<?php
class Outer extends IteratorIterator{
    public function current(){
		return parent::current()."-current()";
	}
	public function key(){
		return parent::key()."-key()";
	}
}
$array=array('value1','value2','value3','value4');
$out = new Outer(new ArrayIterator($array));
foreach($out as $key => $value){
    echo $key."||".$value."</br>";
}

/*
结果:
0-key()||value1-current()
1-key()||value2-current()
2-key()||value3-current()
3-key()||value4-current()
*/


队列功能
<?php
$queue=new SplQueue();
$queue->enqueue(1);
$queue->enqueue(2);
$queue->enqueue(3);

echo "bottom:".$queue->bottom()."</br>";
echo "top:".$queue->top()."</br>";
$queue->rewind(); 
$queue->dequeue();    //出队列 从 bottom 位置删除

print_r($queue);

/*
结果:
bottom:1
top:3
SplQueue Object ( [flags:SplDoublyLinkedList:private] => 4 [dllist:SplDoublyLinkedList:private] => Array ( [0] => 2 [1] => 3 ) )
*/



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
详细描述:内容简介本书采用循序渐进的方式介绍了用PHP 进行Web 开发的相关知识。书中首先从OOP 采用的机制—— 抽象类、接口、契约式编程开始讲起,然后介绍了静态方法、单例模式、工厂模式和PHP 6 的新特性等内容,接着介绍了测试和文档方面的内容,还介绍了标准PHPSPL 方面的知识以及PHP 开发人员最有可能用到的MVC 模式,最后介绍了Ajax 、JSON 、SOAP Web 服务以及SSL 客户端验证等Web 2.0 方面的内容。本书适合中、高级的PHP 程序员阅读。媒体评论 “很长时间没有看到这样有价值的PHP高级图书了,我从本书中获益匪浅。强烈推荐!”                   ——Quentin Zervaas,资深PHP程序员,《PHP Web 2.0开发实战》一书作者  “本书是我读过的最好的技术书,推荐阅读。”                   ——Amazon.com 目录第一部分 OOP和模式 第1章 抽象类、接口和契约式编程 第2章 静态变量、成员和方法 第3章 单例模式和工厂模式 第4章 异常 第5章 PHP 6中的新特性第二部分 测试和文档编写 第6章 文档编写和编码规范 第7章 反射API  第8章 测 试、部署和持续集成第三部分 SPL(标准PHP库) 第9章 SPL简介 第10章 SPL迭代器 第11章 SPL文件和目录处理 第12章 SPL数组重载 第13章 SPL异常第四部分 MVC模式 等 。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值