这种语法适用于底层继承高层制定的接口,高层依赖于接口。
具体实现如下:
interface inter_one { public function send(); }
再复习一下构造函数:
void __construct ([ mixed $args
[, $...
]] )
具有构造函数的类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。
class Email implements Mail() { public function send() { //发送Email } }
class SmsMail implements Mail() { public function send() { //发送短信 } }//判断注册方式类
class Register { private $_mailObj; public function __construct(Mail $mailObj) { $this->_mailObj = $mailObj; } public function doRegister() { /*这里是如何注册*/ $this->_mailObj->send();//发送信息 } }
$reg = new Register(); $emailObj = new Email(); $smsObj = new SmsMail(); $reg->doRegister($emailObj);//使用email发送 $reg->doRegister($smsObj);//使用短信发送 /* 你甚至可以发完邮件再发短信 */
未完待续