made ZapHandler library
This commit is contained in:
parent
d185a26f87
commit
b276ac7f6a
6 changed files with 34 additions and 3 deletions
16
docs/ZapHandler.md
Normal file
16
docs/ZapHandler.md
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# 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`)
|
||||
Loading…
Add table
Add a link
Reference in a new issue