须知
与大多数抽象类一样,interface 也有抽象方法,不管不能和抽象类一样在接口中包含具体的方法或变量(做为抽象性的例外) 一般约定接口总以字母 i 或者 i 开头 接口中定义的所有方法都必须是public,这是接口的特性 实现多个接口时,接口中的方法不能有重名。 接口也可以继承,通过使用 extends 操作符。 类要实现接口,必须使用和接口中所定义的方法完全一致的方式。否则会导致致命错误。 接口中也可以定义常量。接口常量和类常量的使用完全相同,但是不能被子类或子接口所覆盖。 理解 php接口类interface就是一个类的领导者,指明方向,子类必须完成它指定方法
简单代码示范
/** * interface 接口 * 与大多数抽象类一样,interface 也有抽象方法,不管不能和抽象类一样在接口中包含具体的方法或变量(做为抽象性的例外) * 一般约定接口总以字母 i 或者 i 开头 * 接口中定义的所有方法都必须是public,这是接口的特性 */// 定义一个接口类,以 interface 开头而不是 classinterface isms{ // 可以定义常量 const username = 'hhh'; // 定义的方法,子类必须实现 public function getinfo($info); public function sendinfo($info);}// 实现一个接口,使用 implements 而不是 extendsclass register implements isms{ // 使用接口常量,需要用 作用域解析操作符 private $username = isms::username; public function getinfo($info){ return 'getinfo=>'.$info; } public function sendinfo($info){ return 'sendinfo=>'.$info; } public function getusername(){ return $this->username; }}$test = new register();echo $test->getinfo('enda'); // getinfo=>endaecho $test->sendinfo('enda'); // sendinfo=>endaecho $test->getusername(); // hhh