for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace HelePartnerSyncApi\Method;
use Closure;
use HelePartnerSyncApi\Request\Request;
abstract class Method
{
/**
* @var Closure|null
*/
private $callback;
* @param Closure $callback
public function __construct(Closure $callback)
$this->callback = $callback;
}
* @param Request $request
* @return mixed
public function call(Request $request)
return $this->parseResponseData(call_user_func_array(
$this->callback,
$this->parseRequestData($request->getData())
));
* @return string
abstract public function getName();
* @param array $data
* @return array
abstract protected function parseRequestData($data);
* @param mixed $data
abstract protected function parseResponseData($data);