This commit is contained in:
2021-02-20 17:30:03 +08:00
parent bc2ec40a76
commit cc19a2a198
3 changed files with 41 additions and 52 deletions
+39
View File
@@ -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);
}
}
-51
View File
@@ -1,51 +0,0 @@
<?php
declare(strict_types=1);
namespace HttpServer;
use Exception;
use HttpServer\Abstracts\HttpService;
use Snowflake\Snowflake;
/**
* Class Application
* @package HttpServer
*/
class Application extends HttpService
{
/**
* @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);
}
}
+2 -1
View File
@@ -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;