类和对象

类和接口组件

类可以具有属性,常量和方法。

  • 属性保存对象范围内的变量。它们可以在声明时初始化,但前提是它们包含原始值。
  • 常量必须在声明时初始化,并且只能包含原始值。常量值在编译时固定,可能不会在运行时分配。
  • 方法必须有一个主体,即使是空主体,除非该方法被声明为抽象。
class Foo {
    private $foo = 'foo'; // OK
    private $baz = array(); // OK
    private $bar = new Bar(); // Error!
}

接口不能具有属性,但可能具有常量和方法。

  • 接口常量必须在声明时初始化,并且只能包含原始值。常量值在编译时固定,可能不会在运行时分配。
  • 接口方法没有主体。
interface FooBar {
    const FOO_VALUE = 'bla';
    public function doAnything();
}