/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/Modules
/Home
/Table
/CategoryTable.php
$parent->setChildren($ch);
}
return $parents;
}
public function findCategoryWithPosts(string $slug)
{
/** @var Category $category */
$category = $this->baseForPublic()
->where("slug = :slug")
->params(['slug' => $slug])
->fetch();
$posts = (new PostTable($this->getPdo()))
->makeQuery()
->where('category_id = :catid')
->where('published = 1')
// ->order('created_at DESC')
->order('updated_at DESC')
->params(['catid' => $category->getId()])
->fetchAll();
$p = [];
/** @var Post $post */
foreach ($posts as $post) {
if ((int)$category->getId() === (int)$post->getCategoryId()) {
$p[] = $post;
}
}
$category->setPosts($p);
return $category;
}
public function findCategoriesEnAvantWithPosts()
{
/** @var Category[] $category */
$categories = $this->baseForPublic()
->where('en_avant = 1', 'published = 1')
->fetchAll();
Arguments
"Call to a member function getId() on bool"
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/Modules
/Home
/Actions
/CategoryShowAction.php
public function __construct(
RendererInterface $renderer,
PostTable $postTable,
CategoryTable $categoryTable
) {
$this->renderer = $renderer;
$this->postTable = $postTable;
$this->categoryTable = $categoryTable;
}
/**
* @param Request $request
* @return string
* @throws \Avalon\Database\NoRecordException
*/
public function __invoke(Request $request)
{
$category = $this->categoryTable->findCategoryWithPosts($request->getAttribute('slug'));
/** @var Category $category */
// $posts = $this->postTable->findPublicForCategory($category->getId());
return $this->renderer->render('@home/categories', compact('category'));
}
}
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/src
/Avalon
/Middleware
/CombinedMiddlewareHandler.php
/**
* @var RequestHandlerInterface
*/
private $handler;
public function __construct(ContainerInterface $container, array $middlewares, RequestHandlerInterface $handler)
{
$this->container = $container;
$this->middlewares = $middlewares;
$this->handler = $handler;
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'process']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
* @return object
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
}
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/src
/Avalon
/Middleware
/CombinedMiddlewareHandler.php
/**
* @var RequestHandlerInterface
*/
private $handler;
public function __construct(ContainerInterface $container, array $middlewares, RequestHandlerInterface $handler)
{
$this->container = $container;
$this->middlewares = $middlewares;
$this->handler = $handler;
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'process']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
* @return object
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
}
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/src
/Avalon
/Middleware
/CombinedMiddleware.php
/**
* @var ContainerInterface
*/
private $container;
/**
* @var array
*/
private $middlewares;
public function __construct(ContainerInterface $container, array $middlewares)
{
$this->container = $container;
$this->middlewares = $middlewares;
}
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$handler = new CombinedMiddlewareHandler($this->container, $this->middlewares, $handler);
return $handler->handle($request);
}
}
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/src
/Avalon
/Middleware
/DispatcherMiddleware.php
* @var ContainerInterface
*/
private $container;
public function __construct(ContainerInterface $container)
{
$this->container = $container;
}
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$route = $request->getAttribute(Router\Route::class);
if (is_null($route)) {
return $handler->handle($request);
}
$callback = $route->getCallback();
if (!is_array($callback)) {
$callback = [$callback];
}
return (new CombinedMiddleware($this->container, $callback))->process($request, $handler);
}
}
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/src
/Avalon
/Middleware
/CombinedMiddlewareHandler.php
public function __construct(ContainerInterface $container, array $middlewares, RequestHandlerInterface $handler)
{
$this->container = $container;
$this->middlewares = $middlewares;
$this->handler = $handler;
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'process']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
* @return object
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
}
$this->index++;
return $middleware;
}
return null;
}
}
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/src
/Avalon
/Middleware
/RouterMiddleware.php
*/
private $router;
public function __construct(Router $router)
{
$this->router = $router;
}
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$route = $this->router->match($request);
if (is_null($route)) {
return $handler->handle($request);
}
$params = $route->getParams();
$request = array_reduce(array_keys($params), function (ServerRequestInterface $request, $key) use ($params) {
return $request->withAttribute($key, $params[$key]);
}, $request);
$request = $request->withAttribute(get_class($route), $route);
return $handler->handle($request);
}
}
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/src
/Avalon
/Middleware
/CombinedMiddlewareHandler.php
public function __construct(ContainerInterface $container, array $middlewares, RequestHandlerInterface $handler)
{
$this->container = $container;
$this->middlewares = $middlewares;
$this->handler = $handler;
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'process']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
* @return object
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
}
$this->index++;
return $middleware;
}
return null;
}
}
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/src
/Avalon
/Middleware
/RendererRequestMiddleware.php
/**
* @var RendererInterface
*/
private $renderer;
public function __construct(RendererInterface $renderer)
{
$this->renderer = $renderer;
}
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$domain = sprintf(
'%s://%s%s',
$request->getUri()->getScheme(),
$request->getUri()->getHost(),
$request->getUri()->getPort() ? ':' . $request->getUri()->getPort() : ''
);
$this->renderer->addGlobal('domain', $domain);
return $handler->handle($request);
}
}
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/src
/Avalon
/Middleware
/CombinedMiddlewareHandler.php
public function __construct(ContainerInterface $container, array $middlewares, RequestHandlerInterface $handler)
{
$this->container = $container;
$this->middlewares = $middlewares;
$this->handler = $handler;
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'process']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
* @return object
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
}
$this->index++;
return $middleware;
}
return null;
}
}
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/src
/Avalon
/Middleware
/MethodMiddleware.php
use Psr\Http\Server\RequestHandlerInterface;
class MethodMiddleware implements MiddlewareInterface
{
/**
* Process an incoming server request and return a response, optionally delegating
* response creation to a handler.
* @param ServerRequestInterface $request
* @param RequestHandlerInterface $handler
* @return ResponseInterface
*/
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$parsedBody = $request->getParsedBody();
if (array_key_exists('_method', $parsedBody) &&
in_array($parsedBody['_method'], ['PUT', 'DELETE'])
) {
$request = $request->withMethod($parsedBody['_method']);
}
return $handler->handle($request);
}
}
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/src
/Avalon
/Middleware
/CombinedMiddlewareHandler.php
public function __construct(ContainerInterface $container, array $middlewares, RequestHandlerInterface $handler)
{
$this->container = $container;
$this->middlewares = $middlewares;
$this->handler = $handler;
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'process']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
* @return object
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
}
$this->index++;
return $middleware;
}
return null;
}
}
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/src
/Avalon
/Middleware
/RoutePrefixedMiddleware.php
/**
* Process an incoming server request and return a response, optionally delegating
* response creation to a handler.
* @param ServerRequestInterface $request
* @param RequestHandlerInterface $handler
* @return ResponseInterface
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
*/
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$path = $request->getUri()->getPath();
if (strpos($path, $this->routePrefix) === 0) {
if (is_string($this->middleware)) {
return $this->container->get($this->middleware)->process($request, $handler);
} else {
return $this->middleware->process($request, $handler);
}
}
return $handler->handle($request);
}
}
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/src
/Avalon
/Middleware
/CombinedMiddlewareHandler.php
public function __construct(ContainerInterface $container, array $middlewares, RequestHandlerInterface $handler)
{
$this->container = $container;
$this->middlewares = $middlewares;
$this->handler = $handler;
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'process']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
* @return object
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
}
$this->index++;
return $middleware;
}
return null;
}
}
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/src
/Avalon
/Middleware
/RoutePrefixedMiddleware.php
/**
* Process an incoming server request and return a response, optionally delegating
* response creation to a handler.
* @param ServerRequestInterface $request
* @param RequestHandlerInterface $handler
* @return ResponseInterface
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
*/
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$path = $request->getUri()->getPath();
if (strpos($path, $this->routePrefix) === 0) {
if (is_string($this->middleware)) {
return $this->container->get($this->middleware)->process($request, $handler);
} else {
return $this->middleware->process($request, $handler);
}
}
return $handler->handle($request);
}
}
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/src
/Avalon
/Middleware
/CombinedMiddlewareHandler.php
public function __construct(ContainerInterface $container, array $middlewares, RequestHandlerInterface $handler)
{
$this->container = $container;
$this->middlewares = $middlewares;
$this->handler = $handler;
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'process']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
* @return object
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
}
$this->index++;
return $middleware;
}
return null;
}
}
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/Modules
/Auth
/ForbiddenMiddleware.php
* @var SessionInterface
*/
private $session;
public function __construct(string $loginPath, SessionInterface $session)
{
$this->loginPath = $loginPath;
$this->session = $session;
}
/**
* @param ServerRequestInterface $request
* @param RequestHandlerInterface $handler
* @return ResponseInterface
* @throws \TypeError
*/
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
try {
return $handler->handle($request);
} catch (ForbiddenException $exception) {
$flash = new FlashService($this->session);
$flash->error('Vous devez être authenfifié ou n\'avez pas les droits suffisants pour accéder à cette section');
return $this->redirectLogin($request);
} catch (\TypeError $error) {
if (strpos($error->getMessage(), \Avalon\Auth\User::class) !== false) {
return $this->redirectLogin($request);
}
// exit($error);
// return $this->redirectLogin($request);
throw $error;
}
}
private function redirectLogin(ServerRequestInterface $request): ResponseInterface
{
$this->session->set('auth.redirect', $request->getUri()->getPath());
(new FlashService($this->session))->error('Vous devez posseder un compte pour acceder à cette page');
return new RedirectResponse($this->loginPath);
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/src
/Avalon
/Middleware
/CombinedMiddlewareHandler.php
public function __construct(ContainerInterface $container, array $middlewares, RequestHandlerInterface $handler)
{
$this->container = $container;
$this->middlewares = $middlewares;
$this->handler = $handler;
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'process']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
* @return object
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
}
$this->index++;
return $middleware;
}
return null;
}
}
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/src
/Avalon
/Middleware
/TrailingSlashMiddleware.php
use Psr\Http\Server\RequestHandlerInterface;
class TrailingSlashMiddleware implements MiddlewareInterface
{
/**
* Process an incoming server request and return a response, optionally delegating
* response creation to a handler.
* @param ServerRequestInterface $request
* @param RequestHandlerInterface $handler
* @return ResponseInterface
*/
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$uri = $request->getUri()->getPath();
if (!empty($uri) && $uri !== '/' && $uri[-1] === '/') {
return (new Response())
->withStatus(301)
->withHeader('Location', substr($uri, 0, -1));
}
return $handler->handle($request);
}
}
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/src
/Avalon
/Middleware
/CombinedMiddlewareHandler.php
public function __construct(ContainerInterface $container, array $middlewares, RequestHandlerInterface $handler)
{
$this->container = $container;
$this->middlewares = $middlewares;
$this->handler = $handler;
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'process']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
* @return object
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
}
$this->index++;
return $middleware;
}
return null;
}
}
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/vendor
/middlewares
/whoops
/src
/Whoops.php
$whoops->register();
$shutdown = function () use ($whoops) {
$whoops->allowQuit(true);
$whoops->writeToOutput(true);
$whoops->sendHttpCode(true);
$method = Run::SHUTDOWN_HANDLER;
$whoops->$method();
};
if ($this->system) {
$this->system->registerShutdownFunction($shutdown);
} else {
register_shutdown_function($shutdown);
}
}
try {
$response = $handler->handle($request);
} catch (\Throwable $exception) {
$response = Utils\Factory::createResponse(500);
$response->getBody()->write($whoops->$method($exception));
$response = self::updateResponseContentType($response, $whoops);
} finally {
while (ob_get_level() >= $level) {
ob_end_clean();
}
}
if ($this->catchErrors) {
$whoops->unregister();
}
return $response;
}
/**
* Returns the whoops instance or create one.
*/
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/src
/Avalon
/Middleware
/CombinedMiddlewareHandler.php
public function __construct(ContainerInterface $container, array $middlewares, RequestHandlerInterface $handler)
{
$this->container = $container;
$this->middlewares = $middlewares;
$this->handler = $handler;
}
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = $this->getMiddleware();
if (is_null($middleware)) {
return $this->handler->handle($request);
} elseif (is_callable($middleware)) {
$response = call_user_func_array($middleware, [$request, [$this, 'process']]);
if (is_string($response)) {
return new Response(200, [], $response);
}
return $response;
} elseif ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, $this);
}
}
/**
* @return object
*/
private function getMiddleware()
{
if (array_key_exists($this->index, $this->middlewares)) {
if (is_string($this->middlewares[$this->index])) {
$middleware = $this->container->get($this->middlewares[$this->index]);
} else {
$middleware = $this->middlewares[$this->index];
}
$this->index++;
return $middleware;
}
return null;
}
}
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/src
/Avalon
/Middleware
/CombinedMiddleware.php
/**
* @var ContainerInterface
*/
private $container;
/**
* @var array
*/
private $middlewares;
public function __construct(ContainerInterface $container, array $middlewares)
{
$this->container = $container;
$this->middlewares = $middlewares;
}
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
{
$handler = new CombinedMiddlewareHandler($this->container, $this->middlewares, $handler);
return $handler->handle($request);
}
}
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/src
/Avalon
/App.php
}
return $this;
}
/**
* Handle the request and return a response.
* @param ServerRequestInterface $request
* @return ResponseInterface
* @throws \Exception
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$this->index++;
if ($this->index > 1) {
throw new \Exception();
}
$middleware = new CombinedMiddleware($this->getContainer(), $this->middlewares);
return $middleware->process($request, $this);
}
/**
* @param ServerRequestInterface $request
* @return ResponseInterface
* @throws \Exception
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
*/
public function run(ServerRequestInterface $request): ResponseInterface
{
foreach ($this->modules as $module) {
$this->getContainer()->get($module);
}
return $this->handle($request);
}
/**
* @return ContainerInterface
*/
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/src
/Avalon
/App.php
if ($this->index > 1) {
throw new \Exception();
}
$middleware = new CombinedMiddleware($this->getContainer(), $this->middlewares);
return $middleware->process($request, $this);
}
/**
* @param ServerRequestInterface $request
* @return ResponseInterface
* @throws \Exception
* @throws \Psr\Container\ContainerExceptionInterface
* @throws \Psr\Container\NotFoundExceptionInterface
*/
public function run(ServerRequestInterface $request): ResponseInterface
{
foreach ($this->modules as $module) {
$this->getContainer()->get($module);
}
return $this->handle($request);
}
/**
* @return ContainerInterface
*/
public function getContainer(): ContainerInterface
{
if ($this->container === null) {
$builder = new ContainerBuilder();
// dd(getEnv('TMP_DIR'), $_ENV);
$env = getenv('ENV') ?: 'production';
if ($env === 'production') {
$builder->setDefinitionCache(new FilesystemCache('tmp/di'));
$builder->writeProxiesToFile(true, 'tmp/proxies');
}
foreach ($this->definitions as $definition) {
$builder->addDefinitions($definition);
}
foreach ($this->modules as $module) {
if ($module::DEFINITIONS) {
/homepages
/27
/d456686008
/htdocs
/app
/demo
/c-arquier
/public
/index.php
$container->get('admin.prefix'),
$container->get(RoleMiddlewareFactory::class)->makeForRole(['admin', 'superadmin'])
)
->pipe(
$container->get('account.prefix'),
$container->get(RoleMiddlewareFactory::class)->makeForRole(['utilisateur', 'admin', 'superadmin'])
);
} else {
$app->pipe($container->get('admin.prefix'), LoggedInMiddleware::class);
}
$app->pipe(MethodMiddleware::class)
->pipe(RendererRequestMiddleware::class)
// TODO : Décommenter le CsrfMiddleware avant la mise en prod prod
// ->pipe(CsrfMiddleware::class)
->pipe(RouterMiddleware::class)
->pipe(DispatcherMiddleware::class)
->pipe(NotFoundMiddleware::class);
if (php_sapi_name() !== "cli") {
$response = $app->run($request);
/** @var ResponseInterface $response */
\Http\Response\send($response);
}