@ -1,26 +0,0 @@ | |||||
<?php | |||||
namespace App\ResponseHandler; | |||||
use App\Handlers\Handler; | |||||
/** | |||||
* | |||||
* | |||||
* | |||||
*/ | |||||
class ActionHandler extends Handler implements ActionHandlerInterface | |||||
{ | |||||
protected $data; | |||||
/** | |||||
* | |||||
* @param mixed $data | |||||
* | |||||
*/ | |||||
public function __construct($data) | |||||
{ | |||||
$this->data = $data; | |||||
} | |||||
} |
@ -0,0 +1,39 @@ | |||||
<?php | |||||
namespace App\Handlers\Actions; | |||||
/** | |||||
* | |||||
* | |||||
* | |||||
*/ | |||||
class ActionHandler implements ActionHandlerInterface | |||||
{ | |||||
// data to process in a action | |||||
protected $data; | |||||
/** | |||||
* | |||||
* @param [type] $data | |||||
* @return [type] | |||||
*/ | |||||
protected function processActions($source, $response, $data) | |||||
{ | |||||
foreach($this->source->actions() as $action) { | |||||
HandlerFactory::getActionHandlerClass($action->response_handler_class); | |||||
$action = new ActionClass($this->source, $data); | |||||
$action->run(); | |||||
} | |||||
} | |||||
/** | |||||
* | |||||
* @param mixed $data | |||||
* | |||||
*/ | |||||
public function __construct($data) | |||||
{ | |||||
$this->data = $data; | |||||
} | |||||
} |
@ -1,12 +1,15 @@ | |||||
<?php | <?php | ||||
namespace App\Handlers\Action; | |||||
namespace App\Handlers\Actions; | |||||
/** | /** | ||||
* | |||||
* | * | ||||
* | * | ||||
*/ | */ | ||||
interface ActionInterface | interface ActionInterface | ||||
{ | { | ||||
// method to process data | |||||
public function run(); | public function run(); | ||||
} | } |
@ -1,42 +0,0 @@ | |||||
<?php | |||||
namespace App\Handlers; | |||||
/** | |||||
* | |||||
* | |||||
* | |||||
*/ | |||||
abstract class Handler | |||||
{ | |||||
/** | |||||
* | |||||
* | |||||
* @param String $className | |||||
* @return Mixed | |||||
* | |||||
*/ | |||||
protected function getHandlerClass(String $className) | |||||
{ | |||||
$result = NULL; | |||||
// create class | |||||
$class = 'App\\Handlers\\'.$className); | |||||
// if not found check for custom handlers | |||||
if (class_exists($class)) { | |||||
$result = new $class(); | |||||
} else { | |||||
// create class | |||||
$class = 'CustomHandlers\\'.$className; | |||||
if (class_exists($class)) { | |||||
$result = new $class(); | |||||
} | |||||
} | |||||
return $result; | |||||
} | |||||
} |
@ -0,0 +1,72 @@ | |||||
<?php | |||||
namespace App\Handlers; | |||||
use Exception; | |||||
/** | |||||
* Factory to getting Handler-Classes | |||||
* | |||||
* | |||||
*/ | |||||
class HandlerFactory | |||||
{ | |||||
/** | |||||
* getting handler class if exists | |||||
* | |||||
* @param String $className | |||||
* @return Mixed | |||||
* | |||||
*/ | |||||
private static function getHandlerClass(String $prefix, String $className) | |||||
{ | |||||
$result = NULL; | |||||
// create class | |||||
$class = 'App\\Handlers\\'.$prefix.'\\'.$className); | |||||
// if not found check for custom handlers | |||||
if (class_exists($class)) { | |||||
$result = new $class(); | |||||
} else { | |||||
// create class | |||||
$class = 'CustomHandlers\\'.$prefix.'\\'.$className; | |||||
if (class_exists($class)) { | |||||
$result = new $class(); | |||||
} | |||||
} | |||||
// if there is not class throw Exception | |||||
if ($result === NULL) { | |||||
thrown new Exception($prefix.'\\'.$className.' not Found!'); | |||||
} | |||||
return $result; | |||||
} | |||||
/** | |||||
* | |||||
* | |||||
* @param String $className | |||||
* @return Mixed | |||||
* | |||||
*/ | |||||
public static function getResponseHandlerClass(String $className) | |||||
{ | |||||
return self::getHandlerClass('Response', String $className) | |||||
} | |||||
/** | |||||
* | |||||
* | |||||
* @param String $className | |||||
* @return Mixed | |||||
* | |||||
*/ | |||||
public static function getActionHandlerClass(String $className) | |||||
{ | |||||
return self::getHandlerClass('Actions', String $className) | |||||
} | |||||
} |
@ -0,0 +1,17 @@ | |||||
<?php | |||||
namespace CustomHandlers\Actions; | |||||
/** | |||||
* | |||||
* | |||||
* | |||||
*/ | |||||
class FileDownload extends ActionHandler | |||||
{ | |||||
public function run() | |||||
{ | |||||
} | |||||
} |
@ -1,13 +0,0 @@ | |||||
<?php | |||||
namespace CustomHandlers\Actions; | |||||
/** | |||||
* | |||||
* | |||||
* | |||||
*/ | |||||
class FileMove extends ActionHandler { | |||||
} |