From 3670e826357fd4a6cfcba898b4140bbf2a742890 Mon Sep 17 00:00:00 2001 From: Oleg Koltsov Date: Thu, 3 Oct 2019 14:39:49 +0500 Subject: [PATCH 1/3] =?UTF-8?q?=D0=A2=D1=80=D0=B5=D0=B9=D1=82=D1=8B=20?= =?UTF-8?q?=D0=B4=D0=BE=D1=81=D1=82=D1=83=D0=BF=D0=BD=D1=8B=20=D1=81=20?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D0=B8=205.4.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 736f3f4..0bfdc52 100644 --- a/composer.json +++ b/composer.json @@ -16,7 +16,7 @@ ], "minimum-stability": "dev", "require": { - "php": ">=5.3.2" + "php": ">=5.4" }, "autoload": { "psr-4": { From 1f7297945072f06e2431b20f17dc23e056353a15 Mon Sep 17 00:00:00 2001 From: Oleg Koltsov Date: Thu, 3 Oct 2019 14:40:43 +0500 Subject: [PATCH 2/3] add php-cs-fixer --- .php_cs.dist | 23 ++++++++++++++++++++ composer.json | 7 +++++-- src/BaseRequest.php | 42 ++++++++++++++++++++++++------------- src/BaseResponse.php | 36 ++++++++++++++++++++++--------- src/BaseService.php | 37 ++++++++++++++++++++------------ src/Interfaces/Request.php | 5 +---- src/Interfaces/Response.php | 7 +------ src/Interfaces/Service.php | 4 +--- src/SoapService.php | 38 +++++++++++++++++++++------------ src/Traits/BaseGetter.php | 23 ++++++++++++++++---- src/Traits/BaseSetter.php | 14 ++++++++++++- 11 files changed, 165 insertions(+), 71 deletions(-) create mode 100644 .php_cs.dist diff --git a/.php_cs.dist b/.php_cs.dist new file mode 100644 index 0000000..c9095b7 --- /dev/null +++ b/.php_cs.dist @@ -0,0 +1,23 @@ +exclude([ + 'runtime', + 'vendor', + ]) + ->in(__DIR__ . '/src'); + +$rules = [ + '@Symfony' => true, + 'phpdoc_inline_tag' => false, + 'single_import_per_statement' => false, + 'concat_space' => ['spacing' => 'one'], + 'array_syntax' => ['syntax' => 'short'], + 'phpdoc_no_package' => false, +]; + +if (class_exists('\\PhpCsFixer\\Fixer\\ControlStructure\\YodaStyleFixer')) { + $rules['yoda_style'] = false; +} + +return PhpCsFixer\Config::create()->setRules($rules)->setFinder($finder); diff --git a/composer.json b/composer.json index 0bfdc52..a388faf 100644 --- a/composer.json +++ b/composer.json @@ -28,5 +28,8 @@ "type": "git", "url": "https://github.com/dumkaaa/ExtService" } - ] -} \ No newline at end of file + ], + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.16@dev" + } +} diff --git a/src/BaseRequest.php b/src/BaseRequest.php index 78f1f61..c14b64b 100644 --- a/src/BaseRequest.php +++ b/src/BaseRequest.php @@ -7,19 +7,20 @@ use ExtService\Traits\BaseGetter; /** - * Объект с запросом к сервису + * Объект с запросом к сервису. */ class BaseRequest extends Web\HttpClient implements IRequest { use BaseGetter; + /** * @var array */ protected $_params = []; - /** * Конструктор + * * @param array $params */ public function __construct(array $params = null) @@ -30,36 +31,43 @@ public function __construct(array $params = null) $this->responseCookies = new Web\HttpCookies(); $this->setParams($params); $this->setCompress(true); - $this->setVersion("1.1"); + $this->setVersion('1.1'); } /** - * Задает параметры запроса из массива + * Задает параметры запроса из массива. + * * @param array $params + * * @return BaseRequest */ public function setParams(array $params = null, $boolClean = true) { - $this->requestHeaders = new Web\HTTPHeaders; + $this->requestHeaders = new Web\HTTPHeaders(); - if ($boolClean) + if ($boolClean) { $this->cleanParams(); + } - if (isset($params['cookies'])) + if (isset($params['cookies'])) { $this->setCookies($params['cookies']); + } - if (isset($params['headers'])) + if (isset($params['headers'])) { $this->setHeaders($params['headers']); + } foreach ($params as $name => $value) { $this->setParam($name, $value); } + return $this; } public function cleanParams() { $this->_params = null; + return $this; } @@ -69,8 +77,10 @@ public function setCookies(array $cookies) } /** - * Задает заголовки запроса из массива + * Задает заголовки запроса из массива. + * * @param array $headers + * * @return $this */ public function setHeaders(array $headers) @@ -78,19 +88,23 @@ public function setHeaders(array $headers) foreach ($headers as $name => $value) { $this->setHeader($name, $value, true); } + return $this; } /** * override - * Задает параметр запроса + * Задает параметр запроса. + * * @param string $name - * @param mixed $value + * @param mixed $value + * * @return BaseRequest */ public function setParam($name, $value) { $this->_params[trim($name)] = $value; + return $this; } @@ -111,7 +125,7 @@ public function getBody() public function setAuthorization($user, $pass) { - $this->setHeader("Authorization", "Basic " . base64_encode($user . ":" . $pass)); + $this->setHeader('Authorization', 'Basic ' . base64_encode($user . ':' . $pass)); } public function getHeaders() @@ -123,6 +137,4 @@ public function getCookies() { return $this->responseCookies; } - - -} \ No newline at end of file +} diff --git a/src/BaseResponse.php b/src/BaseResponse.php index 44d5a3a..c27005a 100644 --- a/src/BaseResponse.php +++ b/src/BaseResponse.php @@ -6,7 +6,7 @@ use ExtService\Interfaces\Response as IResponse; /** - * Объект с ответом от сервиса + * Объект с ответом от сервиса. */ class BaseResponse implements IResponse { @@ -29,7 +29,8 @@ class BaseResponse implements IResponse protected $error = false; /** - * Возвращает данные ответа + * Возвращает данные ответа. + * * @return mixed */ public function getData() @@ -38,29 +39,36 @@ public function getData() } /** - * Задает данные ответа + * Задает данные ответа. + * * @param mixed $data + * * @return Response */ public function setData($data) { $this->data = $data; + return $this; } /** - * Задает куки ответа + * Задает куки ответа. + * * @param mixed $data + * * @return Response */ public function setCookies($cookie) { $this->cookie = $cookie; + return $this; } /** - * Возвращает куки ответа + * Возвращает куки ответа. + * * @return \Bitrix\Main\Web\HttpCookies */ public function getCookies() @@ -69,18 +77,22 @@ public function getCookies() } /** - * Задает код ошибки + * Задает код ошибки. + * * @param string $code + * * @return Response */ public function setStatus($code) { $this->error_code = trim($code); + return $this; } /** - * Возвращает код ошибки + * Возвращает код ошибки. + * * @return string */ public function getStatus() @@ -89,7 +101,8 @@ public function getStatus() } /** - * Возвращает сообщение об ошибке + * Возвращает сообщение об ошибке. + * * @return string */ public function getError() @@ -98,13 +111,16 @@ public function getError() } /** - * Задает сообщение об ошибке + * Задает сообщение об ошибке. + * * @param string $message + * * @return Response */ public function setError($message) { $this->error = $message; + return $this; } -} \ No newline at end of file +} diff --git a/src/BaseService.php b/src/BaseService.php index cca86d9..145abf9 100644 --- a/src/BaseService.php +++ b/src/BaseService.php @@ -8,19 +8,22 @@ use ExtService\Interfaces\Service as IService; /** - * Базовый класс для сервисовю Реализует обращение к методам и к стороннему апи + * Базовый класс для сервисовю Реализует обращение к методам и к стороннему апи. */ class BaseService implements IService { - use Traits\BaseSetter, Traits\BaseGetter; + use Traits\BaseSetter; + use Traits\BaseGetter; /** @var array */ protected $params = []; /** - * Осуществляет HTTP запрос с сервису - * @param IRequest $request Объект запроса + * Осуществляет HTTP запрос с сервису. + * + * @param IRequest $request Объект запроса * @param IResponse $response Объект ответа + * * @return IResponse */ public function query(IRequest $request, IResponse $response) @@ -39,9 +42,11 @@ public function query(IRequest $request, IResponse $response) } /** - * Вызывает методы получения данных по имени - * @param string $name Имя методы, например для getCatalog это будет Catalog + * Вызывает методы получения данных по имени. + * + * @param string $name Имя методы, например для getCatalog это будет Catalog * @param IRequest $request + * * @return IResponse | false */ public function get($name, IRequest $request = null, $cacheTime = 43200) @@ -53,13 +58,14 @@ public function get($name, IRequest $request = null, $cacheTime = 43200) if ($cache->initCache($cacheTime, get_class($this) . $method)) { $return = $cache->getVars(); } elseif ($cache->startDataCache()) { - if (!is_callable(array($this, $method))) { + if (!is_callable([$this, $method])) { $cache->abortDataCache(); + return $return; } else { $return = $this->$method(); - if(is_null($return)) { + if (is_null($return)) { $cache->abortDataCache(); } elseif (is_object($return) && $return->getError()) { $cache->abortDataCache(); @@ -67,13 +73,16 @@ public function get($name, IRequest $request = null, $cacheTime = 43200) } $cache->endDataCache($return); } + return $return; } /** - * Вызывает методы обработки данных по имени - * @param string $name Имя методы, например для actionSave это будет Save + * Вызывает методы обработки данных по имени. + * + * @param string $name Имя методы, например для actionSave это будет Save * @param IRequest $request + * * @return IResponse | false */ public function action($name, IRequest $request = null, $cacheTime = 0) @@ -85,13 +94,14 @@ public function action($name, IRequest $request = null, $cacheTime = 0) if ($cache->initCache($cacheTime, get_class($this) . $method)) { $return = $cache->getVars(); } elseif ($cache->startDataCache()) { - if (!is_callable(array($this, $method))) { + if (!is_callable([$this, $method])) { $cache->abortDataCache(); + return $return; } else { $return = $this->$method($request); - if(is_null($return)) { + if (is_null($return)) { $cache->abortDataCache(); } elseif (is_object($return) && $return->getError()) { $cache->abortDataCache(); @@ -99,6 +109,7 @@ public function action($name, IRequest $request = null, $cacheTime = 0) } $cache->endDataCache($return); } + return $return; } -} \ No newline at end of file +} diff --git a/src/Interfaces/Request.php b/src/Interfaces/Request.php index 62edfeb..2ecaca5 100644 --- a/src/Interfaces/Request.php +++ b/src/Interfaces/Request.php @@ -1,13 +1,11 @@ __soapCall( - $request->getParam("method"), - [$request->getParam("body")] + $request->getParam('method'), + [$request->getParam('body')] ); $response->setData($result); } catch (SoapFault $soapFault) { @@ -38,13 +41,16 @@ public function query(IRequest $request, IResponse $response) $response->setStatus($this->__getLastResponseHeaders()); $response->setError($soapFault); } + return $response; } /** - * Вызывает методы получения данных по имени - * @param string $name Имя методы, например для getCatalog это будет Catalog + * Вызывает методы получения данных по имени. + * + * @param string $name Имя методы, например для getCatalog это будет Catalog * @param IRequest $request + * * @return IResponse | false */ public function get($name, IRequest $request = null, $cacheTime = 60) @@ -56,21 +62,25 @@ public function get($name, IRequest $request = null, $cacheTime = 60) if ($cache->initCache($cacheTime, get_class($this) . $method)) { $return = $cache->getVars(); } elseif ($cache->startDataCache()) { - if (!is_callable(array($this, $method))) { + if (!is_callable([$this, $method])) { $cache->abortDataCache(); + return $return; } else { $return = $this->$method(); } $cache->endDataCache($return); } + return $return; } /** - * Вызывает методы обработки данных по имени - * @param string $name Имя методы, например для actionSave это будет Save + * Вызывает методы обработки данных по имени. + * + * @param string $name Имя методы, например для actionSave это будет Save * @param IRequest $request + * * @return IResponse | false */ public function action($name, IRequest $request = null, $cacheTime = 0) @@ -82,14 +92,16 @@ public function action($name, IRequest $request = null, $cacheTime = 0) if ($cache->initCache($cacheTime, get_class($this) . $method)) { $return = $cache->getVars(); } elseif ($cache->startDataCache()) { - if (!is_callable(array($this, $method))) { + if (!is_callable([$this, $method])) { $cache->abortDataCache(); + return $return; } else { $return = $this->$method($request); } $cache->endDataCache($return); } + return $return; } -} \ No newline at end of file +} diff --git a/src/Traits/BaseGetter.php b/src/Traits/BaseGetter.php index 585a83c..fae9ea1 100644 --- a/src/Traits/BaseGetter.php +++ b/src/Traits/BaseGetter.php @@ -2,16 +2,31 @@ namespace ExtService\Traits; +/** + * Trait BaseGetter. + * + * @package ExtService\Traits + */ trait BaseGetter { + /** + * @return mixed + */ public function getParams() { return $this->_params; } - public function getParam($name) + /** + * @param $name + * @param null $default + * + * @return mixed|null + */ + public function getParam($name, $default = null) { - return $this->_params[$name]; + return array_key_exists($name, $this->_params) + ? $this->_params[$name] + : $default; } - -} \ No newline at end of file +} diff --git a/src/Traits/BaseSetter.php b/src/Traits/BaseSetter.php index d46f0ad..e389b4c 100644 --- a/src/Traits/BaseSetter.php +++ b/src/Traits/BaseSetter.php @@ -2,8 +2,16 @@ namespace ExtService\Traits; +/** + * Trait BaseSetter. + * + * @package ExtService\Traits + */ trait BaseSetter { + /** + * @param array $params + */ public function setParams(array $params) { foreach ($params as $var => $val) { @@ -11,8 +19,12 @@ public function setParams(array $params) } } + /** + * @param $name + * @param $value + */ public function setParam($name, $value) { $this->_params[$name] = $value; } -} \ No newline at end of file +} From 5ea2d1040e4be6ab1e82552a77c7a9c859d87179 Mon Sep 17 00:00:00 2001 From: Oleg Koltsov Date: Thu, 3 Oct 2019 14:42:32 +0500 Subject: [PATCH 3/3] create .gitignore file --- .gitignore | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ebc6978 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +.php_cs.cache +/vendor +composer.lock +.DS_Store +.idea