ZapMachine/docs/ZapHandler.md

993 B

ZAPHandler Interface

File Change
lib/ZAPHandler.interface.php Created — defines ZAPHandler interface with public function getContent()
lib/ZAPHome.class.php Added implements ZAPHandler
lib/ZAPDisplay.class.php Added implements ZAPHandler
lib/ZAPZap.class.php Added implements ZAPHandler
lib/ZAPController.class.php Added instanceof ZAPHandler guard inside fetch() before calling getContent()

How it works

  • Any class named ZAP{Mode} in lib/ is autoloaded and instantiated by ZAPController
  • The controller now checks $this->action instanceof ZAPHandler before calling getContent()
  • If a handler forgets to implement the interface, you get a clear die() message instead of a cryptic runtime error
  • The interface file uses the .interface.php naming convention, which the existing autoloader already handles (it checks .interface.php first, then .class.php)