PSR-4
本 PSR 是关于由文件路径自动载入对应类的相关规范;是对PSR-0的修改,属于补充规范
此处的“类”泛指所有的class类、接口、traits可复用代码块以及其它类似结构。
一个完整的类名需具有以下结构:
()*
完整的类名必须要有一个顶级命名空间,被称为 "vendor namespace";
完整的类名可以有一个或多个子命名空间;
完整的类名必须有一个最终的类名;
完整的类名中任意一部分中的下滑线都是没有特殊含义的;
完整的类名可以由任意大小写字母组成;
所有类名都必须是大小写敏感的。
当根据完整的类名载入相应的文件……
末尾的类名必须与对应的以 .php 为后缀的文件同名。
自动加载器(autoloader)的实现一定不能抛出异常、一定不能触发任一级别的错误信息以及不应该有返回值。
SPL标准库 -- SPL四种常用的数据结构
栈 SplStack
先进后出的原则
$stack=new SplStack();
$stack->push('data1');
$stack->push('data2');
echo $stack->pop(); //data2
echo $stack->pop(); //data1
队列 SplQueue
先进先出,后进后出的原则
$stack=new SplQueue();
$stack->enqueue('data1');
$stack->enqueue('data2');
echo $stack->dequeue(); //data1
echo $stack->dequeue(); //data2
堆 SplHeap
堆(Heap)就是为了实现优先队列而设计的一种数据结构
根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。
先进先出,后进后出的原则
$stack=new SplMinHeap(); //最小堆
$stack->insert('data1');
$stack->insert('data2');
echo $stack->extract(); //data1
echo $stack->extract(); //data2
固定尺寸数组 SplFixedArray
$array=[];
$array[0]=0;
$array[6]=6;
var_dump($array); //只有0和6
$arr = new SplFixedArray(10); //固定尺寸数组
$arr[0]=0;
$arr[6]=6;
var_dump($arr); //0到9