1.class.Dispatcher.php<?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!";
}
}
}
?>
Secure,Event Driven Record Viewer!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<?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.
It is ,I promise!
Your records are as follows:
";
$id=parent::dbconn();
$result=mysql_query("select * from table01",$id);
while($row=mysql_fetch_array($result)){
echo "Numbers:".$row['number']."\tName:".$row['name']."
";
}
}
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!
";
}
function secure_handler(){
$this->handled_event();
}
}
本文原创发布php中文网,转载请注明出处,感谢您的尊重!