- if ($handler) {
- if ($handler->before()) {
- if ($method && method_exists($handler, $method)) {
- $handler->$method();
- } else if (method_exists($handler, 'index')) {
- $handler->index();
- }
- $handler->after();
- return;
+ if (implements_interface($handler, "IHandler") && $handler->before($method)) {
+ if ($method && method_exists($handler, $method)) {
+ $handler->$method();
+ } else if (method_exists($handler, 'index')) {
+ $handler->index();