当前位置 : 主页 > 网络编程 > PHP >

PHP 事件驱动程序

来源:互联网 收集:自由互联 发布时间:2021-07-03
1. [文件] class.Dispatcher.php~967B 下载 (12) ?phpsession_start();require_once('class.Handler_Event.php');header("Content-type:text/html; charset=utf-8");class Dispatcher{private $handle;function __construct($event_handle){$this-handle=

1. [文件] class.Dispatcher.php ~ 967B     下载(12)    

<?php
session_start();
require_once('class.Handler_Event.php');
header("Content-type:text/html; charset=utf-8");

class Dispatcher{
	private $handle;
	
	function __construct($event_handle){
		$this->handle=$event_handle;
	}
	
	function handle_the_event(){
		$name="handler_$this->handle";
		if(class_exists("$name")){
			$handler_obj=new $name($this->handle);
			$response=$handler_obj->secure_handler();
			return $response;
		}else{
			echo "I can't handle this!";
		}
	}
}
?>
<html>
<head><title>Secure,Event Driven Record Viewer!</title></head>

<body>
<form action="<? echo $_SERVER['PHP_SELF'] ?>" method="post">
   <input type="submit" name="event" value="View">
   <input type="submit" name="event" value="Edit">
</form>
</body>
</html>
<?php
function handle(){
	$event=$_POST['event'];
	$do=new Dispatcher($event);
	$do->handle_the_event();
}

$_SESSION['name']="Wangzy";

if(isset($_POST['event'])) handle();
?>

2. [文件] class.Handler_Event.php ~ 1KB     下载(9)    

<?php
//Event parent
abstract class Event_Handler{
	function dbconn(){
		$link_id=mysql_connect("localhost","root","root");
		mysql_select_db("mytest",$link_id);
		mysql_query("set names utf8",$link_id);
		return $link_id;
	}
	
	abstract function handled_event();
	abstract function secure_handler();
}

//View Event
class Handler_View extends Event_Handler{
	private $handle;
	
	function __construct($event_handle){
		$this->handle=$event_handle;
	}
	
	function handled_event(){
		echo "The event, $this->handle, is now handled.<br>
		It is ,I promise!<br><br>
		Your records are as follows:<br><br>";
		
		$id=parent::dbconn();
		$result=mysql_query("select * from table01",$id);
		while($row=mysql_fetch_array($result)){
			echo "Numbers:".$row['number']."\tName:".$row['name']."<br>";
		}
	}
	
	function secure_handler(){
		if($_SESSION['name']=="Wangzy"){
			$this->handled_event();
		}else{
			echo "Sorry {$_SESSION['name']} you are not authorized!";
		}
	}
}

//Edit Event
class Handler_Edit extends Event_Handler{
	private $handle;
	
	function __construct($event_handle){
		$this->handle=$event_handle;
	}
	
	function handled_event(){
		echo "This is event $this->handle, which is now handled -no kidding!<br>";
	}
	
	function secure_handler(){
		$this->handled_event();
	}
}
网友评论