diff --git a/HttpServer/Abstracts/HttpService.php b/HttpServer/Abstracts/HttpService.php index 3718c4af..acf8fd94 100644 --- a/HttpServer/Abstracts/HttpService.php +++ b/HttpServer/Abstracts/HttpService.php @@ -4,11 +4,50 @@ declare(strict_types=1); namespace HttpServer\Abstracts; +use Exception; use Snowflake\Abstracts\Component; +use Snowflake\Snowflake; + +/** + * Class HttpService + * @package HttpServer\Abstracts + */ abstract class HttpService extends Component { + /** + * @param $message + * @param string $category + * @throws Exception + */ + protected function write($message, $category = 'app') + { + $logger = Snowflake::app()->getLogger(); + $logger->write($message, $category); + $logger->insert(); + } + + /** + * @param $name + * @return mixed + * @throws Exception + */ + public function __get($name): mixed + { + if (method_exists($this, $name)) { + return $this->{$name}(); + } + $handler = 'get' . ucfirst($name); + if (method_exists($this, $handler)) { + return $this->{$handler}(); + } + if (property_exists($this, $name)) { + return $this->$name; + } + $message = sprintf('method %s::%s not exists.', get_called_class(), $name); + throw new Exception($message); + } } diff --git a/HttpServer/Application.php b/HttpServer/Application.php deleted file mode 100644 index 947848a7..00000000 --- a/HttpServer/Application.php +++ /dev/null @@ -1,51 +0,0 @@ -getLogger(); - $logger->write($message, $category); - $logger->insert(); - } - - /** - * @param $name - * @return mixed - * @throws Exception - */ - public function __get($name): mixed - { - if (method_exists($this, $name)) { - return $this->{$name}(); - } - $handler = 'get' . ucfirst($name); - if (method_exists($this, $handler)) { - return $this->{$handler}(); - } - if (property_exists($this, $name)) { - return $this->$name; - } - $message = sprintf('method %s::%s not exists.', get_called_class(), $name); - throw new Exception($message); - } - -} diff --git a/HttpServer/Controller.php b/HttpServer/Controller.php index fc594988..8a85cf01 100644 --- a/HttpServer/Controller.php +++ b/HttpServer/Controller.php @@ -4,6 +4,7 @@ declare(strict_types=1); namespace HttpServer; +use HttpServer\Abstracts\HttpService; use HttpServer\Http\HttpHeaders; use HttpServer\Http\HttpParams; use HttpServer\Http\Request; @@ -16,7 +17,7 @@ use Snowflake\Snowflake; * Class WebController * @package Snowflake\Snowflake\Web */ -class Controller extends Application +class Controller extends HttpService { use TraitApplication;