个人理解:适配器主要充当原功能与新功能之间的媒介,也就是说新功能要调用原有的部分功能。这样可以提高代码的重用性。(如果理解的不对,请各位大拿指点,谢谢)
- class errorObject{
- private $__error;
- public function __construct($error)
- {
- $this->__error=$error;
- }
- public function getError()
- {
- return $this->__error;
- }
- }
- class logToConsole{
- private $__errorObject;
- public function __construct($errorObject)
- {
- $this->__errorObject=$errorObject;
- }
- public function write()
- {
- fwrite("errorlog.txt",$this->__errorObject->getError());
- }
- }
- class logToCVS
- {
- const LOG_LOCATION='log.csv';
- private $__errorObject;
- public function __construct($errorObject)
- {
- $this->__errorObject=$errorObject;
- }
- public function write()
- {
- $line=$this->__errorObject->getErrorNumber();
- $line.=',';
- $line.=$this->__errorObject->getErrorText();
- $line.="n";
- file_put_contents(self::LOG_LOCATION,$line,FILE_APPEND);
- }
-
- }
-
- class logToCSVAdapter extends errorObject{ // 适配器
- private $_errorNumber,$_errorText;
- public function __construct($error)
- {
- parent::_construct($error);
- $parts=explode(":",$this->getError());
- $this->_errorNumber=$parts[0];
- $this->_errorText=$parts[1];
- }
- public function getErrorNumber()
- {
- return $this->_errorNumber;
- }
- public function getErrorText()
- {
- return $this->_errorText;
- }
-
- }
-
- // 把错误信息 写入到txt
- $error=new errorObject("404:not fuond");
- $log=new logToConsole($error);
- $log->write();
-
- // 把错误信息 写入csv
- $error=new logToCSVAdapter("404:not fuond");
- $log=new logToCVS($error);
- $log->write();
-
复制代码
|
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31