PHP学习(十八)--常见的关键字和魔术方法

常见的关键字和魔术方法

final关键字的应用

在PHP5中新增加了final关键字,它可以加在类或类中方法前,但不能使用final标识成员属性,虽然final有常量的意思,但在PHP中第一常量是使用define()函数来完成的。

1.使用final标识的类,不能被继承;

2.在类中使用final标识的成员方法,在子类中不能被覆盖。

static关键字的使用

使用static关键字可以将类中的成员标识为静态的,既可以用来标识成员属性,也可以用来标识成员方法。

单态设计模式

单态模式的主要作用是保证在面向对象编程设计中,一个类只能有一个实力对象存在。

const关键字

要讲类中的成员属性定义为常量,则智能使用const关键字,将类中的成员属性使用const关键字标识为常量,其访问的方式和静态成员一样,都是通过类名或在成员方法中使用self关键字访问,也不能用对象来访问。标识为常量的属性是只读的,不能重新赋值,如果在程序中试图改变他的值,则会出现错误。所以在声明常量时一定要给初值,因为没有其他方式后期为常量赋值。注意,使用const声明的常量名称前不要是$符号,而且常量名称通常都是大写。

instanceof关键字

使用这个关键字可以确定一个对象是类的实例、类的子类,还是实现了某个特定接口,并进行相应的操作。

克隆对象

在PHP中可以根据现有的对象克隆出一个完全一样的对象,克隆后,原本和副本两个对象完全独立,互不干扰。在PHP5中使用clone关键字克隆对象。

类中通用的方法__toString()

魔术方法__toString()是快速获取对象字符串表示的最快捷的方式,它是在直接输出对象引用时自动调用的方法。

__call()方法的应用

在PHP中,可以在类中添加一个魔术方法__call(),则调用对象中不存在的方法时就会自动调用该方法,并且程序也可以继续向下执行。__call()方法需要两个参数:第一个参数是调用不存在的方法时,接受这个方法名称的字符串;而参数列表则以数组的形式传递到__call()方法的第二个参数中。

自动加载类

PHP提供了类的自动加载功能,当尝试使用一个PHP没有组织到的类时,会寻找个__autoload()的全局函数,如果存在这个函数,PHP会用个参数来调用它,参数即类名称。

对象串行化

对象也是一种在内存个中存储的数据类型,它的寿命通常随着生成该对象的程序的终止而终止,有时候可能需要将对象的状态保存下来,需要时再将对象恢复,对象通过写出描述自己状态的数值来记录自己,这个过程称为对象的串行化。对象需要在网络中传输时,将对象串行化成二进制串后在网络中传输。对象需要持久保存时,将对象串行化后写入文件或数据库中。

使用serializ()函数来串化一个对象,把对象串化为二进制的字符串。serialize()函数需要一个参数就是对象的引用名,返回值为一个对象被串行化后的字符串。serialize()返回的字符串含义模糊。另一个是反串行化,就是把对象串行化后转化的二进制字符串再转化为对象,使用unserialize()函数来反串行化一个对象。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值