namespace.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php
/**
 *
 */

namespace Mvc5
{
    const ABSOLUTE = 'absolute';
    const ACCEPTS_JSON = 'accepts_json';
    const ACTION = 'action';
    const ARGS = 'args';
    const ARGV = 'argv';
    const ATTRIBUTES = 'attributes';
    const AUTHENTICATE = 'authenticate';
    const AUTHENTICATED = 'authenticated';
    const BODY = 'body';
    const CALL = '@';
    const CALLS = 'calls';
    const CALL_SEPARATOR = '.';
    const CHILDREN = 'children';
    const CHILD_MODEL = '__child';
    const CLASS_NAME = 'class';
    const CLIENT_ADDRESS = 'client_address';
    const CODE = 'code';
    const CONFIG = 'config';
    const CONSTRAINTS = 'constraints';
    const CONTAINER = 'container';
    const CONTEXT = 'context';
    const CONTROLLER = 'controller';
    const COOKIE_EXPIRE_TIME = 946706400;
    const COOKIES = 'cookies';
    const CSRF_TOKEN = 'csrf_token';
    const DATA = 'data';
    const DANGER = 'danger';
    const DEFAULTS = 'defaults';
    const DESCRIPTION = 'description';
    const DOMAIN = 'domain';
    const ERROR = 'error';
    const ERROR_MODEL = 'error\model';
    const ERRORS = 'errors';
    const EVENT = 'event';
    const EVENTS = 'events';
    const EVENT_MODEL = 'event\model';
    const EXCEPTION = 'exception';
    const EXCEPTION_LAYOUT = 'exception\layout';
    const EXCEPTION_RESPONSE = 'exception\response';
    const EXPIRES = 'expires';
    const FACTORY = 'factory';
    const FILE = 'file';
    const FILES = 'files';
    const FORM = 'form';
    const FRAGMENT = 'fragment';
    const HEADERS = 'headers';
    const HOST = 'host';
    const HTTP_GET = 'GET';
    const HTTP_HEAD = 'HEAD';
    const HTTP_OPTIONS = 'OPTIONS';
    const HTTP_TRACE = 'TRACE';
    const HTTP_MIDDLEWARE = 'http\middleware';
    const HTTP_OK = 200;
    const HTTP_ONLY = 'httponly';
    const HTTP_SERVER_ERROR = 500;
    const INDEX = '#';
    const INFO = 'info';
    const ITEM = 'item';
    const LAYOUT = 'layout';
    const LEVEL = 'level';
    const LINE = 'line';
    const LOG = 'log';
    const MATCHED = 'matched';
    const MAX_RECURSION = 100;
    const MERGE = 'merge';
    const MESSAGE = 'message';
    const METHOD = 'method';
    const MIDDLEWARE = 'middleware';
    const MODEL = 'model';
    const NAME = 'name';
    const OPTIONAL = 'optional';
    const OPTIONS = 'options';
    const PARAM = 'param';
    const PARAMS = 'params';
    const PARENT = 'parent';
    const PASS = 'pass';
    const PATH = 'path';
    const PLUGIN = 'plugin';
    const PORT = 'port';
    const PREFIX = 'prefix';
    const PROPERTY = '$';
    const QUERY = 'query';
    const QUERY_SEPARATOR = '&';
    const RAW = 'raw';
    const REASON = 'reason';
    const REDIRECT_URL = 'redirect_url';
    const REGEX = 'regex';
    const RENDER = 'render';
    const REQUEST = 'request';
    const RESPONSE = 'response';
    const RESPONSE_DISPATCH = 'response\dispatch';
    const RESPONSE_JSON = 'response\json';
    const RESPONSE_JSON_ERROR = 'response\json\error';
    const RESPONSE_JSON_EXCEPTION = 'response\json\exception';
    const RESPONSE_REDIRECT = 'response\redirect';
    const ROUTE = 'route';
    const SAMESITE = 'samesite';
    const SCHEME = 'scheme';
    const SECURE = 'secure';
    const SEPARATOR = '/';
    const SEPARATORS = 'separators';
    const SERVER = 'server';
    const SERVICE = 'service';
    const SERVICES = 'services';
    const SERVICE_RESOLVER = 'service\resolver';
    const SERVICE_SEPARATOR = '->';
    const SESSION = 'session';
    const SESSION_MESSAGES = 'session\messages';
    const SEVERITY_CRITICAL = 2;
    const SPLIT = 'split';
    const STATUS = 'status';
    const STRICT = 'strict';
    const SUCCESS = 'success';
    const SUFFIX = 'suffix';
    const TARGET = 'target';
    const TEMPLATE = 'template';
    const TEMPLATE_MODEL = '__template';
    const THROW_EXCEPTION = 'throw_exception';
    const TOKENS = 'tokens';
    const TRACE = 'trace';
    const TYPE = 'type';
    const URI = 'uri';
    const URL = 'url';
    const USER = 'user';
    const USERNAME = 'username';
    const USER_AGENT = 'user_agent';
    const VALUE = 'value';
    const VARS = 'vars';
    const VERSION = 'version';
    const VIEW_EXTENSION = 'phtml';
    const VIEW_MODEL = 'view\model';
    const WARNING = 'warning';
    const WEB = 'web';
    const WILDCARD = 'wildcard';
}

/**
 *
 */
namespace Mvc5\Iterator
{
    use Iterator;

    /**
     * @param Iterator $iterator
     * @return Iterator
     */
    function next(Iterator $iterator) : Iterator
    {
        $iterator->next();
        return $iterator;
    }

    /**
     * @param Iterator $iterator
     * @return Iterator
     */
    function rewind(Iterator $iterator) : Iterator
    {
        $iterator->rewind();
        return $iterator;
    }
}

/**
 *
 */
namespace Mvc5\Route\Dash
{
    const CONSTRAINT = 2;
    const LITERAL = 1;
    const NAME = 1;
    const TYPE = 0;
}

/**
 *
 */
namespace Mvc5\Template
{
    use Throwable;

    use function extract;
    use function ob_end_clean;
    use function ob_get_clean;
    use function ob_get_level;
    use function ob_start;

    /**
     * @param TemplateModel $template
     * @return string
     */
    function render(TemplateModel $template): string
    {
        return (function () {
            /** @var TemplateModel $this */

            extract($this->vars(), EXTR_SKIP);

            $__ob_level__ = ob_get_level();

            ob_start();

            try {

                include $this->template();

                return ob_get_clean();

            } catch (Throwable $exception) {
                while (ob_get_level() > $__ob_level__) {
                    ob_end_clean();
                }

                throw $exception;
            }
        })->call($template);
    }
}