基本概念

class

每个类的定义都以关键字 class 开头,后面跟着类名,后面跟着一对花括号,里面包含有类的属性与方法的定义。

类名可以是任何非 PHP 保留字的合法标签。一个合法类名以字母或下划线开头,后面跟着若干字母,数字或下划线。以正则表达式表示为:[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*

一个类可以包含有属于自己的常量变量(称为“属性”)以及函数(称为“方法”)。

Example #1 简单的类定义

PHP面向对象学习_PHP

Example #2 $this 伪变量的示例

PHP面向对象学习_PHP_02

new

要创建一个类的实例,必须使用 new 关键字。当创建新对象时该对象总是被赋值,除非该对象定义了构造函数并且在出错时抛出了一个异常。类应在被实例化之前定义(某些情况下则必须这样)。

如果在 new 之后跟着的是一个包含有类名的字符串 string,则该类的一个实例被创建。如果该类属于一个命名空间,则必须使用其完整名称。

Example #3 创建实例

PHP面向对象学习_PHP_03

Example #5 创建新对象

PHP面向对象学习_PHP_04

属性和方法

类属性和方法存在于单独的“名称空间”中,因此可以使用具有相同名称的属性和方法。引用属性和方法具有相同的符号,并且是否将访问属性或调用方法,仅取决于上下文,即用法是变量访问还是函数调用。

示例#7属性访问与方法调用

PHP面向对象学习_PHP_05

Example#8调用存储在属性中的匿名函数

 

PHP面向对象学习_PHP_06