diff --git a/composer.json b/composer.json index 7883753..b9dd13c 100644 --- a/composer.json +++ b/composer.json @@ -15,7 +15,9 @@ "rmphp/kernel": "^2.0", "rmphp/router": "^1.0", "rmphp/content": "^2.0", - "rmphp/storage": "^1.0" + "rmphp/storage": "^2.0", + "rmphp/session": "^1.0", + "rmphp/cache-file": "^1.0" }, "autoload": { "psr-4": { diff --git a/config/container/services.php b/config/container/services.php index 31a1c27..06437a9 100644 --- a/config/container/services.php +++ b/config/container/services.php @@ -1,9 +1,15 @@ DI\create(MysqlStorage::class)->constructor(json_decode(getenv("MYSQL_PARAM"), true)), + SessionInterface::class => DI\create(Session::class)->constructor(), + CacheInterface::class => DI\create(Cache::class)->constructor("../var/cache"), 'App\*\Domain\Repository\*RepositoryInterface' => DI\autowire('App\*\Repository\Mysql\*Repository'), ]; \ No newline at end of file diff --git a/public/index.php b/public/index.php index 342eb89..427eb1d 100644 --- a/public/index.php +++ b/public/index.php @@ -23,7 +23,7 @@ $response = $app->handler($request, (new Response())->withHeader("Content-Type", (new ResponseEmitter())->emit($response); -if(getenv("APP_MODE") == 'DEV' || in_array("Dev", $response->getHeader("App-Mode"))){ +if(getenv("APP_MODE") == 'DEV' && in_array("Dev", $response->getHeader("App-Mode"))){ $app->syslogger()->dump("Response", $response); addShutdownInfo($app->syslogger()->getLogs()); } \ No newline at end of file diff --git a/src/Common/Controllers/AbstractController.php b/src/Common/Controllers/AbstractController.php index 1882d3e..1e7c829 100644 --- a/src/Common/Controllers/AbstractController.php +++ b/src/Common/Controllers/AbstractController.php @@ -6,22 +6,29 @@ use Laminas\Diactoros\Response\HtmlResponse; use Laminas\Diactoros\Response\JsonResponse; use Laminas\Diactoros\Response\RedirectResponse; use Laminas\Diactoros\Response\TextResponse; -use Psr\Container\ContainerExceptionInterface; -use Psr\Container\NotFoundExceptionInterface; use Psr\Http\Message\ResponseInterface; use Rmphp\Kernel\Main; +use Throwable; abstract class AbstractController extends Main { /** - * @param \Throwable $throwable + * @param Throwable $throwable * @param array $data * @return void */ - public function logException(\Throwable $throwable, array $data = []) : void { + public function logException(Throwable $throwable, array $data = []) : void { $this->logger()->warning($throwable->getMessage()." on ".$throwable->getFile().":".$throwable->getLine(), $data); } + /** + * @param Throwable $throwable + * @param array $data + * @return void + */ + public function logError(Throwable $throwable, array $data = []) : void { + $this->logger()->error($throwable->getMessage()." on ".$throwable->getFile().":".$throwable->getLine(), $data); + } /** * @param string $name @@ -49,7 +56,6 @@ abstract class AbstractController extends Main { * @return ResponseInterface */ public function textResponse($text, int $status = 200, array $headers = []) : ResponseInterface { - $this->container()->set("showDebugLogs", false); return new TextResponse($text, $status, array_merge($this->globals()->response()->getHeaders(), $headers)); } @@ -60,7 +66,6 @@ abstract class AbstractController extends Main { * @return ResponseInterface */ public function jsonResponse(array $array, int $status = 200, array $headers = []) : ResponseInterface { - $this->container()->set("showDebugLogs", false); return new JsonResponse($array, $status, array_merge($this->globals()->response()->getHeaders(), $headers), JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT); } @@ -71,8 +76,30 @@ abstract class AbstractController extends Main { * @return ResponseInterface */ public function redirectResponse(string $url, int $status = 302, array $headers = []) : ResponseInterface { - $this->container()->set("showDebugLogs", false); return new RedirectResponse($url, $status, array_merge($this->globals()->response()->getHeaders(), $headers)); } + /** + * @param int $status + * @param array $headers + * @return ResponseInterface + */ + public function renderResponse(int $status = 200, array $headers = []) : ResponseInterface { + return new HtmlResponse($this->template()->getResponse(), $status, array_merge($this->globals()->response()->getHeaders(), $headers)); + } + + + /** + * @param string $point + * @param string $subtemplate + * @param array $data + * @param int $status + * @param array $headers + * @return ResponseInterface + */ + public function render(string $point, string $subtemplate, array $data = [], int $status = 200, array $headers = []) : ResponseInterface { + $this->template()->setSubtemple($point, $subtemplate, $data); + return new HtmlResponse($this->template()->getResponse(), $status, array_merge($this->globals()->response()->getHeaders(), $headers)); + } + } \ No newline at end of file diff --git a/src/Common/Controllers/AbstractPageController.php b/src/Common/Controllers/AbstractPageController.php deleted file mode 100644 index a5c0199..0000000 --- a/src/Common/Controllers/AbstractPageController.php +++ /dev/null @@ -1,36 +0,0 @@ -template()->addValue($point, $string); - } - - /** - * @param string $point - * @param string $subTempl - * @param array $resource - */ - public function templateSetSubtemple(string $point, string $subTempl, array $resource = []) : void { - $this->template()->setSubtemple($point, $subTempl, $resource); - } - - /** - * @param \Exception $exception - * @param array $data - * @return void - */ - public function exceptionPage(\Exception $exception, array $data = []) : void { - $this->logException($exception, $data); - $this->syslogger()->warning($exception->getMessage()." on ".$exception->getFile().":".$exception->getLine(), $data); - $this->templateSetSubtemple("main", "/main/errpage.tpl", [ - "errorText" => "Error: ".$exception->getMessage()." (".$exception->getCode().")"."" - ]); - } -} \ No newline at end of file diff --git a/src/Main/Controllers/IndexController.php b/src/Main/Controllers/IndexController.php index 01f2595..99d6f39 100644 --- a/src/Main/Controllers/IndexController.php +++ b/src/Main/Controllers/IndexController.php @@ -1,12 +1,12 @@