/var
/www
/vhosts
/arzer.kz
/httpdocs
/src
/View
/src
/404.html.twig
{% extends 'src/layout.html.twig' %}
{% block content %}
<div class="page">
<div class="container">
<h1>Ошибка 404</h1>
<div class="content">
<p style="font-size: 1.3rem">Запрашиваемая Вами страница не найдена.
<br><small>Возможно Вы найдете её на нашей карте сайта:</small>
</p>
<ul>
{% for item in header.menu.elements.sortBy('sort') %}
<li><a href="{{ item.url() }}">{{ item.title }}</a></li>
{% endfor %}
</ul>
</div>
</div>
</div>
{% endblock %}
Arguments
"Key "menu" does not exist as the array is empty."
/var
/www
/vhosts
/arzer.kz
/httpdocs
/vendor
/twig
/twig
/lib
/Twig
/Environment.php
if (!class_exists($cls, false)) {
$key = $this->cache->generateKey($name, $mainCls);
if (!$this->isAutoReload() || $this->isTemplateFresh($name, $this->cache->getTimestamp($key))) {
$this->cache->load($key);
}
if (!class_exists($cls, false)) {
$source = $this->getLoader()->getSourceContext($name);
$content = $this->compileSource($source);
$this->cache->write($key, $content);
$this->cache->load($key);
if (!class_exists($mainCls, false)) {
/* Last line of defense if either $this->bcWriteCacheFile was used,
* $this->cache is implemented as a no-op or we have a race condition
* where the cache was cleared between the above calls to write to and load from
* the cache.
*/
eval('?>'.$content);
}
if (!class_exists($cls, false)) {
throw new Twig_Error_Runtime(sprintf('Failed to load Twig template "%s", index "%s": cache is corrupted.', $name, $index), -1, $source);
}
}
}
// to be removed in 3.0
$this->extensionSet->initRuntime($this);
return $this->loadedTemplates[$cls] = new $cls($this);
}
/**
* Creates a template from source.
*
* This method should not be used as a generic way to load templates.
*
* @param string $template The template name
Arguments
Twig_Environment {#2760}
Twig_Source {#4053}
[]
"menu"
[]
/var
/www
/vhosts
/arzer.kz
/httpdocs
/vendor
/twig
/twig
/lib
/Twig
/Template.php
{
if ($useBlocks && isset($blocks[$name])) {
$template = $blocks[$name][0];
$block = $blocks[$name][1];
} elseif (isset($this->blocks[$name])) {
$template = $this->blocks[$name][0];
$block = $this->blocks[$name][1];
} else {
$template = null;
$block = null;
}
// avoid RCEs when sandbox is enabled
if (null !== $template && !$template instanceof self) {
throw new LogicException('A block must be a method on a Twig_Template instance.');
}
if (null !== $template) {
try {
$template->$block($context, $blocks);
} catch (Twig_Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($template->getSourceContext());
}
// this is mostly useful for Twig_Error_Loader exceptions
// see Twig_Error_Loader
if (false === $e->getTemplateLine()) {
$e->setTemplateLine(-1);
$e->guess();
}
throw $e;
} catch (Exception $e) {
throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $template->getSourceContext(), $e);
}
} elseif (false !== $parent = $this->getParent($context)) {
$parent->displayBlock($name, $context, array_merge($this->blocks, $blocks), false);
} elseif (isset($blocks[$name])) {
throw new Twig_Error_Runtime(sprintf('Block "%s" should not call parent() in "%s" as the block does not exist in the parent template "%s".', $name, $blocks[$name][0]->getTemplateName(), $this->getTemplateName()), -1, $blocks[$name][0]->getTemplateName());
Arguments
array:18 [
"Registry" => Registry {#680}
"Locale" => Locale {#684}
"Translation" => Translation {#681}
"Csrf" => Csrf {#682}
"pageStyle" => "index"
"pageJs" => "index"
"logoDisable" => false
"CMS" => CMS {#2852}
"Auth" => Cabinet {#2851}
"seo" => Subject {#2923}
"locales" => """
<form method="GET" action="/ru/"><button style="color: white" class="elem_template_1">Рус</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/kz/"><button class="elem_template_1">Қаз</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/en/"><button class="elem_template_1">Eng</button></form>\n
"""
"lang" => "ru"
"contacts" => Subject {#2854}
"siteVariables" => SubjectsCollection {#3122}
"menu" => SubjectsCollection {#3229}
"header" => []
"footer" => []
"_parent" => array:17 [
"Registry" => Registry {#680}
"Locale" => Locale {#684}
"Translation" => Translation {#681}
"Csrf" => Csrf {#682}
"pageStyle" => "index"
"pageJs" => "index"
"logoDisable" => false
"CMS" => CMS {#2852}
"Auth" => Cabinet {#2851}
"seo" => Subject {#2923}
"locales" => """
<form method="GET" action="/ru/"><button style="color: white" class="elem_template_1">Рус</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/kz/"><button class="elem_template_1">Қаз</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/en/"><button class="elem_template_1">Eng</button></form>\n
"""
"lang" => "ru"
"contacts" => Subject {#2854}
"siteVariables" => SubjectsCollection {#3122}
"menu" => SubjectsCollection {#3229}
"header" => []
"footer" => []
]
]
array:6 [
"keywords" => array:2 [
0 => __TwigTemplate_1c89e9bdd934a9c6fded66504a95bc9168437805dd1df0a5b7954c00f7890735 {#3638}
1 => "block_keywords"
]
"description" => array:2 [
0 => __TwigTemplate_1c89e9bdd934a9c6fded66504a95bc9168437805dd1df0a5b7954c00f7890735 {#3638}
1 => "block_description"
]
"title" => array:2 [
0 => __TwigTemplate_1c89e9bdd934a9c6fded66504a95bc9168437805dd1df0a5b7954c00f7890735 {#3638}
1 => "block_title"
]
"body_content" => array:2 [
0 => __TwigTemplate_f25bbc4af0f88cfc0151dc185766c27606078cb6e066bc96755107ae746c04d3 {#3763}
1 => "block_body_content"
]
"other_scripts" => array:2 [
0 => __TwigTemplate_1c89e9bdd934a9c6fded66504a95bc9168437805dd1df0a5b7954c00f7890735 {#3638}
1 => "block_other_scripts"
]
"content" => array:2 [
0 => __TwigTemplate_ff0a31864d1b5fa49320329a29e0f5496e79c4d35556aa9c02b4ed48dee09e5f {#3286}
1 => "block_content"
]
]
/var
/www
/vhosts
/arzer.kz
/httpdocs
/vendor
/twig
/twig
/lib
/Twig
/Environment.php
if (!class_exists($cls, false)) {
$key = $this->cache->generateKey($name, $mainCls);
if (!$this->isAutoReload() || $this->isTemplateFresh($name, $this->cache->getTimestamp($key))) {
$this->cache->load($key);
}
if (!class_exists($cls, false)) {
$source = $this->getLoader()->getSourceContext($name);
$content = $this->compileSource($source);
$this->cache->write($key, $content);
$this->cache->load($key);
if (!class_exists($mainCls, false)) {
/* Last line of defense if either $this->bcWriteCacheFile was used,
* $this->cache is implemented as a no-op or we have a race condition
* where the cache was cleared between the above calls to write to and load from
* the cache.
*/
eval('?>'.$content);
}
if (!class_exists($cls, false)) {
throw new Twig_Error_Runtime(sprintf('Failed to load Twig template "%s", index "%s": cache is corrupted.', $name, $index), -1, $source);
}
}
}
// to be removed in 3.0
$this->extensionSet->initRuntime($this);
return $this->loadedTemplates[$cls] = new $cls($this);
}
/**
* Creates a template from source.
*
* This method should not be used as a generic way to load templates.
*
* @param string $template The template name
Arguments
"content"
array:17 [
"Registry" => Registry {#680}
"Locale" => Locale {#684}
"Translation" => Translation {#681}
"Csrf" => Csrf {#682}
"pageStyle" => "index"
"pageJs" => "index"
"logoDisable" => false
"CMS" => CMS {#2852}
"Auth" => Cabinet {#2851}
"seo" => Subject {#2923}
"locales" => """
<form method="GET" action="/ru/"><button style="color: white" class="elem_template_1">Рус</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/kz/"><button class="elem_template_1">Қаз</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/en/"><button class="elem_template_1">Eng</button></form>\n
"""
"lang" => "ru"
"contacts" => Subject {#2854}
"siteVariables" => SubjectsCollection {#3122}
"menu" => SubjectsCollection {#3229}
"header" => []
"footer" => []
]
array:6 [
"keywords" => array:2 [
0 => __TwigTemplate_1c89e9bdd934a9c6fded66504a95bc9168437805dd1df0a5b7954c00f7890735 {#3638}
1 => "block_keywords"
]
"description" => array:2 [
0 => __TwigTemplate_1c89e9bdd934a9c6fded66504a95bc9168437805dd1df0a5b7954c00f7890735 {#3638}
1 => "block_description"
]
"title" => array:2 [
0 => __TwigTemplate_1c89e9bdd934a9c6fded66504a95bc9168437805dd1df0a5b7954c00f7890735 {#3638}
1 => "block_title"
]
"body_content" => array:2 [
0 => __TwigTemplate_f25bbc4af0f88cfc0151dc185766c27606078cb6e066bc96755107ae746c04d3 {#3763}
1 => "block_body_content"
]
"other_scripts" => array:2 [
0 => __TwigTemplate_1c89e9bdd934a9c6fded66504a95bc9168437805dd1df0a5b7954c00f7890735 {#3638}
1 => "block_other_scripts"
]
"content" => array:2 [
0 => __TwigTemplate_ff0a31864d1b5fa49320329a29e0f5496e79c4d35556aa9c02b4ed48dee09e5f {#3286}
1 => "block_content"
]
]
/var
/www
/vhosts
/arzer.kz
/httpdocs
/vendor
/twig
/twig
/lib
/Twig
/Template.php
{
if ($useBlocks && isset($blocks[$name])) {
$template = $blocks[$name][0];
$block = $blocks[$name][1];
} elseif (isset($this->blocks[$name])) {
$template = $this->blocks[$name][0];
$block = $this->blocks[$name][1];
} else {
$template = null;
$block = null;
}
// avoid RCEs when sandbox is enabled
if (null !== $template && !$template instanceof self) {
throw new LogicException('A block must be a method on a Twig_Template instance.');
}
if (null !== $template) {
try {
$template->$block($context, $blocks);
} catch (Twig_Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($template->getSourceContext());
}
// this is mostly useful for Twig_Error_Loader exceptions
// see Twig_Error_Loader
if (false === $e->getTemplateLine()) {
$e->setTemplateLine(-1);
$e->guess();
}
throw $e;
} catch (Exception $e) {
throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $template->getSourceContext(), $e);
}
} elseif (false !== $parent = $this->getParent($context)) {
$parent->displayBlock($name, $context, array_merge($this->blocks, $blocks), false);
} elseif (isset($blocks[$name])) {
throw new Twig_Error_Runtime(sprintf('Block "%s" should not call parent() in "%s" as the block does not exist in the parent template "%s".', $name, $blocks[$name][0]->getTemplateName(), $this->getTemplateName()), -1, $blocks[$name][0]->getTemplateName());
Arguments
array:17 [
"Registry" => Registry {#680}
"Locale" => Locale {#684}
"Translation" => Translation {#681}
"Csrf" => Csrf {#682}
"pageStyle" => "index"
"pageJs" => "index"
"logoDisable" => false
"CMS" => CMS {#2852}
"Auth" => Cabinet {#2851}
"seo" => Subject {#2923}
"locales" => """
<form method="GET" action="/ru/"><button style="color: white" class="elem_template_1">Рус</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/kz/"><button class="elem_template_1">Қаз</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/en/"><button class="elem_template_1">Eng</button></form>\n
"""
"lang" => "ru"
"contacts" => Subject {#2854}
"siteVariables" => SubjectsCollection {#3122}
"menu" => SubjectsCollection {#3229}
"header" => []
"footer" => []
]
array:6 [
"keywords" => array:2 [
0 => __TwigTemplate_1c89e9bdd934a9c6fded66504a95bc9168437805dd1df0a5b7954c00f7890735 {#3638}
1 => "block_keywords"
]
"description" => array:2 [
0 => __TwigTemplate_1c89e9bdd934a9c6fded66504a95bc9168437805dd1df0a5b7954c00f7890735 {#3638}
1 => "block_description"
]
"title" => array:2 [
0 => __TwigTemplate_1c89e9bdd934a9c6fded66504a95bc9168437805dd1df0a5b7954c00f7890735 {#3638}
1 => "block_title"
]
"body_content" => array:2 [
0 => __TwigTemplate_f25bbc4af0f88cfc0151dc185766c27606078cb6e066bc96755107ae746c04d3 {#3763}
1 => "block_body_content"
]
"other_scripts" => array:2 [
0 => __TwigTemplate_1c89e9bdd934a9c6fded66504a95bc9168437805dd1df0a5b7954c00f7890735 {#3638}
1 => "block_other_scripts"
]
"content" => array:2 [
0 => __TwigTemplate_ff0a31864d1b5fa49320329a29e0f5496e79c4d35556aa9c02b4ed48dee09e5f {#3286}
1 => "block_content"
]
]
/var
/www
/vhosts
/arzer.kz
/httpdocs
/vendor
/twig
/twig
/lib
/Twig
/Environment.php
if (!class_exists($cls, false)) {
$key = $this->cache->generateKey($name, $mainCls);
if (!$this->isAutoReload() || $this->isTemplateFresh($name, $this->cache->getTimestamp($key))) {
$this->cache->load($key);
}
if (!class_exists($cls, false)) {
$source = $this->getLoader()->getSourceContext($name);
$content = $this->compileSource($source);
$this->cache->write($key, $content);
$this->cache->load($key);
if (!class_exists($mainCls, false)) {
/* Last line of defense if either $this->bcWriteCacheFile was used,
* $this->cache is implemented as a no-op or we have a race condition
* where the cache was cleared between the above calls to write to and load from
* the cache.
*/
eval('?>'.$content);
}
if (!class_exists($cls, false)) {
throw new Twig_Error_Runtime(sprintf('Failed to load Twig template "%s", index "%s": cache is corrupted.', $name, $index), -1, $source);
}
}
}
// to be removed in 3.0
$this->extensionSet->initRuntime($this);
return $this->loadedTemplates[$cls] = new $cls($this);
}
/**
* Creates a template from source.
*
* This method should not be used as a generic way to load templates.
*
* @param string $template The template name
Arguments
"body_content"
array:17 [
"Registry" => Registry {#680}
"Locale" => Locale {#684}
"Translation" => Translation {#681}
"Csrf" => Csrf {#682}
"pageStyle" => "index"
"pageJs" => "index"
"logoDisable" => false
"CMS" => CMS {#2852}
"Auth" => Cabinet {#2851}
"seo" => Subject {#2923}
"locales" => """
<form method="GET" action="/ru/"><button style="color: white" class="elem_template_1">Рус</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/kz/"><button class="elem_template_1">Қаз</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/en/"><button class="elem_template_1">Eng</button></form>\n
"""
"lang" => "ru"
"contacts" => Subject {#2854}
"siteVariables" => SubjectsCollection {#3122}
"menu" => SubjectsCollection {#3229}
"header" => []
"footer" => []
]
array:6 [
"keywords" => array:2 [
0 => __TwigTemplate_1c89e9bdd934a9c6fded66504a95bc9168437805dd1df0a5b7954c00f7890735 {#3638}
1 => "block_keywords"
]
"description" => array:2 [
0 => __TwigTemplate_1c89e9bdd934a9c6fded66504a95bc9168437805dd1df0a5b7954c00f7890735 {#3638}
1 => "block_description"
]
"title" => array:2 [
0 => __TwigTemplate_1c89e9bdd934a9c6fded66504a95bc9168437805dd1df0a5b7954c00f7890735 {#3638}
1 => "block_title"
]
"body_content" => array:2 [
0 => __TwigTemplate_f25bbc4af0f88cfc0151dc185766c27606078cb6e066bc96755107ae746c04d3 {#3763}
1 => "block_body_content"
]
"other_scripts" => array:2 [
0 => __TwigTemplate_1c89e9bdd934a9c6fded66504a95bc9168437805dd1df0a5b7954c00f7890735 {#3638}
1 => "block_other_scripts"
]
"content" => array:2 [
0 => __TwigTemplate_ff0a31864d1b5fa49320329a29e0f5496e79c4d35556aa9c02b4ed48dee09e5f {#3286}
1 => "block_content"
]
]
/var
/www
/vhosts
/arzer.kz
/httpdocs
/vendor
/twig
/twig
/lib
/Twig
/Template.php
{
$level = ob_get_level();
ob_start();
try {
$this->display($context);
} catch (Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = array())
{
try {
$this->doDisplay($context, $blocks);
} catch (Twig_Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
// this is mostly useful for Twig_Error_Loader exceptions
// see Twig_Error_Loader
if (false === $e->getTemplateLine()) {
$e->setTemplateLine(-1);
$e->guess();
}
throw $e;
} catch (Exception $e) {
throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
}
}
/**
* Auto-generated method to display the template with the given context.
Arguments
array:17 [
"Registry" => Registry {#680}
"Locale" => Locale {#684}
"Translation" => Translation {#681}
"Csrf" => Csrf {#682}
"pageStyle" => "index"
"pageJs" => "index"
"logoDisable" => false
"CMS" => CMS {#2852}
"Auth" => Cabinet {#2851}
"seo" => Subject {#2923}
"locales" => """
<form method="GET" action="/ru/"><button style="color: white" class="elem_template_1">Рус</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/kz/"><button class="elem_template_1">Қаз</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/en/"><button class="elem_template_1">Eng</button></form>\n
"""
"lang" => "ru"
"contacts" => Subject {#2854}
"siteVariables" => SubjectsCollection {#3122}
"menu" => SubjectsCollection {#3229}
"header" => []
"footer" => []
]
array:6 [
"keywords" => array:2 [
0 => __TwigTemplate_1c89e9bdd934a9c6fded66504a95bc9168437805dd1df0a5b7954c00f7890735 {#3638}
1 => "block_keywords"
]
"description" => array:2 [
0 => __TwigTemplate_1c89e9bdd934a9c6fded66504a95bc9168437805dd1df0a5b7954c00f7890735 {#3638}
1 => "block_description"
]
"title" => array:2 [
0 => __TwigTemplate_1c89e9bdd934a9c6fded66504a95bc9168437805dd1df0a5b7954c00f7890735 {#3638}
1 => "block_title"
]
"body_content" => array:2 [
0 => __TwigTemplate_f25bbc4af0f88cfc0151dc185766c27606078cb6e066bc96755107ae746c04d3 {#3763}
1 => "block_body_content"
]
"other_scripts" => array:2 [
0 => __TwigTemplate_1c89e9bdd934a9c6fded66504a95bc9168437805dd1df0a5b7954c00f7890735 {#3638}
1 => "block_other_scripts"
]
"content" => array:2 [
0 => __TwigTemplate_ff0a31864d1b5fa49320329a29e0f5496e79c4d35556aa9c02b4ed48dee09e5f {#3286}
1 => "block_content"
]
]
/var
/www
/vhosts
/arzer.kz
/httpdocs
/vendor
/twig
/twig
/lib
/Twig
/Template.php
}
/**
* Returns all blocks.
*
* This method is for internal use only and should never be called
* directly.
*
* @return array An array of blocks
*
* @internal
*/
public function getBlocks()
{
return $this->blocks;
}
public function display(array $context, array $blocks = array())
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
public function render(array $context)
{
$level = ob_get_level();
ob_start();
try {
$this->display($context);
} catch (Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = array())
Arguments
array:17 [
"Registry" => Registry {#680}
"Locale" => Locale {#684}
"Translation" => Translation {#681}
"Csrf" => Csrf {#682}
"pageStyle" => "index"
"pageJs" => "index"
"logoDisable" => false
"CMS" => CMS {#2852}
"Auth" => Cabinet {#2851}
"seo" => Subject {#2923}
"locales" => """
<form method="GET" action="/ru/"><button style="color: white" class="elem_template_1">Рус</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/kz/"><button class="elem_template_1">Қаз</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/en/"><button class="elem_template_1">Eng</button></form>\n
"""
"lang" => "ru"
"contacts" => Subject {#2854}
"siteVariables" => SubjectsCollection {#3122}
"menu" => SubjectsCollection {#3229}
"header" => []
"footer" => []
]
array:6 [
"keywords" => array:2 [
0 => __TwigTemplate_1c89e9bdd934a9c6fded66504a95bc9168437805dd1df0a5b7954c00f7890735 {#3638}
1 => "block_keywords"
]
"description" => array:2 [
0 => __TwigTemplate_1c89e9bdd934a9c6fded66504a95bc9168437805dd1df0a5b7954c00f7890735 {#3638}
1 => "block_description"
]
"title" => array:2 [
0 => __TwigTemplate_1c89e9bdd934a9c6fded66504a95bc9168437805dd1df0a5b7954c00f7890735 {#3638}
1 => "block_title"
]
"body_content" => array:2 [
0 => __TwigTemplate_f25bbc4af0f88cfc0151dc185766c27606078cb6e066bc96755107ae746c04d3 {#3763}
1 => "block_body_content"
]
"other_scripts" => array:2 [
0 => __TwigTemplate_1c89e9bdd934a9c6fded66504a95bc9168437805dd1df0a5b7954c00f7890735 {#3638}
1 => "block_other_scripts"
]
"content" => array:2 [
0 => __TwigTemplate_ff0a31864d1b5fa49320329a29e0f5496e79c4d35556aa9c02b4ed48dee09e5f {#3286}
1 => "block_content"
]
]
/var
/www
/vhosts
/arzer.kz
/httpdocs
/vendor
/twig
/twig
/lib
/Twig
/Environment.php
if (!class_exists($cls, false)) {
$key = $this->cache->generateKey($name, $mainCls);
if (!$this->isAutoReload() || $this->isTemplateFresh($name, $this->cache->getTimestamp($key))) {
$this->cache->load($key);
}
if (!class_exists($cls, false)) {
$source = $this->getLoader()->getSourceContext($name);
$content = $this->compileSource($source);
$this->cache->write($key, $content);
$this->cache->load($key);
if (!class_exists($mainCls, false)) {
/* Last line of defense if either $this->bcWriteCacheFile was used,
* $this->cache is implemented as a no-op or we have a race condition
* where the cache was cleared between the above calls to write to and load from
* the cache.
*/
eval('?>'.$content);
}
if (!class_exists($cls, false)) {
throw new Twig_Error_Runtime(sprintf('Failed to load Twig template "%s", index "%s": cache is corrupted.', $name, $index), -1, $source);
}
}
}
// to be removed in 3.0
$this->extensionSet->initRuntime($this);
return $this->loadedTemplates[$cls] = new $cls($this);
}
/**
* Creates a template from source.
*
* This method should not be used as a generic way to load templates.
*
* @param string $template The template name
Arguments
array:17 [
"Registry" => Registry {#680}
"Locale" => Locale {#684}
"Translation" => Translation {#681}
"Csrf" => Csrf {#682}
"pageStyle" => "index"
"pageJs" => "index"
"logoDisable" => false
"CMS" => CMS {#2852}
"Auth" => Cabinet {#2851}
"seo" => Subject {#2923}
"locales" => """
<form method="GET" action="/ru/"><button style="color: white" class="elem_template_1">Рус</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/kz/"><button class="elem_template_1">Қаз</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/en/"><button class="elem_template_1">Eng</button></form>\n
"""
"lang" => "ru"
"contacts" => Subject {#2854}
"siteVariables" => SubjectsCollection {#3122}
"menu" => SubjectsCollection {#3229}
"header" => []
"footer" => []
]
array:2 [
"body_content" => array:2 [
0 => __TwigTemplate_f25bbc4af0f88cfc0151dc185766c27606078cb6e066bc96755107ae746c04d3 {#3763}
1 => "block_body_content"
]
"content" => array:2 [
0 => __TwigTemplate_ff0a31864d1b5fa49320329a29e0f5496e79c4d35556aa9c02b4ed48dee09e5f {#3286}
1 => "block_content"
]
]
/var
/www
/vhosts
/arzer.kz
/httpdocs
/vendor
/twig
/twig
/lib
/Twig
/Template.php
{
$level = ob_get_level();
ob_start();
try {
$this->display($context);
} catch (Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = array())
{
try {
$this->doDisplay($context, $blocks);
} catch (Twig_Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
// this is mostly useful for Twig_Error_Loader exceptions
// see Twig_Error_Loader
if (false === $e->getTemplateLine()) {
$e->setTemplateLine(-1);
$e->guess();
}
throw $e;
} catch (Exception $e) {
throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
}
}
/**
* Auto-generated method to display the template with the given context.
Arguments
array:17 [
"Registry" => Registry {#680}
"Locale" => Locale {#684}
"Translation" => Translation {#681}
"Csrf" => Csrf {#682}
"pageStyle" => "index"
"pageJs" => "index"
"logoDisable" => false
"CMS" => CMS {#2852}
"Auth" => Cabinet {#2851}
"seo" => Subject {#2923}
"locales" => """
<form method="GET" action="/ru/"><button style="color: white" class="elem_template_1">Рус</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/kz/"><button class="elem_template_1">Қаз</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/en/"><button class="elem_template_1">Eng</button></form>\n
"""
"lang" => "ru"
"contacts" => Subject {#2854}
"siteVariables" => SubjectsCollection {#3122}
"menu" => SubjectsCollection {#3229}
"header" => []
"footer" => []
]
array:2 [
"body_content" => array:2 [
0 => __TwigTemplate_f25bbc4af0f88cfc0151dc185766c27606078cb6e066bc96755107ae746c04d3 {#3763}
1 => "block_body_content"
]
"content" => array:2 [
0 => __TwigTemplate_ff0a31864d1b5fa49320329a29e0f5496e79c4d35556aa9c02b4ed48dee09e5f {#3286}
1 => "block_content"
]
]
/var
/www
/vhosts
/arzer.kz
/httpdocs
/vendor
/twig
/twig
/lib
/Twig
/Template.php
}
/**
* Returns all blocks.
*
* This method is for internal use only and should never be called
* directly.
*
* @return array An array of blocks
*
* @internal
*/
public function getBlocks()
{
return $this->blocks;
}
public function display(array $context, array $blocks = array())
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
public function render(array $context)
{
$level = ob_get_level();
ob_start();
try {
$this->display($context);
} catch (Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = array())
Arguments
array:17 [
"Registry" => Registry {#680}
"Locale" => Locale {#684}
"Translation" => Translation {#681}
"Csrf" => Csrf {#682}
"pageStyle" => "index"
"pageJs" => "index"
"logoDisable" => false
"CMS" => CMS {#2852}
"Auth" => Cabinet {#2851}
"seo" => Subject {#2923}
"locales" => """
<form method="GET" action="/ru/"><button style="color: white" class="elem_template_1">Рус</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/kz/"><button class="elem_template_1">Қаз</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/en/"><button class="elem_template_1">Eng</button></form>\n
"""
"lang" => "ru"
"contacts" => Subject {#2854}
"siteVariables" => SubjectsCollection {#3122}
"menu" => SubjectsCollection {#3229}
"header" => []
"footer" => []
]
array:2 [
"body_content" => array:2 [
0 => __TwigTemplate_f25bbc4af0f88cfc0151dc185766c27606078cb6e066bc96755107ae746c04d3 {#3763}
1 => "block_body_content"
]
"content" => array:2 [
0 => __TwigTemplate_ff0a31864d1b5fa49320329a29e0f5496e79c4d35556aa9c02b4ed48dee09e5f {#3286}
1 => "block_content"
]
]
/var
/www
/vhosts
/arzer.kz
/httpdocs
/vendor
/twig
/twig
/lib
/Twig
/Environment.php
if (!class_exists($cls, false)) {
$key = $this->cache->generateKey($name, $mainCls);
if (!$this->isAutoReload() || $this->isTemplateFresh($name, $this->cache->getTimestamp($key))) {
$this->cache->load($key);
}
if (!class_exists($cls, false)) {
$source = $this->getLoader()->getSourceContext($name);
$content = $this->compileSource($source);
$this->cache->write($key, $content);
$this->cache->load($key);
if (!class_exists($mainCls, false)) {
/* Last line of defense if either $this->bcWriteCacheFile was used,
* $this->cache is implemented as a no-op or we have a race condition
* where the cache was cleared between the above calls to write to and load from
* the cache.
*/
eval('?>'.$content);
}
if (!class_exists($cls, false)) {
throw new Twig_Error_Runtime(sprintf('Failed to load Twig template "%s", index "%s": cache is corrupted.', $name, $index), -1, $source);
}
}
}
// to be removed in 3.0
$this->extensionSet->initRuntime($this);
return $this->loadedTemplates[$cls] = new $cls($this);
}
/**
* Creates a template from source.
*
* This method should not be used as a generic way to load templates.
*
* @param string $template The template name
Arguments
array:17 [
"Registry" => Registry {#680}
"Locale" => Locale {#684}
"Translation" => Translation {#681}
"Csrf" => Csrf {#682}
"pageStyle" => "index"
"pageJs" => "index"
"logoDisable" => false
"CMS" => CMS {#2852}
"Auth" => Cabinet {#2851}
"seo" => Subject {#2923}
"locales" => """
<form method="GET" action="/ru/"><button style="color: white" class="elem_template_1">Рус</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/kz/"><button class="elem_template_1">Қаз</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/en/"><button class="elem_template_1">Eng</button></form>\n
"""
"lang" => "ru"
"contacts" => Subject {#2854}
"siteVariables" => SubjectsCollection {#3122}
"menu" => SubjectsCollection {#3229}
"header" => []
"footer" => []
]
array:1 [
"content" => array:2 [
0 => __TwigTemplate_ff0a31864d1b5fa49320329a29e0f5496e79c4d35556aa9c02b4ed48dee09e5f {#3286}
1 => "block_content"
]
]
/var
/www
/vhosts
/arzer.kz
/httpdocs
/vendor
/twig
/twig
/lib
/Twig
/Template.php
{
$level = ob_get_level();
ob_start();
try {
$this->display($context);
} catch (Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = array())
{
try {
$this->doDisplay($context, $blocks);
} catch (Twig_Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
// this is mostly useful for Twig_Error_Loader exceptions
// see Twig_Error_Loader
if (false === $e->getTemplateLine()) {
$e->setTemplateLine(-1);
$e->guess();
}
throw $e;
} catch (Exception $e) {
throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
}
}
/**
* Auto-generated method to display the template with the given context.
Arguments
array:17 [
"Registry" => Registry {#680}
"Locale" => Locale {#684}
"Translation" => Translation {#681}
"Csrf" => Csrf {#682}
"pageStyle" => "index"
"pageJs" => "index"
"logoDisable" => false
"CMS" => CMS {#2852}
"Auth" => Cabinet {#2851}
"seo" => Subject {#2923}
"locales" => """
<form method="GET" action="/ru/"><button style="color: white" class="elem_template_1">Рус</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/kz/"><button class="elem_template_1">Қаз</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/en/"><button class="elem_template_1">Eng</button></form>\n
"""
"lang" => "ru"
"contacts" => Subject {#2854}
"siteVariables" => SubjectsCollection {#3122}
"menu" => SubjectsCollection {#3229}
"header" => []
"footer" => []
]
array:1 [
"content" => array:2 [
0 => __TwigTemplate_ff0a31864d1b5fa49320329a29e0f5496e79c4d35556aa9c02b4ed48dee09e5f {#3286}
1 => "block_content"
]
]
/var
/www
/vhosts
/arzer.kz
/httpdocs
/vendor
/twig
/twig
/lib
/Twig
/Template.php
}
/**
* Returns all blocks.
*
* This method is for internal use only and should never be called
* directly.
*
* @return array An array of blocks
*
* @internal
*/
public function getBlocks()
{
return $this->blocks;
}
public function display(array $context, array $blocks = array())
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
public function render(array $context)
{
$level = ob_get_level();
ob_start();
try {
$this->display($context);
} catch (Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = array())
Arguments
array:17 [
"Registry" => Registry {#680}
"Locale" => Locale {#684}
"Translation" => Translation {#681}
"Csrf" => Csrf {#682}
"pageStyle" => "index"
"pageJs" => "index"
"logoDisable" => false
"CMS" => CMS {#2852}
"Auth" => Cabinet {#2851}
"seo" => Subject {#2923}
"locales" => """
<form method="GET" action="/ru/"><button style="color: white" class="elem_template_1">Рус</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/kz/"><button class="elem_template_1">Қаз</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/en/"><button class="elem_template_1">Eng</button></form>\n
"""
"lang" => "ru"
"contacts" => Subject {#2854}
"siteVariables" => SubjectsCollection {#3122}
"menu" => SubjectsCollection {#3229}
"header" => []
"footer" => []
]
array:1 [
"content" => array:2 [
0 => __TwigTemplate_ff0a31864d1b5fa49320329a29e0f5496e79c4d35556aa9c02b4ed48dee09e5f {#3286}
1 => "block_content"
]
]
/var
/www
/vhosts
/arzer.kz
/httpdocs
/vendor
/twig
/twig
/lib
/Twig
/Template.php
* @return array An array of blocks
*
* @internal
*/
public function getBlocks()
{
return $this->blocks;
}
public function display(array $context, array $blocks = array())
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
public function render(array $context)
{
$level = ob_get_level();
ob_start();
try {
$this->display($context);
} catch (Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = array())
{
try {
$this->doDisplay($context, $blocks);
} catch (Twig_Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
Arguments
array:17 [
"Registry" => Registry {#680}
"Locale" => Locale {#684}
"Translation" => Translation {#681}
"Csrf" => Csrf {#682}
"pageStyle" => "index"
"pageJs" => "index"
"logoDisable" => false
"CMS" => CMS {#2852}
"Auth" => Cabinet {#2851}
"seo" => Subject {#2923}
"locales" => """
<form method="GET" action="/ru/"><button style="color: white" class="elem_template_1">Рус</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/kz/"><button class="elem_template_1">Қаз</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/en/"><button class="elem_template_1">Eng</button></form>\n
"""
"lang" => "ru"
"contacts" => Subject {#2854}
"siteVariables" => SubjectsCollection {#3122}
"menu" => SubjectsCollection {#3229}
"header" => []
"footer" => []
]
/var
/www
/vhosts
/arzer.kz
/httpdocs
/vendor
/twig
/twig
/lib
/Twig
/Environment.php
$key = $this->getLoader()->getCacheKey($name).$this->optionsHash;
return $this->templateClassPrefix.hash('sha256', $key).(null === $index ? '' : '_'.$index);
}
/**
* Renders a template.
*
* @param string $name The template name
* @param array $context An array of parameters to pass to the template
*
* @return string The rendered template
*
* @throws Twig_Error_Loader When the template cannot be found
* @throws Twig_Error_Syntax When an error occurred during compilation
* @throws Twig_Error_Runtime When an error occurred during rendering
*/
public function render($name, array $context = array())
{
return $this->loadTemplate($name)->render($context);
}
/**
* Displays a template.
*
* @param string $name The template name
* @param array $context An array of parameters to pass to the template
*
* @throws Twig_Error_Loader When the template cannot be found
* @throws Twig_Error_Syntax When an error occurred during compilation
* @throws Twig_Error_Runtime When an error occurred during rendering
*/
public function display($name, array $context = array())
{
$this->loadTemplate($name)->display($context);
}
/**
* Loads a template.
*
Arguments
array:17 [
"Registry" => Registry {#680}
"Locale" => Locale {#684}
"Translation" => Translation {#681}
"Csrf" => Csrf {#682}
"pageStyle" => "index"
"pageJs" => "index"
"logoDisable" => false
"CMS" => CMS {#2852}
"Auth" => Cabinet {#2851}
"seo" => Subject {#2923}
"locales" => """
<form method="GET" action="/ru/"><button style="color: white" class="elem_template_1">Рус</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/kz/"><button class="elem_template_1">Қаз</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/en/"><button class="elem_template_1">Eng</button></form>\n
"""
"lang" => "ru"
"contacts" => Subject {#2854}
"siteVariables" => SubjectsCollection {#3122}
"menu" => SubjectsCollection {#3229}
"header" => []
"footer" => []
]
/var
/www
/vhosts
/arzer.kz
/httpdocs
/vendor
/zendframework
/zend-expressive-twigrenderer
/src
/TwigRenderer.php
/**
* Render
*
* @param string $name
* @param array|object $params
* @return string
* @throws \Zend\Expressive\Template\Exception\InvalidArgumentException for non-array, non-object parameters.
*/
public function render($name, $params = [])
{
// Merge parameters based on requested template name
$params = $this->mergeParams($name, $this->normalizeParams($params));
$name = $this->normalizeTemplate($name);
// Merge parameters based on normalized template name
$params = $this->mergeParams($name, $params);
return $this->template->render($name, $params);
}
/**
* Add a path for template
*
* @param string $path
* @param null|string $namespace
* @return void
*/
public function addPath($path, $namespace = null)
{
$namespace = $namespace ?: TwigFilesystem::MAIN_NAMESPACE;
$this->twigLoader->addPath($path, $namespace);
}
/**
* Get the template directories
*
* @return TemplatePath[]
*/
Arguments
"src/404.html.twig"
array:17 [
"Registry" => Registry {#680}
"Locale" => Locale {#684}
"Translation" => Translation {#681}
"Csrf" => Csrf {#682}
"pageStyle" => "index"
"pageJs" => "index"
"logoDisable" => false
"CMS" => CMS {#2852}
"Auth" => Cabinet {#2851}
"seo" => Subject {#2923}
"locales" => """
<form method="GET" action="/ru/"><button style="color: white" class="elem_template_1">Рус</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/kz/"><button class="elem_template_1">Қаз</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/en/"><button class="elem_template_1">Eng</button></form>\n
"""
"lang" => "ru"
"contacts" => Subject {#2854}
"siteVariables" => SubjectsCollection {#3122}
"menu" => SubjectsCollection {#3229}
"header" => []
"footer" => []
]
/var
/www
/vhosts
/arzer.kz
/httpdocs
/core
/Facade
/Template.php
<?php namespace Core\Facade;
use Zend\Expressive\Template\TemplateRendererInterface;
/**
* @method static TemplateRendererInterface getInstance()
*/
class Template extends AbstractFacade
{
protected static $instance = TemplateRendererInterface::class;
protected static $defaults = [];
public static function render($path, $params = [])
{
return static::getInstance()->render($path, array_merge(static::$defaults, $params));
}
public static function defaults($params = null)
{
if (is_array($params)) {
static::$defaults = array_merge(static::$defaults, $params);
}
return static::$defaults;
}
}
Arguments
"src/404.html.twig"
array:17 [
"Registry" => Registry {#680}
"Locale" => Locale {#684}
"Translation" => Translation {#681}
"Csrf" => Csrf {#682}
"pageStyle" => "index"
"pageJs" => "index"
"logoDisable" => false
"CMS" => CMS {#2852}
"Auth" => Cabinet {#2851}
"seo" => Subject {#2923}
"locales" => """
<form method="GET" action="/ru/"><button style="color: white" class="elem_template_1">Рус</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/kz/"><button class="elem_template_1">Қаз</button></form>\n
<span class="elem_template_2">/</span>\n
<form method="GET" action="/en/"><button class="elem_template_1">Eng</button></form>\n
"""
"lang" => "ru"
"contacts" => Subject {#2854}
"siteVariables" => SubjectsCollection {#3122}
"menu" => SubjectsCollection {#3229}
"header" => []
"footer" => []
]
/var
/www
/vhosts
/arzer.kz
/httpdocs
/core
/Facade
/App.php
]);
}
public static function initSession()
{
Session::getInstance()->start();
Registry::setReference('session', $_SESSION);
}
public static function initPipeline()
{
static::getInstance()->pipe(ErrorHandler::class);
//static::getInstance()->pipe(CsrfProtection::class); // we shouldn't protect entire system
static::getInstance()->pipe(Locale::class);
static::getInstance()->pipe(FindController::class);
static::getInstance()->pipe(function () use ($seo) {
$abs = new Index;
$abs->bootDispatchTemplateDefaults();
return new HtmlResponse(Template::render('src/404'), 404);
});
}
public static function stripRouteFromPath(ServerRequestInterface $request, $route)
{
return $request->withUri($request->getUri()->withPath($request->getUri()->getPath() == $route ? '/' : substr($request->getUri()->getPath(), strlen($route))));
}
}
Arguments
/var
/www
/vhosts
/arzer.kz
/httpdocs
/vendor
/zendframework
/zend-stratigility
/src
/Middleware
/CallableMiddlewareWrapper.php
$this->responsePrototype = $prototype;
}
/**
* Proxies to underlying middleware, using composed response prototype.
*
* Also decorates the $delegator using the CallableMiddlewareWrapper.
*
* {@inheritDocs}
*/
public function process(ServerRequestInterface $request, DelegateInterface $delegate)
{
$middleware = $this->middleware;
$delegate = $delegate instanceof Next
? $delegate
: function ($request) use ($delegate) {
return $delegate->process($request);
};
return $middleware($request, $this->responsePrototype, $delegate);
}
}
Arguments
/var
/www
/vhosts
/arzer.kz
/httpdocs
/vendor
/zendframework
/zend-stratigility
/src
/Next.php
$normalizedRoute = (strlen($route) > 1) ? rtrim($route, '/') : $route;
// Skip if layer path does not match current url
if (substr(strtolower($path), 0, strlen($normalizedRoute)) !== strtolower($normalizedRoute)) {
return $this->process($request);
}
// Skip if match is not at a border ('/', '.', or end)
$border = $this->getBorder($path, $normalizedRoute);
if ($border && '/' !== $border && '.' !== $border) {
return $this->process($request);
}
// Trim off the part of the url that matches the layer route
if (! empty($route) && $route !== '/') {
$request = $this->stripRouteFromPath($request, $route);
}
$middleware = $layer->handler;
$response = $middleware->process($request, $this);
if (! $response instanceof ResponseInterface) {
throw new Exception\MissingResponseException(sprintf(
"Last middleware executed did not return a response.\nMethod: %s\nPath: %s\n.Handler: %s",
$request->getMethod(),
$request->getUri()->getPath(),
get_class($middleware)
));
}
return $response;
}
/**
* Toggle the "raise throwables" flag on.
*
* @deprecated Since 2.0.0; this functionality is now a no-op.
* @return void
*/
public function raiseThrowables()
Arguments
/var
/www
/vhosts
/arzer.kz
/httpdocs
/core
/Middleware
/Controller.php
public function process(ServerRequestInterface $request, DelegateInterface $delegate)
{
$this->boot('bootProcess');
foreach($this->middlewares as $middleware) {
if(($return = $middleware->process($request, $delegate)) !== null) {//if anything returned
return $return;
}
}
return $this->processController($request, $delegate);
}
private function processController(ServerRequestInterface $request, DelegateInterface $delegate)
{
$this->boot('bootRouting');
if (!$this->router || ($result = $this->router->match($request))->isFailure()) {
return $delegate->process($request);
}
$this->request = $request;
$this->delegate = $delegate;
Template::defaults([
'this' => $this
]);
Registry::set('http.controller.object', $this);
Registry::set('http.request.attributes', $result->getMatchedParams());
$this->boot('bootDispatch');
return call_user_func($result->getMatchedMiddleware());
}
protected function path($route = null)
{
return Registry::get('http.controller.path').$route;
}
Arguments
/var
/www
/vhosts
/arzer.kz
/httpdocs
/core
/Middleware
/Controller.php
}
}
}
protected function middleware($middleware)
{
$this->middlewares[] = $middleware;
}
public function process(ServerRequestInterface $request, DelegateInterface $delegate)
{
$this->boot('bootProcess');
foreach($this->middlewares as $middleware) {
if(($return = $middleware->process($request, $delegate)) !== null) {//if anything returned
return $return;
}
}
return $this->processController($request, $delegate);
}
private function processController(ServerRequestInterface $request, DelegateInterface $delegate)
{
$this->boot('bootRouting');
if (!$this->router || ($result = $this->router->match($request))->isFailure()) {
return $delegate->process($request);
}
$this->request = $request;
$this->delegate = $delegate;
Template::defaults([
'this' => $this
]);
Registry::set('http.controller.object', $this);
Registry::set('http.request.attributes', $result->getMatchedParams());
Arguments
/var
/www
/vhosts
/arzer.kz
/httpdocs
/core
/Middleware
/FindController.php
$controllerClass = $controllerClassPath.$controllerClassName;
if ($controllerPath != '/') {
$request = App::stripRouteFromPath($request, $controllerPath);
}
Registry::set('http.request.method', $request->getMethod());
Registry::set('http.request.path', $request->getUri()->getPath());
Registry::set('http.request.headers', $request->getHeaders());
Registry::set('http.request.cookies', $request->getCookieParams());
Registry::set('http.request.query', $request->getQueryParams());
Registry::set('http.request.body', $request->getParsedBody());
Registry::set('http.request.files', $request->getUploadedFiles());
Registry::set('http.request.server', $request->getServerParams());
Registry::set('http.controller.path', Locale::getLocalePath().$controllerPath);
Registry::set('http.controller.class', $controllerClass);
return (new $controllerClass)->process($request, $delegate);
}
private function controllerClassName($name)
{
return str_replace('-', '', ucwords($name, '-'));
}
}
Arguments
/var
/www
/vhosts
/arzer.kz
/httpdocs
/vendor
/zendframework
/zend-stratigility
/src
/Next.php
$normalizedRoute = (strlen($route) > 1) ? rtrim($route, '/') : $route;
// Skip if layer path does not match current url
if (substr(strtolower($path), 0, strlen($normalizedRoute)) !== strtolower($normalizedRoute)) {
return $this->process($request);
}
// Skip if match is not at a border ('/', '.', or end)
$border = $this->getBorder($path, $normalizedRoute);
if ($border && '/' !== $border && '.' !== $border) {
return $this->process($request);
}
// Trim off the part of the url that matches the layer route
if (! empty($route) && $route !== '/') {
$request = $this->stripRouteFromPath($request, $route);
}
$middleware = $layer->handler;
$response = $middleware->process($request, $this);
if (! $response instanceof ResponseInterface) {
throw new Exception\MissingResponseException(sprintf(
"Last middleware executed did not return a response.\nMethod: %s\nPath: %s\n.Handler: %s",
$request->getMethod(),
$request->getUri()->getPath(),
get_class($middleware)
));
}
return $response;
}
/**
* Toggle the "raise throwables" flag on.
*
* @deprecated Since 2.0.0; this functionality is now a no-op.
* @return void
*/
public function raiseThrowables()
Arguments
/var
/www
/vhosts
/arzer.kz
/httpdocs
/core
/Service
/Locale.php
use Interop\Http\ServerMiddleware\MiddlewareInterface;
use Psr\Http\Message\ServerRequestInterface;
use Zend\Diactoros\Response\RedirectResponse;
class Locale implements MiddlewareInterface
{
protected static $locales = [];
protected static $locale;
protected static $default;
public function process(ServerRequestInterface $request, DelegateInterface $delegate)
{
if (($locale = substr($request->getUri()->getPath(), 1, 2)) && in_array($locale, static::getLocales()) && in_array(substr($request->getUri()->getPath(), 3, 1), ['/', false, ''])) {
static::setLocale($locale);
$request = App::stripRouteFromPath($request, '/'.$locale);
} elseif (($localePath = static::getLocalePath())) {// to prevent doubled-content for google
return new RedirectResponse($localePath.$request->getUri()->getPath());
}
return $delegate->process($request);
}
/**
* @param string $locale
* @throws \Exception
*/
public static function setLocales(array $locales)
{
self::$locales = $locales;
self::$default = current($locales);
}
/**
* @return array
*/
public static function getLocales()
{
return self::$locales;
}
Arguments
/var
/www
/vhosts
/arzer.kz
/httpdocs
/vendor
/zendframework
/zend-stratigility
/src
/Next.php
$normalizedRoute = (strlen($route) > 1) ? rtrim($route, '/') : $route;
// Skip if layer path does not match current url
if (substr(strtolower($path), 0, strlen($normalizedRoute)) !== strtolower($normalizedRoute)) {
return $this->process($request);
}
// Skip if match is not at a border ('/', '.', or end)
$border = $this->getBorder($path, $normalizedRoute);
if ($border && '/' !== $border && '.' !== $border) {
return $this->process($request);
}
// Trim off the part of the url that matches the layer route
if (! empty($route) && $route !== '/') {
$request = $this->stripRouteFromPath($request, $route);
}
$middleware = $layer->handler;
$response = $middleware->process($request, $this);
if (! $response instanceof ResponseInterface) {
throw new Exception\MissingResponseException(sprintf(
"Last middleware executed did not return a response.\nMethod: %s\nPath: %s\n.Handler: %s",
$request->getMethod(),
$request->getUri()->getPath(),
get_class($middleware)
));
}
return $response;
}
/**
* Toggle the "raise throwables" flag on.
*
* @deprecated Since 2.0.0; this functionality is now a no-op.
* @return void
*/
public function raiseThrowables()
Arguments
/var
/www
/vhosts
/arzer.kz
/httpdocs
/vendor
/zendframework
/zend-stratigility
/src
/Middleware
/ErrorHandler.php
* Adds an error handler that will convert PHP errors to ErrorException
* instances.
*
* Internally, wraps the call to $next() in a try/catch block, catching
* all PHP Throwables (PHP 7) and Exceptions (PHP 5.6 and earlier).
*
* When an exception is caught, an appropriate error response is created
* and returned instead; otherwise, the response returned by $next is
* used.
*
* @param ServerRequestInterface $request
* @param DelegateInterface $delegate
* @return ResponseInterface
*/
public function process(ServerRequestInterface $request, DelegateInterface $delegate)
{
set_error_handler($this->createErrorHandler());
try {
$response = $delegate->process($request);
if (! $response instanceof ResponseInterface) {
throw new MissingResponseException('Application did not return a response');
}
} catch (Throwable $e) {
$response = $this->handleThrowable($e, $request);
} catch (Exception $e) {
$response = $this->handleThrowable($e, $request);
}
restore_error_handler();
return $response;
}
/**
* Handles all throwables/exceptions, generating and returning a response.
*
* Passes the error, request, and response prototype to createErrorResponse(),
* triggers all listeners with the same arguments (but using the response
Arguments
/var
/www
/vhosts
/arzer.kz
/httpdocs
/vendor
/zendframework
/zend-expressive
/src
/Middleware
/LazyLoadingMiddleware.php
) {
$this->container = $container;
$this->responsePrototype = $responsePrototype;
$this->middlewareName = $middlewareName;
}
/**
* @param ServerRequestInterface $request
* @param DelegateInterface $delegate
* @return ResponseInterface
* @throws InvalidMiddlewareException for invalid middleware types pulled
* from the container.
*/
public function process(ServerRequestInterface $request, DelegateInterface $delegate)
{
$middleware = $this->container->get($this->middlewareName);
// http-interop middleware
if ($middleware instanceof ServerMiddlewareInterface) {
return $middleware->process($request, $delegate);
}
// Unknown - invalid!
if (! is_callable($middleware)) {
throw new InvalidMiddlewareException(sprintf(
'Lazy-loaded middleware "%s" is neither invokable nor implements %s',
$this->middlewareName,
ServerMiddlewareInterface::class
));
}
// Callable http-interop middleware
if ($this->isCallableInteropMiddleware($middleware)) {
return $middleware($request, $delegate);
}
// Legacy double-pass signature
return $middleware($request, $this->responsePrototype, function ($request, $response) use ($delegate) {
return $delegate->process($request);
});
Arguments
/var
/www
/vhosts
/arzer.kz
/httpdocs
/vendor
/zendframework
/zend-stratigility
/src
/Next.php
$normalizedRoute = (strlen($route) > 1) ? rtrim($route, '/') : $route;
// Skip if layer path does not match current url
if (substr(strtolower($path), 0, strlen($normalizedRoute)) !== strtolower($normalizedRoute)) {
return $this->process($request);
}
// Skip if match is not at a border ('/', '.', or end)
$border = $this->getBorder($path, $normalizedRoute);
if ($border && '/' !== $border && '.' !== $border) {
return $this->process($request);
}
// Trim off the part of the url that matches the layer route
if (! empty($route) && $route !== '/') {
$request = $this->stripRouteFromPath($request, $route);
}
$middleware = $layer->handler;
$response = $middleware->process($request, $this);
if (! $response instanceof ResponseInterface) {
throw new Exception\MissingResponseException(sprintf(
"Last middleware executed did not return a response.\nMethod: %s\nPath: %s\n.Handler: %s",
$request->getMethod(),
$request->getUri()->getPath(),
get_class($middleware)
));
}
return $response;
}
/**
* Toggle the "raise throwables" flag on.
*
* @deprecated Since 2.0.0; this functionality is now a no-op.
* @return void
*/
public function raiseThrowables()
Arguments
/var
/www
/vhosts
/arzer.kz
/httpdocs
/vendor
/zendframework
/zend-stratigility
/src
/MiddlewarePipe.php
$delegate = new Delegate\CallableDelegateDecorator($delegate, $response);
}
return $this->process($request, $delegate);
}
/**
* http-interop invocation: single-pass with delegate.
*
* Executes the internal pipeline, passing $delegate as the "final
* handler" in cases when the pipeline exhausts itself.
*
* @param Request $request
* @param DelegateInterface $delegate
* @return Response
*/
public function process(Request $request, DelegateInterface $delegate)
{
$next = new Next($this->pipeline, $delegate);
return $next->process($request);
}
/**
* Attach middleware to the pipeline.
*
* Each middleware can be associated with a particular path; if that
* path is matched when that middleware is invoked, it will be processed;
* otherwise it is skipped.
*
* No path means it should be executed every request cycle.
*
* A handler CAN implement MiddlewareInterface, but MUST be callable.
*
* @see MiddlewareInterface
* @see Next
* @param string|callable|object $path Either a URI path prefix, or middleware.
* @param null|callable|object $middleware Middleware
* @return self
*/
public function pipe($path, $middleware = null)
Arguments
/var
/www
/vhosts
/arzer.kz
/httpdocs
/vendor
/zendframework
/zend-expressive
/src
/Application.php
*/
public function run(ServerRequestInterface $request = null, ResponseInterface $response = null)
{
try {
$request = $request ?: ServerRequestFactory::fromGlobals();
} catch (InvalidArgumentException $e) {
// Unable to parse uploaded files
$this->emitMarshalServerRequestException($e);
return;
} catch (UnexpectedValueException $e) {
// Invalid request method
$this->emitMarshalServerRequestException($e);
return;
}
$response = $response ?: new Response();
$request = $request->withAttribute('originalResponse', $response);
$delegate = $this->getDefaultDelegate();
$response = $this->process($request, $delegate);
$emitter = $this->getEmitter();
$emitter->emit($response);
}
/**
* Retrieve the IoC container.
*
* If no IoC container is registered, we raise an exception.
*
* @return ContainerInterface
* @throws Exception\ContainerNotRegisteredException
*/
public function getContainer()
{
if (null === $this->container) {
throw new Exception\ContainerNotRegisteredException();
}
return $this->container;
}
Arguments
/var
/www
/vhosts
/arzer.kz
/httpdocs
/public
/index.php
<?php date_default_timezone_set('Asia/Almaty');
use Core\Facade\App;
chdir(dirname(__DIR__));
require 'vendor/autoload.php';
/**
* Self-called anonymous function that creates its own scope and keep the global namespace clean.
*/
call_user_func(function () {
App::init(require 'config/config.php');
App::initSession();
App::initPipeline();
App::getInstance()->run();
});
/var
/www
/vhosts
/arzer.kz
/httpdocs
/public
/index.php
<?php date_default_timezone_set('Asia/Almaty');
use Core\Facade\App;
chdir(dirname(__DIR__));
require 'vendor/autoload.php';
/**
* Self-called anonymous function that creates its own scope and keep the global namespace clean.
*/
call_user_func(function () {
App::init(require 'config/config.php');
App::initSession();
App::initPipeline();
App::getInstance()->run();
});