常用关键字和魔术方法

常用关键字

1.fanal

a.不能修饰成员属性,只有修饰类和方法

b.修饰类时不能被继承,修饰方法时不能被子类覆盖


2.static

a.用这个关键词修饰的成员属性,可以被同一个类的所有对象共享

b.数据存在数据内存的数据段中

c.修饰属性和方法,不能修饰类

d.静态的成员都要用类名去访问,不用创建对象,不用对象去访问;

如果在本类中使用静态成员,可以使用self来代表本类

类外访问静态成员——类名::成员

类内访问静态成员——self::成员

e.静态成员不能访问非静态的方法,因为静态方法不用使用对象来访问,也就没有对象,$this则不能代表对象,自然就访问不了非静态的成员

如果你确定一个方法不使用非静态方法,则可以将其声明为静态方法(不用创建对象,直接使用类名就可以访问)


3.const

只能修饰成云属性,用在类中设置常量

命名方式和前面的define一样

访问方式和static关键字一样

类外——类名::成员

类内——self::成员



魔术方法:

1.__call()

在调用一个对象不存在的方法时自动调用

2.__tostring()

直接输出对象引用时自动调用,用来快速获取对象的字符串表示的最便捷的方式

3.__clone

克隆对象使用,只要一个对象一诞生,就要有初始化动作,在这个方法里,$this关键字代表的是复本

4.__outoload

自动加载,只要在页面用到一个类,就会自动将类名传到这个参数

其他魔术方法都在类中起作用,这是唯一一个不在类中添加的方法

5.serialize

对象串行化,将一个对象转成二进制的串

将对象长时间储存在数据库或文件中时,或者将对象在多个PHP文件中传输时

6.unserialize

反串行化

7.__sleep

是在序列化时自动调用的方法

将一个对象部分串行化

只要这个方法返回一个数组,数组中有几个成员属性,就序列化几个成员属性,如果不加这个方法,则全部都串行化

8.__walkup

反序列化时调用的方法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值