インクイジターのネクロマンサーが欺いた方法についてのPHPの物語

sayingにもあるように、物語は嘘ですが、そこにはヒントがあります。



すべてはプロセスのためではなく、特定のニーズのために行われました。 テンプレートが役立つことを願っています。 カットの下のテンプレートのコード。





<?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  1. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  2. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  3. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  4. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  5. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  6. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  7. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  8. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  9. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  10. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  11. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  12. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  13. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  14. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  15. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  16. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  17. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  18. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  19. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  20. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  21. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  22. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  23. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  24. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  25. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  26. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  27. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  28. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  29. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  30. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  31. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  32. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  33. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  34. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  35. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  36. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  37. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  38. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  39. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  40. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  41. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  42. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  43. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  44. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  45. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  46. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  47. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  48. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  49. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  50. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  51. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  52. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  53. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  54. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  55. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  56. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  57. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  58. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  59. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  60. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  61. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  62. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  63. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  64. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  65. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



  66. <?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .



<?php /** * Cloak is a good thing when we need to hide some public methods and properties. */ abstract class cloak { protected $__cloak_method = array(); protected $__cloak_prop = array(); final function __call($name, $args) { if (isset($ this ->__cloak_method[$name])) $ this ->__cloak_method[$name](); } final function __set($name, $ value ) { if (isset($ this ->__cloak_prop[$name])) $ this ->__cloak_prop[$name] = $ value ; else $ this ->{$name} = $ value ; } final function __get($name) { if (isset($ this ->__cloak_prop[$name])) return $ this ->__cloak_prop[$name]; else return $ this ->{$name}; } } class necromancer extends cloak { function __construct() { $ this ->__cloak_method[ 'zombie_invocation' ] = function() { print 'Dugonas aldere simopa' ; }; $ this ->__cloak_prop[ 'inventory' ] = array( 'Kosparov\'s head' , 'Rusty knife' , 'Necromancer\'s staff' ); $ this ->__cloak_prop[ 'character' ] = 'necromancer' ; } } class inquisitor { function inspect_person($person) { /** * I am going to inspect this heretic. */ $prop = get_object_vars($GLOBALS[$person]); if (isset($prop[ 'character' ]) && in_array($prop[ 'character' ], array( 'necromancer' , 'witch' ))) $ this ->kill($person); } function kill($person) { print 'Die, ' . $GLOBALS[$person]->character . "!\n" ; unset($GLOBALS[$person]); } } class witch { public $character = 'witch' ; public function cast_damnation() { print "Let your left hand to dry off!\n" ; } } /////////////////////////////////////////////////////////////////////////////// $inquisitor = new inquisitor(); $necromancer = new necromancer(); $witch = new witch(); $inquisitor->inspect_person( 'witch' ); $inquisitor->inspect_person( 'necromancer' ); if (isset($witch)) $with->cast_damnation(); /** * Zombies' time! */ $necromancer->zombie_invocation(); ?> * This source code was highlighted with Source Code Highlighter .






All Articles