## 扩展与继承
关键词extends和implements**必须**写在类名称的同一行。
类的开始花括号**必须**独占一行,结束花括号也**必须**在类主体后独占一行。
~~~
<?php
namespace Vendor\Package;
use FooClass;
use BarClass as Bar;
use OtherVendor\OtherPackage\BazClass;
class ClassName extends ParentClass implements \ArrayAccess, \Countable
{
// constants, properties, methods
}
~~~
implements的继承列表也**可以**分成多行,这样的话,每个继承接口名称都**必须**分开独立成行,包括第一个。
~~~
<?php
namespace Vendor\Package;
use FooClass;
use BarClass as Bar;
use OtherVendor\OtherPackage\BazClass;
class ClassName extends ParentClass implements
\ArrayAccess,
\Countable,
\Serializable
{
// constants, properties, methods
}
~~~
- 1. 概览
- 1.1. 例子
- 2. 通则
- 2.1 基本编码准则
- 2.2 文件
- 2.3. 行
- 2.4. 缩进
- 2.5. 关键字 以及 True/False/Null
- 3. namespace 以及 use 声明
- 4. 类、属性和方法
- 4.1. 扩展与继承
- 4.2. 属性
- 4.3. 方法
- 4.4. 方法的参数
- 4.5.abstract、final、 以及static
- 4.6. 方法及函数调用
- 5. 控制结构
- 5.1.if、elseif和else
- 5.2.switch和case
- 5.3.while和do while
- 5.4.for
- 5.5.foreach
- 5.6.try,catch
- 6. 闭包
- 7. 总结