oop 모드
여기서 두 가지 점이 있습니다
하나는 추상 클래스와 인터페이스이며 서로 다릅니다. 추상 클래스는 함수 본문과 함께 메서드를 저장할 수 있지만 인터페이스는 그렇지 않습니다.
abstract class Top { public function getOne(); public function getTwo(); public function getThree() { return 300; } } class Top_extend extends Top { function getOne() { return 100; } } //接口 class interface TopInterface { public function getData(); } class top_interface implements TopInterface { } //$t = new Top(); //抽象类不能被直接实例化 $t = new Top_extend(); //可以通过实例子类
2. 예외처리
exception.php 异常基类 //异常基类 class LogException extends Exception { var $logfile_dir = 'exception.log'; public function __construct($msg=null,$code=0,$file='') { if($file == '') { $file = $logfile_dir; } $this->saveLog($file); parent::__construct($msg,$code); } //记录日志 protected function saveLog($file) { file_put_contents($file,$this->__toString(),FILE_APPEND); } }
<?php //数据库错误类 include_once('LogException.php'); class DataBaseException extends LogException { protected $databaseErrorMessage; public function __construct($msg='',$code = 0) { $this->databaseErrorMessage = $msg; parent::__construct($msg,$code); } public function getMsg() { return $this->databaseErrorMessage; } } ?>