设计模式(适配器)
Lepaskan: 2016-07-25 08:47:37
asal
1146 orang telah melayarinya
个人理解:适配器主要充当原功能与新功能之间的媒介,也就是说新功能要调用原有的部分功能。这样可以提高代码的重用性。(如果理解的不对,请各位大拿指点,谢谢)
- 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();
-
复制代码
|
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
-
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
Topik-topik yang berkaitan
Lagi>