日期:2014-05-17  浏览次数:20365 次

php MVC --Command
<?php


abstract class Command {
	
	final function __construct() {
	}

	function execute(HttpRequest $request) {
		$this->doExecute($request);
	}

	abstract function doExecute(HttpRequest $request) ;
}


public class HttpRequest {
	
	private $properties;

	private $feedback = array();
	
	function __construct() {
		$this->init();
	}

	
	function init() {
		if (isset($_SERVER['REQUEST_METHOD'])) {
			$this->properties = $_REQUEST;
			return;
		}

		foreach($_SERVER['argv'] as $arg) {
			if (strpos($arg,'=')) {
				list($key,$val) = explode("=", $arg);
				$this->setProperty($key,$val);
			}
		}
	}

	function getProperty($key) {
		if (isset($this->properties[$key])) {
			return $this->properties[$key];
		}
	}

	function setProperty($key,$val) {
		$this->properties[$key] = $val;
	}

	function addFeedback($msg) {
		array_push($this->feedback, $msg);
	}

	function getFeedback() {
		return this->feedback;
	}

	function getFeedbackString($separator = "\n") {
		return implode( $separator,$this->feedback) ;
	}

}
?>

?最近在看php设计模式,看到例子不错,顺便做下记录吧,熟悉struts1.x的朋友一定不会陌生