public function getCallback() { return function ($matches) { $providerName = $matches[1]; $request = $matches[2]; if (SourceProvider::providerExists($providerName)) { $provider = SourceProvider::getProvider($providerName); return $provider->onRequest($request); } else { Log::error(TAG, "Provider not found {$providerName}"); } return ""; }; }
public function onRequest($request) { $className = "\\" . str_replace(".", "\\", $request); if (!class_exists($className)) { Log::error(self::TAG, "View class not found. " . $className); return false; } $class = new $className(); if (!$class instanceof ViewInterface) { Log::error(self::TAG, "Class must be instance of \\geonbeta\\view\\ViewInterface"); return false; } $class->onCreate([]); return $class->onFlush([]); }