File Manager
<?php
/**
* Slim Framework (https://slimframework.com)
*
* @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License)
*/
namespace Slim;
use AmeliaPsr\Container\ContainerInterface;
abstract class Routable
{
use CallableResolverAwareTrait;
/**
* Route callable
*
* @var callable
*/
protected $callable;
/**
* Container
*
* @var ContainerInterface
*/
protected $container;
/**
* Route middleware
*
* @var callable[]
*/
protected $middleware = [];
/**
* Route pattern
*
* @var string
*/
protected $pattern;
/**
* @param string $pattern
* @param callable $callable
*/
public function __construct($pattern, $callable)
{
$this->pattern = $pattern;
$this->callable = $callable;
}
/**
* Get the middleware registered for the group
*
* @return callable[]
*/
public function getMiddleware()
{
return $this->middleware;
}
/**
* Get the route pattern
*
* @return string
*/
public function getPattern()
{
return $this->pattern;
}
/**
* Set container for use with resolveCallable
*
* @param ContainerInterface $container
*
* @return static
*/
public function setContainer(ContainerInterface $container)
{
$this->container = $container;
return $this;
}
/**
* Prepend middleware to the middleware collection
*
* @param callable|string $callable The callback routine
*
* @return static
*/
public function add($callable)
{
$this->middleware[] = new DeferredCallable($callable, $this->container);
return $this;
}
/**
* Set the route pattern
*
* @param string $newPattern
*/
public function setPattern($newPattern)
{
$this->pattern = $newPattern;
}
}
File Manager Version 1.0, Coded By Lucas
Email: hehe@yahoo.com