File Manager
Upload
Current Directory: /home/lartcid/public_html/journal.lartc.id
[Back]
..
[Open]
Hapus
Rename
.htaccess
[Edit]
Hapus
Rename
.well-known
[Open]
Hapus
Rename
README.md
[Edit]
Hapus
Rename
api
[Open]
Hapus
Rename
cache
[Open]
Hapus
Rename
cgi-bin
[Open]
Hapus
Rename
classes
[Open]
Hapus
Rename
config.TEMPLATE.inc.php
[Edit]
Hapus
Rename
config.inc.php
[Edit]
Hapus
Rename
controllers
[Open]
Hapus
Rename
cypress.json
[Edit]
Hapus
Rename
dbscripts
[Open]
Hapus
Rename
docs
[Open]
Hapus
Rename
error_log
[Edit]
Hapus
Rename
favicon.ico
[Edit]
Hapus
Rename
index.php
[Edit]
Hapus
Rename
js
[Open]
Hapus
Rename
lib
[Open]
Hapus
Rename
locale
[Open]
Hapus
Rename
mini.php
[Edit]
Hapus
Rename
pages
[Open]
Hapus
Rename
php.ini
[Edit]
Hapus
Rename
plugins
[Open]
Hapus
Rename
public
[Open]
Hapus
Rename
registry
[Open]
Hapus
Rename
scheduledTaskLogs
[Open]
Hapus
Rename
schemas
[Open]
Hapus
Rename
styles
[Open]
Hapus
Rename
templates
[Open]
Hapus
Rename
tools
[Open]
Hapus
Rename
Edit File
<?php /** * Slim Framework (https://slimframework.com) * * @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License) */ namespace Slim; use ArrayAccess; use Psr\Container\ContainerInterface; use Psr\Container\ContainerExceptionInterface; use InvalidArgumentException; use Pimple\Container as PimpleContainer; use Slim\Exception\ContainerException as SlimContainerException; use Slim\Exception\ContainerValueNotFoundException; /** * Slim's default DI container is Pimple. * * Slim\App expects a container that implements Psr\Container\ContainerInterface * with these service keys configured and ready for use: * * `settings` an array or instance of \ArrayAccess * `environment` an instance of \Slim\Http\Environment * `request` an instance of \Psr\Http\Message\ServerRequestInterface * `response` an instance of \Psr\Http\Message\ResponseInterface * `router` an instance of \Slim\Interfaces\RouterInterface * `foundHandler` an instance of \Slim\Interfaces\InvocationStrategyInterface * `errorHandler` a callable with the signature: function($request, $response, $exception) * `notFoundHandler` a callable with the signature: function($request, $response) * `notAllowedHandler` a callable with the signature: function($request, $response, $allowedHttpMethods) * `callableResolver` an instance of \Slim\Interfaces\CallableResolverInterface */ class Container extends PimpleContainer implements ContainerInterface { /** * Default settings * * @var array */ private $defaultSettings = [ 'httpVersion' => '1.1', 'responseChunkSize' => 4096, 'outputBuffering' => 'append', 'determineRouteBeforeAppMiddleware' => false, 'displayErrorDetails' => false, 'addContentLengthHeader' => true, 'routerCacheFile' => false, ]; /** * @param array $values The parameters or objects. */ public function __construct(array $values = []) { parent::__construct($values); $userSettings = isset($values['settings']) ? $values['settings'] : []; $this->registerDefaultServices($userSettings); } /** * This function registers the default services that Slim needs to work. * * All services are shared, they are registered such that the * same instance is returned on subsequent calls. * * @param array $userSettings Associative array of application settings * * @return void */ private function registerDefaultServices($userSettings) { $defaultSettings = $this->defaultSettings; /** * This service MUST return an array or an instance of ArrayAccess. * * @return array|ArrayAccess */ $this['settings'] = function () use ($userSettings, $defaultSettings) { return new Collection(array_merge($defaultSettings, $userSettings)); }; $defaultProvider = new DefaultServicesProvider(); $defaultProvider->register($this); } /** * Finds an entry of the container by its identifier and returns it. * * @param string $id Identifier of the entry to look for. * * @return mixed * * @throws InvalidArgumentException Thrown when an offset cannot be found in the Pimple container * @throws SlimContainerException Thrown when an exception is * not an instance of ContainerExceptionInterface * @throws ContainerValueNotFoundException No entry was found for this identifier. * @throws ContainerExceptionInterface Error while retrieving the entry. */ public function get($id) { if (!$this->offsetExists($id)) { throw new ContainerValueNotFoundException(sprintf('Identifier "%s" is not defined.', $id)); } try { return $this->offsetGet($id); } catch (InvalidArgumentException $exception) { if ($this->exceptionThrownByContainer($exception)) { throw new SlimContainerException( sprintf('Container error while retrieving "%s"', $id), null, $exception ); } else { throw $exception; } } } /** * Tests whether an exception needs to be recast for compliance with psr/container. This will be if the * exception was thrown by Pimple. * * @param InvalidArgumentException $exception * * @return bool */ private function exceptionThrownByContainer(InvalidArgumentException $exception) { $trace = $exception->getTrace()[0]; return $trace['class'] === PimpleContainer::class && $trace['function'] === 'offsetGet'; } /** * Returns true if the container can return an entry for the given identifier. * Returns false otherwise. * * @param string $id Identifier of the entry to look for. * * @return boolean */ public function has($id) { return $this->offsetExists($id); } /** * @param string $name * * @return mixed * * @throws InvalidArgumentException Thrown when an offset cannot be found in the Pimple container * @throws SlimContainerException Thrown when an exception is not * an instance of ContainerExceptionInterface * @throws ContainerValueNotFoundException No entry was found for this identifier. * @throws ContainerExceptionInterface Error while retrieving the entry. */ public function __get($name) { return $this->get($name); } /** * @param string $name * @return bool */ public function __isset($name) { return $this->has($name); } }
Simpan