php个攻城狮,如何成为一枚高贵的 PHP 攻城狮

语言特色

PHP确实是一门特色的语言(仅次于Python)。

面向对象

自PHP5开始,PHP具有完整的对象模型,包括类,抽象类,接口,继承,构造函数,反射,克隆和异常等。以下是PHP5.3-PHP7.2中关于面向对象的新特性:

命名空间(PHP5.3,更好的组织类)

性状 (PHP5.4,解决了多继承场景的问题)

匿名类(PHP7.0)

导入一组类(PHP7.0)

类常量的可见性(PHP7.1)

多异常捕获处理 (PHP7.1)

允许重写抽象方法(PHP7.2)

函数式

与JAVA不同的是,PHP将函数视为"一等公民",如果你偏爱函数式编程的话,PHP也不会让你失望。以下是PHP5.3-PHP7.2中关于函数式的新特性:

闭包(PHP5.3)

闭包支持$this(PHP5.4)

Closure::call() (PHP7.0)

异步编程

众所周知,PHP是一门单线程同步语言。在PHP5.5之前,如果想要提高性能只能通过多进程或者多线程(pthreads拓展)的方式来编写代码。但在PHP5.5官方推出的新特性Generator,异步成为了可能。以下是PHP5.3-PHP7.2中关于异步编程的新特性:

Generator(PHP5.5)

元编程

PHP 通过反射 API 和魔术方法,可以实现多种方式的元编程。例如可以通过魔术方法来模拟PHP缺失的面向对象特性-重载。以下是PHP5.3-PHP7.2中关于魔术方法的新特性:

__callStatic (PHP5.3)

__invoke() (PHP5.3)

PHP 标准库

PHP标准库提供了内置的数据结构、迭代器、接口、异常、函数、文件处理。

数据结构

SplDoublyLinkedList 双链表

SplStack 栈

SplQueue 队列

SplHeap 堆

SplMaxHeap 最大堆

SplMinHeap 最小堆

SplPriorityQueue 优先队列

SplFixedArray 固定数组

SplObjectStorage 对象容器

迭代器

AppendIterator 附加迭代器

ArrayIterator 数组迭代器

CachingIterator 缓存迭代器

CallbackFilterIterator — 回调过滤迭代器

DirectoryIterator — 目录迭代器

EmptyIterator — 空迭代器

FilesystemIterator — 文件系统迭代器

FilterIterator — 过滤迭代器

GlobIterator — Glob迭代器

InfiniteIterator — 无限迭代器

IteratorIterator — 迭代器迭代器

LimitIterator — 限定迭代器

MultipleIterator — 多重迭代器

NoRewindIterator — 无倒回迭代器

ParentIterator — 父迭代器

RecursiveArrayIterator — 递归数组迭代器

RecursiveCachingIterator — 递归缓存迭代器

RecursiveCallbackFilterIterator — 递归回调过滤迭代器

RecursiveDirectoryIterator — 递归目录迭代器

RecursiveFilterIterator — 递归过滤迭代器

RecursiveIteratorIterator — 递归迭代迭代器

RecursiveRegexIterator — 递归正则迭代器

RecursiveTreeIterator — 递归树状结构迭代器

RegexIterator — 正则迭代器

接口

Countable —可计算接口

OuterIterator —外部迭代器接口

RecursiveIterator —递归迭代器接口

SeekableIterator —可查找迭代器接口

异常

BadFunctionCallException —错误函数调用异常

BadMethodCallException —错误方法调用异常

DomainException —作用域异常

InvalidArgumentException —非法参数异常

LengthException —长度异常

LogicException —逻辑异常

OutOfBoundsException —违背安全原则异常

OutOfRangeException —越界索引异常

OverflowException —上溢异常

RangeException —范围异常

RuntimeException —运行时异常

UnderflowException —下溢异常

UnexpectedValueException —意外数值异常

函数

class_implements — 返回指定的类实现的所有接口。

class_parents —返回指定类的父类

class_uses —返回指定类使用的性状

iterator_apply —为迭代器中每个元素调用一个用户自定义函数

iterator_count —计算迭代器中元素的个数

iteratortoarray —将迭代器中的元素拷贝到数组

splautoloadcall —尝试调用所有已注册的__autoload()函数来装载请求类

splautoloadextensions —注册并返回spl_autoload函数使用的默认文件扩展名

splautoloadfunctions —返回所有已注册的__autoload()函数。

splautoloadregister —注册给定的函数作为 __autoload 的实现

splautoloadunregister — 注销已注册的__autoload()函数

splautoload —_autoload()函数的默认实现

spl_classes — 返回所有可用的SPL类

splobjecthash —返回指定对象的hash id

文件处理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值