php_适配器

<?php
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() {
		fprintf ( STDERR, $this->__errorObject->getError () );
	}
}

/**
 *  外部需要的数据对象.
 * @author michile
 *        
 */
class logToCsv {
	const CSV_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::CSV_LOCATION, $line, FILE_APPEND );
	}
}

/**
 *   适配器生成新的方法,来匹配到合适的格式.
 * @author michile
 *
 */
class logToCSVAdapter  extends  errorObject
{
		private $__errorNumber,$__errorText;
		
		public function __construct($error)
		{
			parent::__construct($error);
			$parts=explode(':', $this->getError());		//此处$this->getError()的用法.
			$this->__errorNumber=$parts[0];
			$this->__errorText=$parts[1];
		}
		
		//  实现拓展方法.
		public function getErrorNumber()
		{
			return $this->__errorNumber;
		}
		
		public function getErrorText()
		{
			return  $this->__errorText;
		}
	
}


$error=new logToCSVAdapter('400:Not Found');
$log=new logToCsv($error);
$log->write();

 

转载于:https://my.oschina.net/u/1579560/blog/738659

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值