这几天,我在学习PHP语言中的SPL。这个东西应该属于PHP中的高级内容。看上去非常复杂,可是非常实用。所以我做了长篇笔记。不然记不住,以后要用的时候,还是要从头学起。因为这是供自己參考的笔记,不是教程,所以写得比較简单,没有多解释。可是我想,假设你是一个熟练的PHP5程序猿,应该足以看懂以下的材料...
分类:
Web程序 时间:
2015-08-15 16:11:10
阅读次数:
149
个人对单例模式和观察者模式及事件的一点理解
2、观察者模式
观察者模式适用于某一个状态发生变化时,其他几处需要针对此变化做出不同的反应。符合接口隔离原则,实现了对象之间的松散耦合。
php SPL中已经提供了SplSubject和SqlOberver接口,分别编写被观察者类和观察者类实现这两个接口即可。
下边是一个demo:
class Subject implements...
分类:
Web程序 时间:
2015-08-07 22:21:19
阅读次数:
196
PHPexcel官方下载以后,放入Yii的protected\extensions\phpexcel下面try { spl_autoload_unregister(array('YiiBase', 'autoload')); $phpExcelPath = Yii::ge...
分类:
Web程序 时间:
2015-07-31 17:42:51
阅读次数:
137
AutoLoading\loading<?phpnamespace AutoLoading;class Loadind { public static function autoload($className){ //根据PSR-O的第4点 把 \ 转换层(目录风格符)...
分类:
其他好文 时间:
2015-07-30 16:36:39
阅读次数:
174
PHP SPL SplObjectStorage是用来存储一组对象的,特别是当你需要唯一标识对象的时候。PHP SPL SplObjectStorage类实现了Countable,Iterator,Serializable,ArrayAccess四个接口。可实现统计、迭代、序列化、数组式访问等功能。...
分类:
编程语言 时间:
2015-07-29 00:41:46
阅读次数:
146
getInnerIterator(); if ($item->isFile() && in_array(pathinfo($item->getFilename(), PATHINFO_EXTENSION), $this->ext)) { ...
分类:
其他好文 时间:
2015-07-28 18:22:27
阅读次数:
135
转--http://www.jb51.net/article/29624.htm又是框架冲突导致__autoload()失效,用spl_autoload_register()重构一下,问题解决__autoload()的用法就不再说了,以前已经在我的WEB开发笔记中说过。PHP __autoload函...
分类:
Web程序 时间:
2015-07-23 19:20:16
阅读次数:
113
php有很多功能强大的接口,其中ArrayAccess 与 Iterator 的配合使用可以让对象与数组一样有着灵活的访问性。当然,用ArrayAccess 与 Iterator 配合可以用来对付数组,但还有一个更好的办法同则SPL 提供的ArrayIterator原因就是 :ArrayIterat...
分类:
Web程序 时间:
2015-07-21 01:32:21
阅读次数:
150
Rafael Dohms 上面的篇文章让我为之惊艳。忍不住就翻译了下来。同一时候补充了部分内容。SPL,PHP 标准库(Standard PHP Library),此从 PHP 5.0 起内置的组件和接口。而且从 PHP5.3 已逐渐的成熟。SPL 事实上在全部的 PHP5 开发环境中被内置。同一时...
分类:
Web程序 时间:
2015-07-13 15:32:00
阅读次数:
134
Rafael Dohms 上面的篇文章让我为之惊艳,忍不住就翻译了下来,同一时候补充了部分内容。SPL,PHP 标准库(Standard PHP Library),此从 PHP 5.0 起内置的组件和接口,而且从 PHP5.3 已逐渐的成熟。SPL 事实上在全部的 PHP5 开发环境中被内置,同一时...
分类:
Web程序 时间:
2015-07-02 19:05:05
阅读次数:
117