VuePressVuePress
首页
  • 基础
  • UI
  • JavaScript
  • CSS
  • postcss
  • Vue3
  • Vue的设计与实现
  • 前端常用插件
  • PHP
  • Laravel
  • Linux
  • 线性代数
Category
AI
jiyun
Timeline
首页
  • 基础
  • UI
  • JavaScript
  • CSS
  • postcss
  • Vue3
  • Vue的设计与实现
  • 前端常用插件
  • PHP
  • Laravel
  • Linux
  • 线性代数
Category
AI
jiyun
Timeline
  • 基础知识

    • 基础语法
    • 面向对象
      • 对象
    • new static
    • 反射
    • ReflectionClass
    • 类型转换
    • 运算符

      • 安全访问运算符
    • 数组的基本操作
  • 类和对象

    • 类属性的默认值
    • 静态类
    • 静态类OR动态类
    • implements 关键字
    • 枚举

对象

PHP 对待对象的方式等同于引用或句柄,即每个变量都持有对象的引用,而不是整个对象的复制。参见 对象和引用。

  • 访问控制 对属性或方法的访问控制(PHP 7.1.0 以后支持常量),是通过在前面添加关键字 public(公有),protected(受保护)或 private(私有)来实现的。
    • 被定义为公有的类成员可以在任何地方被访问。
    • 被定义为受保护的类成员则可以被其自身以及其子类和父类访问。
    • 被定义为私有的类成员则只能被其定义所在的类访问。
  • 抽象类 PHP 有抽象类和抽象方法。定义为抽象的类不能被实例化。任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。
  • final 类 final 关键字通过在定义方法和常量之前加上 final 来防止被子类覆盖。 如果一个类被声明为 final,则不能被继承。
    • 注意: 属性和常量不能被定义为 final,只有类、方法、常量(PHP 8.1.0 起)才能被定义为 final。 从 PHP 8.0.0 起,除了构造函数之外,私有方法也不能声明为 final 。
  • 魔术方法 魔术方法是一种特殊的方法,当对对象执行某些操作时会覆盖 PHP 的默认操作。
    • 警告 PHP 保留所有以 __ 开头的方法名称。 因此,除非覆盖 PHP 的行为,否则不建议使用此类方法名称。
  • 接口 使用接口(interface),可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。 由于接口(interface)和类(class)、trait 共享了命名空间,所以它们不能重名。
    • 接口就像定义一个标准的类一样,通过 interface 关键字替换掉 class 关键字来定义,但其中所有的方法都是空的。
    • 接口中定义的所有方法都必须是 public ,这是接口的特性。
    • 接口可以定义魔术方法,以便要求类(class)实现这些方法。
Last Updated:
Contributors: BaronYan
Prev
基础语法
Next
new static