php事件驅動

1. [文件] class.Dispatcher.php ~ 967B     下載(9)     

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?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     下載(6)     

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?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();
     }
}
相關文章
相關標籤/搜索