Heim  >  Artikel  >  Backend-Entwicklung  >  设计模式(适配器)

设计模式(适配器)

WBOY
WBOYOriginal
2016-07-25 08:47:371124Durchsuche
个人理解:适配器主要充当原功能与新功能之间的媒介,也就是说新功能要调用原有的部分功能。这样可以提高代码的重用性。(如果理解的不对,请各位大拿指点,谢谢)
                   
                               
                                       
                                       
            
  1. class errorObject{
  2.         private $__error;
  3.         public function __construct($error)
  4.         {
  5.                 $this->__error=$error;
  6.         }
  7.         public function getError()
  8.         {
  9.                 return $this->__error;
  10.         }
  11. }
  12. class logToConsole{
  13.         private $__errorObject;
  14.         public function __construct($errorObject)
  15.         {
  16.                 $this->__errorObject=$errorObject;
  17.         }
  18.         public function write()
  19.         {
  20.                 fwrite("errorlog.txt",$this->__errorObject->getError());
  21.         }
  22. }
  23. class logToCVS
  24. {
  25.         const LOG_LOCATION='log.csv';
  26.         private $__errorObject;
  27.         public function __construct($errorObject)
  28.         {
  29.                 $this->__errorObject=$errorObject;
  30.         }
  31.         public function write()
  32.         {
  33.                 $line=$this->__errorObject->getErrorNumber();
  34.                 $line.=',';
  35.                 $line.=$this->__errorObject->getErrorText();
  36.                 $line.="\n";
  37.                 file_put_contents(self::LOG_LOCATION,$line,FILE_APPEND);
  38.         }
  39.        
  40. }
  41. class logToCSVAdapter extends errorObject{  // 适配器
  42.         private $_errorNumber,$_errorText;
  43.         public function __construct($error)
  44.         {
  45.                 parent::_construct($error);
  46.                 $parts=explode(":",$this->getError());
  47.                 $this->_errorNumber=$parts[0];
  48.                 $this->_errorText=$parts[1];
  49.         }
  50.         public function getErrorNumber()
  51.         {
  52.                 return $this->_errorNumber;
  53.         }
  54.         public function getErrorText()
  55.         {
  56.                 return $this->_errorText;
  57.         }
  58. }
  59. // 把错误信息 写入到txt
  60. $error=new errorObject("404:not fuond");
  61. $log=new logToConsole($error);
  62. $log->write();
  63. // 把错误信息 写入csv
  64. $error=new logToCSVAdapter("404:not fuond");
  65. $log=new logToCVS($error);
  66. $log->write();
复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:php 极光推送(Push-API-v3) Nächster Artikel:PHP-CLI Web 服务器