Twig_Error_Runtime
Impossible to access an attribute ("keywords") on a null variable. Twig_Error_Runtime thrown with message "Impossible to access an attribute ("keywords") on a null variable." Stacktrace: #32 Twig_Error_Runtime in /var/www/vhosts/otr-tyres.kz/otr-group.kz/src/View/src/blank.html.twig:5 #31 twig_get_attribute in /var/www/vhosts/otr-tyres.kz/otr-group.kz/vendor/twig/twig/lib/Twig/Environment.php:373 #30 __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9:block_keywords in /var/www/vhosts/otr-tyres.kz/otr-group.kz/vendor/twig/twig/lib/Twig/Template.php:188 #29 Twig_Template:displayBlock in /var/www/vhosts/otr-tyres.kz/otr-group.kz/vendor/twig/twig/lib/Twig/Environment.php:373 #28 __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9:doDisplay in /var/www/vhosts/otr-tyres.kz/otr-group.kz/vendor/twig/twig/lib/Twig/Template.php:389 #27 Twig_Template:displayWithErrorHandling in /var/www/vhosts/otr-tyres.kz/otr-group.kz/vendor/twig/twig/lib/Twig/Template.php:366 #26 Twig_Template:display in /var/www/vhosts/otr-tyres.kz/otr-group.kz/vendor/twig/twig/lib/Twig/Environment.php:373 #25 __TwigTemplate_4990825a28802d235b118517d6243ad80730721a3eb280a1181364c4793498c3:doDisplay in /var/www/vhosts/otr-tyres.kz/otr-group.kz/vendor/twig/twig/lib/Twig/Template.php:389 #24 Twig_Template:displayWithErrorHandling in /var/www/vhosts/otr-tyres.kz/otr-group.kz/vendor/twig/twig/lib/Twig/Template.php:366 #23 Twig_Template:display in /var/www/vhosts/otr-tyres.kz/otr-group.kz/vendor/twig/twig/lib/Twig/Environment.php:373 #22 __TwigTemplate_bfa14373ef7f4fec4495744f54819f16e8189d9f3dd37e6c3e382c48f63abd1a:doDisplay in /var/www/vhosts/otr-tyres.kz/otr-group.kz/vendor/twig/twig/lib/Twig/Template.php:389 #21 Twig_Template:displayWithErrorHandling in /var/www/vhosts/otr-tyres.kz/otr-group.kz/vendor/twig/twig/lib/Twig/Template.php:366 #20 Twig_Template:display in /var/www/vhosts/otr-tyres.kz/otr-group.kz/vendor/twig/twig/lib/Twig/Template.php:374 #19 Twig_Template:render in /var/www/vhosts/otr-tyres.kz/otr-group.kz/vendor/twig/twig/lib/Twig/Environment.php:288 #18 Twig_Environment:render in /var/www/vhosts/otr-tyres.kz/otr-group.kz/vendor/zendframework/zend-expressive-twigrenderer/src/TwigRenderer.php:102 #17 Zend\Expressive\Twig\TwigRenderer:render in /var/www/vhosts/otr-tyres.kz/otr-group.kz/core/Facade/Template.php:16 #16 Core\Facade\Template:render in /var/www/vhosts/otr-tyres.kz/otr-group.kz/src/Controller/News.php:27 #15 Src\Controller\News:viewList in /var/www/vhosts/otr-tyres.kz/otr-group.kz/core/Middleware/Controller.php:136 #14 call_user_func_array in /var/www/vhosts/otr-tyres.kz/otr-group.kz/core/Middleware/Controller.php:136 #13 Core\Middleware\Controller:Core\Middleware\{closure} in /var/www/vhosts/otr-tyres.kz/otr-group.kz/core/Middleware/Controller.php:76 #12 call_user_func in /var/www/vhosts/otr-tyres.kz/otr-group.kz/core/Middleware/Controller.php:76 #11 Core\Middleware\Controller:processController in /var/www/vhosts/otr-tyres.kz/otr-group.kz/core/Middleware/Controller.php:54 #10 Core\Middleware\Controller:process in /var/www/vhosts/otr-tyres.kz/otr-group.kz/core/Middleware/FindController.php:58 #9 Core\Middleware\FindController:process in /var/www/vhosts/otr-tyres.kz/otr-group.kz/vendor/zendframework/zend-stratigility/src/Next.php:128 #8 Zend\Stratigility\Next:process in /var/www/vhosts/otr-tyres.kz/otr-group.kz/core/Service/Locale.php:24 #7 Core\Service\Locale:process in /var/www/vhosts/otr-tyres.kz/otr-group.kz/vendor/zendframework/zend-stratigility/src/Next.php:128 #6 Zend\Stratigility\Next:process in /var/www/vhosts/otr-tyres.kz/otr-group.kz/vendor/zendframework/zend-stratigility/src/Middleware/ErrorHandler.php:157 #5 Zend\Stratigility\Middleware\ErrorHandler:process in /var/www/vhosts/otr-tyres.kz/otr-group.kz/vendor/zendframework/zend-expressive/src/Middleware/LazyLoadingMiddleware.php:60 #4 Zend\Expressive\Middleware\LazyLoadingMiddleware:process in /var/www/vhosts/otr-tyres.kz/otr-group.kz/vendor/zendframework/zend-stratigility/src/Next.php:128 #3 Zend\Stratigility\Next:process in /var/www/vhosts/otr-tyres.kz/otr-group.kz/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php:102 #2 Zend\Stratigility\MiddlewarePipe:process in /var/www/vhosts/otr-tyres.kz/otr-group.kz/vendor/zendframework/zend-expressive/src/Application.php:374 #1 Zend\Expressive\Application:run in /var/www/vhosts/otr-tyres.kz/otr-group.kz/public/index.php:17 #0 {closure} in /var/www/vhosts/otr-tyres.kz/otr-group.kz/public/index.php:18
Stack frames (33)
32
Twig_Error_Runtime
/
src
/
View
/
src
/
blank.html.twig
5
31
twig_get_attribute
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Environment.php
373
30
__TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9
block_keywords
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
188
29
Twig_Template
displayBlock
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Environment.php
373
28
__TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9
doDisplay
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
389
27
Twig_Template
displayWithErrorHandling
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
366
26
Twig_Template
display
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Environment.php
373
25
__TwigTemplate_4990825a28802d235b118517d6243ad80730721a3eb280a1181364c4793498c3
doDisplay
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
389
24
Twig_Template
displayWithErrorHandling
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
366
23
Twig_Template
display
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Environment.php
373
22
__TwigTemplate_bfa14373ef7f4fec4495744f54819f16e8189d9f3dd37e6c3e382c48f63abd1a
doDisplay
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
389
21
Twig_Template
displayWithErrorHandling
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
366
20
Twig_Template
display
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Template.php
374
19
Twig_Template
render
/
vendor
/
twig
/
twig
/
lib
/
Twig
/
Environment.php
288
18
Twig_Environment
render
/
vendor
/
zendframework
/
zend-expressive-twigrenderer
/
src
/
TwigRenderer.php
102
17
Zend
\
Expressive
\
Twig
\
TwigRenderer
render
/
core
/
Facade
/
Template.php
16
16
Core
\
Facade
\
Template
render
/
src
/
Controller
/
News.php
27
15
Src
\
Controller
\
News
viewList
/
core
/
Middleware
/
Controller.php
136
14
call_user_func_array
/
core
/
Middleware
/
Controller.php
136
13
Core
\
Middleware
\
Controller
Core
\
Middleware
\
{closure}
/
core
/
Middleware
/
Controller.php
76
12
call_user_func
/
core
/
Middleware
/
Controller.php
76
11
Core
\
Middleware
\
Controller
processController
/
core
/
Middleware
/
Controller.php
54
10
Core
\
Middleware
\
Controller
process
/
core
/
Middleware
/
FindController.php
58
9
Core
\
Middleware
\
FindController
process
/
vendor
/
zendframework
/
zend-stratigility
/
src
/
Next.php
128
8
Zend
\
Stratigility
\
Next
process
/
core
/
Service
/
Locale.php
24
7
Core
\
Service
\
Locale
process
/
vendor
/
zendframework
/
zend-stratigility
/
src
/
Next.php
128
6
Zend
\
Stratigility
\
Next
process
/
vendor
/
zendframework
/
zend-stratigility
/
src
/
Middleware
/
ErrorHandler.php
157
5
Zend
\
Stratigility
\
Middleware
\
ErrorHandler
process
/
vendor
/
zendframework
/
zend-expressive
/
src
/
Middleware
/
LazyLoadingMiddleware.php
60
4
Zend
\
Expressive
\
Middleware
\
LazyLoadingMiddleware
process
/
vendor
/
zendframework
/
zend-stratigility
/
src
/
Next.php
128
3
Zend
\
Stratigility
\
Next
process
/
vendor
/
zendframework
/
zend-stratigility
/
src
/
MiddlewarePipe.php
102
2
Zend
\
Stratigility
\
MiddlewarePipe
process
/
vendor
/
zendframework
/
zend-expressive
/
src
/
Application.php
374
1
Zend
\
Expressive
\
Application
run
/
public
/
index.php
17
0
{closure}
/
public
/
index.php
18
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
src
/
View
/
src
/
blank.html.twig
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="keywords" content="{% block keywords %}{{ seo.keywords }}{% endblock %}">
    <meta name="description" content="{% block description %}{{ seo.description }}{% endblock %}">
    <title>{% block title %}{{ seo.title }}{% endblock %}</title>

    <meta name="HandheldFriendly" content="true">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <meta http-equiv="x-dns-prefetch-control" content="off">
    <link rel="stylesheet" type="text/css" href="/css/bootstrap.min.css"/>
    <link rel="stylesheet" type="text/css" href="/css/default/style.css"/>
    <link rel="stylesheet" type="text/css" href="/css/default/libs.css"/>
    <link rel="stylesheet" type="text/css" href="/css/style.css"/>
    <link rel="stylesheet" type="text/css" href="/css/responsive.css"/>
    <link rel="icon" type="image/icon" href="/favicon.ico">
    <script src="/js/jQuery.js"></script>
    <script src="/js/jQuery.js"></script>

    <script src="//bootstrap-3.3.7/js/bootstrap.min.js"></script>
    <script src="//tether/js/tether.min.js"></script>
    <script src="//bootstrap-multiselect/js/bootstrap-multiselect.js"></script>


    <link href="//bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css" rel="stylesheet">
    {#<script src="//jquery-ui/jquery-ui.min.js"></script>#}
    <script src="//ckeditor/ckeditor.js"></script>
    <script src="//ckeditor/adapters/jquery.js"></script>

    <script src="//moment/moment.min.js"></script>
    <script src="//bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
    <script src="//bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ru.js"></script>

    <link rel="stylesheet" href="/css/dev.css">
    <!-- Global site tag (gtag.js) - Google Analytics -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-38145874-61"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
Arguments
  1. "Impossible to access an attribute ("keywords") on a null variable."
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
  1. Twig_Environment {#3627}
    
  2. Twig_Source {#4300}
    
  3. null
    
  4. "keywords"
    
  5. []
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
  1. array:19 [
      "Registry" => Registry {#764}
      "Locale" => Locale {#767}
      "Translation" => Translation {#765}
      "Csrf" => Csrf {#766}
      "this" => News {#3657}
      "logo" => Photo {#3767}
      "logoFooter" => Photo {#3826}
      "logoDisable" => false
      "CMS" => CMS {#3824}
      "Auth" => Cabinet {#3823}
      "seo" => null
      "locales" => """
        <div class="lang_box">\n
        \t<a href="/ru/" class="active_lang">\n
        \t\t<span>Рус</span>\n
        \t\t<i class="fa fa-chevron-down"></i>\n
        \t</a>\n
        \t<div class="lang_grop">\n
        \t\t\t\t\t<a href="/kz/">Каз</a>\n
        \t\t\t\t\t<a href="/en/">Eng</a>\n
        \t\t\t</div>\n
        </div>
        """
      "lang" => "ru"
      "contacts" => Subject {#3708}
      "siteVariables" => SubjectsCollection {#4096}
      "header" => array:1 [
        "menu" => Subject {#4179}
      ]
      "footer" => array:1 [
        "slogan" => Subject {#4238}
      ]
      "news" => SubjectsCollection {#4331}
      "breadcrumbs" => array:1 [
        "" => null
      ]
    ]
    
  2. array:6 [
      "keywords" => array:2 [
        0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4556}
        1 => "block_keywords"
      ]
      "description" => array:2 [
        0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4556}
        1 => "block_description"
      ]
      "title" => array:2 [
        0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4556}
        1 => "block_title"
      ]
      "body_content" => array:2 [
        0 => __TwigTemplate_4990825a28802d235b118517d6243ad80730721a3eb280a1181364c4793498c3 {#4675}
        1 => "block_body_content"
      ]
      "other_scripts" => array:2 [
        0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4556}
        1 => "block_other_scripts"
      ]
      "content" => array:2 [
        0 => __TwigTemplate_bfa14373ef7f4fec4495744f54819f16e8189d9f3dd37e6c3e382c48f63abd1a {#4492}
        1 => "block_content"
      ]
    ]
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
  1. "keywords"
    
  2. array:19 [
      "Registry" => Registry {#764}
      "Locale" => Locale {#767}
      "Translation" => Translation {#765}
      "Csrf" => Csrf {#766}
      "this" => News {#3657}
      "logo" => Photo {#3767}
      "logoFooter" => Photo {#3826}
      "logoDisable" => false
      "CMS" => CMS {#3824}
      "Auth" => Cabinet {#3823}
      "seo" => null
      "locales" => """
        <div class="lang_box">\n
        \t<a href="/ru/" class="active_lang">\n
        \t\t<span>Рус</span>\n
        \t\t<i class="fa fa-chevron-down"></i>\n
        \t</a>\n
        \t<div class="lang_grop">\n
        \t\t\t\t\t<a href="/kz/">Каз</a>\n
        \t\t\t\t\t<a href="/en/">Eng</a>\n
        \t\t\t</div>\n
        </div>
        """
      "lang" => "ru"
      "contacts" => Subject {#3708}
      "siteVariables" => SubjectsCollection {#4096}
      "header" => array:1 [
        "menu" => Subject {#4179}
      ]
      "footer" => array:1 [
        "slogan" => Subject {#4238}
      ]
      "news" => SubjectsCollection {#4331}
      "breadcrumbs" => array:1 [
        "" => null
      ]
    ]
    
  3. array:6 [
      "keywords" => array:2 [
        0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4556}
        1 => "block_keywords"
      ]
      "description" => array:2 [
        0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4556}
        1 => "block_description"
      ]
      "title" => array:2 [
        0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4556}
        1 => "block_title"
      ]
      "body_content" => array:2 [
        0 => __TwigTemplate_4990825a28802d235b118517d6243ad80730721a3eb280a1181364c4793498c3 {#4675}
        1 => "block_body_content"
      ]
      "other_scripts" => array:2 [
        0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4556}
        1 => "block_other_scripts"
      ]
      "content" => array:2 [
        0 => __TwigTemplate_bfa14373ef7f4fec4495744f54819f16e8189d9f3dd37e6c3e382c48f63abd1a {#4492}
        1 => "block_content"
      ]
    ]
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
  1. array:19 [
      "Registry" => Registry {#764}
      "Locale" => Locale {#767}
      "Translation" => Translation {#765}
      "Csrf" => Csrf {#766}
      "this" => News {#3657}
      "logo" => Photo {#3767}
      "logoFooter" => Photo {#3826}
      "logoDisable" => false
      "CMS" => CMS {#3824}
      "Auth" => Cabinet {#3823}
      "seo" => null
      "locales" => """
        <div class="lang_box">\n
        \t<a href="/ru/" class="active_lang">\n
        \t\t<span>Рус</span>\n
        \t\t<i class="fa fa-chevron-down"></i>\n
        \t</a>\n
        \t<div class="lang_grop">\n
        \t\t\t\t\t<a href="/kz/">Каз</a>\n
        \t\t\t\t\t<a href="/en/">Eng</a>\n
        \t\t\t</div>\n
        </div>
        """
      "lang" => "ru"
      "contacts" => Subject {#3708}
      "siteVariables" => SubjectsCollection {#4096}
      "header" => array:1 [
        "menu" => Subject {#4179}
      ]
      "footer" => array:1 [
        "slogan" => Subject {#4238}
      ]
      "news" => SubjectsCollection {#4331}
      "breadcrumbs" => array:1 [
        "" => null
      ]
    ]
    
  2. array:6 [
      "keywords" => array:2 [
        0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4556}
        1 => "block_keywords"
      ]
      "description" => array:2 [
        0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4556}
        1 => "block_description"
      ]
      "title" => array:2 [
        0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4556}
        1 => "block_title"
      ]
      "body_content" => array:2 [
        0 => __TwigTemplate_4990825a28802d235b118517d6243ad80730721a3eb280a1181364c4793498c3 {#4675}
        1 => "block_body_content"
      ]
      "other_scripts" => array:2 [
        0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4556}
        1 => "block_other_scripts"
      ]
      "content" => array:2 [
        0 => __TwigTemplate_bfa14373ef7f4fec4495744f54819f16e8189d9f3dd37e6c3e382c48f63abd1a {#4492}
        1 => "block_content"
      ]
    ]
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
  1. array:19 [
      "Registry" => Registry {#764}
      "Locale" => Locale {#767}
      "Translation" => Translation {#765}
      "Csrf" => Csrf {#766}
      "this" => News {#3657}
      "logo" => Photo {#3767}
      "logoFooter" => Photo {#3826}
      "logoDisable" => false
      "CMS" => CMS {#3824}
      "Auth" => Cabinet {#3823}
      "seo" => null
      "locales" => """
        <div class="lang_box">\n
        \t<a href="/ru/" class="active_lang">\n
        \t\t<span>Рус</span>\n
        \t\t<i class="fa fa-chevron-down"></i>\n
        \t</a>\n
        \t<div class="lang_grop">\n
        \t\t\t\t\t<a href="/kz/">Каз</a>\n
        \t\t\t\t\t<a href="/en/">Eng</a>\n
        \t\t\t</div>\n
        </div>
        """
      "lang" => "ru"
      "contacts" => Subject {#3708}
      "siteVariables" => SubjectsCollection {#4096}
      "header" => array:1 [
        "menu" => Subject {#4179}
      ]
      "footer" => array:1 [
        "slogan" => Subject {#4238}
      ]
      "news" => SubjectsCollection {#4331}
      "breadcrumbs" => array:1 [
        "" => null
      ]
    ]
    
  2. array:6 [
      "keywords" => array:2 [
        0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4556}
        1 => "block_keywords"
      ]
      "description" => array:2 [
        0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4556}
        1 => "block_description"
      ]
      "title" => array:2 [
        0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4556}
        1 => "block_title"
      ]
      "body_content" => array:2 [
        0 => __TwigTemplate_4990825a28802d235b118517d6243ad80730721a3eb280a1181364c4793498c3 {#4675}
        1 => "block_body_content"
      ]
      "other_scripts" => array:2 [
        0 => __TwigTemplate_7b1e56c12c4f149b47c3c4271525eb8dcbaa7a8f3f8f1ac1ee70353f530b33c9 {#4556}
        1 => "block_other_scripts"
      ]
      "content" => array:2 [
        0 => __TwigTemplate_bfa14373ef7f4fec4495744f54819f16e8189d9f3dd37e6c3e382c48f63abd1a {#4492}
        1 => "block_content"
      ]
    ]
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
  1. array:19 [
      "Registry" => Registry {#764}
      "Locale" => Locale {#767}
      "Translation" => Translation {#765}
      "Csrf" => Csrf {#766}
      "this" => News {#3657}
      "logo" => Photo {#3767}
      "logoFooter" => Photo {#3826}
      "logoDisable" => false
      "CMS" => CMS {#3824}
      "Auth" => Cabinet {#3823}
      "seo" => null
      "locales" => """
        <div class="lang_box">\n
        \t<a href="/ru/" class="active_lang">\n
        \t\t<span>Рус</span>\n
        \t\t<i class="fa fa-chevron-down"></i>\n
        \t</a>\n
        \t<div class="lang_grop">\n
        \t\t\t\t\t<a href="/kz/">Каз</a>\n
        \t\t\t\t\t<a href="/en/">Eng</a>\n
        \t\t\t</div>\n
        </div>
        """
      "lang" => "ru"
      "contacts" => Subject {#3708}
      "siteVariables" => SubjectsCollection {#4096}
      "header" => array:1 [
        "menu" => Subject {#4179}
      ]
      "footer" => array:1 [
        "slogan" => Subject {#4238}
      ]
      "news" => SubjectsCollection {#4331}
      "breadcrumbs" => array:1 [
        "" => null
      ]
    ]
    
  2. array:2 [
      "body_content" => array:2 [
        0 => __TwigTemplate_4990825a28802d235b118517d6243ad80730721a3eb280a1181364c4793498c3 {#4675}
        1 => "block_body_content"
      ]
      "content" => array:2 [
        0 => __TwigTemplate_bfa14373ef7f4fec4495744f54819f16e8189d9f3dd37e6c3e382c48f63abd1a {#4492}
        1 => "block_content"
      ]
    ]
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
  1. array:19 [
      "Registry" => Registry {#764}
      "Locale" => Locale {#767}
      "Translation" => Translation {#765}
      "Csrf" => Csrf {#766}
      "this" => News {#3657}
      "logo" => Photo {#3767}
      "logoFooter" => Photo {#3826}
      "logoDisable" => false
      "CMS" => CMS {#3824}
      "Auth" => Cabinet {#3823}
      "seo" => null
      "locales" => """
        <div class="lang_box">\n
        \t<a href="/ru/" class="active_lang">\n
        \t\t<span>Рус</span>\n
        \t\t<i class="fa fa-chevron-down"></i>\n
        \t</a>\n
        \t<div class="lang_grop">\n
        \t\t\t\t\t<a href="/kz/">Каз</a>\n
        \t\t\t\t\t<a href="/en/">Eng</a>\n
        \t\t\t</div>\n
        </div>
        """
      "lang" => "ru"
      "contacts" => Subject {#3708}
      "siteVariables" => SubjectsCollection {#4096}
      "header" => array:1 [
        "menu" => Subject {#4179}
      ]
      "footer" => array:1 [
        "slogan" => Subject {#4238}
      ]
      "news" => SubjectsCollection {#4331}
      "breadcrumbs" => array:1 [
        "" => null
      ]
    ]
    
  2. array:2 [
      "body_content" => array:2 [
        0 => __TwigTemplate_4990825a28802d235b118517d6243ad80730721a3eb280a1181364c4793498c3 {#4675}
        1 => "block_body_content"
      ]
      "content" => array:2 [
        0 => __TwigTemplate_bfa14373ef7f4fec4495744f54819f16e8189d9f3dd37e6c3e382c48f63abd1a {#4492}
        1 => "block_content"
      ]
    ]
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
  1. array:19 [
      "Registry" => Registry {#764}
      "Locale" => Locale {#767}
      "Translation" => Translation {#765}
      "Csrf" => Csrf {#766}
      "this" => News {#3657}
      "logo" => Photo {#3767}
      "logoFooter" => Photo {#3826}
      "logoDisable" => false
      "CMS" => CMS {#3824}
      "Auth" => Cabinet {#3823}
      "seo" => null
      "locales" => """
        <div class="lang_box">\n
        \t<a href="/ru/" class="active_lang">\n
        \t\t<span>Рус</span>\n
        \t\t<i class="fa fa-chevron-down"></i>\n
        \t</a>\n
        \t<div class="lang_grop">\n
        \t\t\t\t\t<a href="/kz/">Каз</a>\n
        \t\t\t\t\t<a href="/en/">Eng</a>\n
        \t\t\t</div>\n
        </div>
        """
      "lang" => "ru"
      "contacts" => Subject {#3708}
      "siteVariables" => SubjectsCollection {#4096}
      "header" => array:1 [
        "menu" => Subject {#4179}
      ]
      "footer" => array:1 [
        "slogan" => Subject {#4238}
      ]
      "news" => SubjectsCollection {#4331}
      "breadcrumbs" => array:1 [
        "" => null
      ]
    ]
    
  2. array:2 [
      "body_content" => array:2 [
        0 => __TwigTemplate_4990825a28802d235b118517d6243ad80730721a3eb280a1181364c4793498c3 {#4675}
        1 => "block_body_content"
      ]
      "content" => array:2 [
        0 => __TwigTemplate_bfa14373ef7f4fec4495744f54819f16e8189d9f3dd37e6c3e382c48f63abd1a {#4492}
        1 => "block_content"
      ]
    ]
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
  1. array:19 [
      "Registry" => Registry {#764}
      "Locale" => Locale {#767}
      "Translation" => Translation {#765}
      "Csrf" => Csrf {#766}
      "this" => News {#3657}
      "logo" => Photo {#3767}
      "logoFooter" => Photo {#3826}
      "logoDisable" => false
      "CMS" => CMS {#3824}
      "Auth" => Cabinet {#3823}
      "seo" => null
      "locales" => """
        <div class="lang_box">\n
        \t<a href="/ru/" class="active_lang">\n
        \t\t<span>Рус</span>\n
        \t\t<i class="fa fa-chevron-down"></i>\n
        \t</a>\n
        \t<div class="lang_grop">\n
        \t\t\t\t\t<a href="/kz/">Каз</a>\n
        \t\t\t\t\t<a href="/en/">Eng</a>\n
        \t\t\t</div>\n
        </div>
        """
      "lang" => "ru"
      "contacts" => Subject {#3708}
      "siteVariables" => SubjectsCollection {#4096}
      "header" => array:1 [
        "menu" => Subject {#4179}
      ]
      "footer" => array:1 [
        "slogan" => Subject {#4238}
      ]
      "news" => SubjectsCollection {#4331}
      "breadcrumbs" => array:1 [
        "" => null
      ]
    ]
    
  2. array:1 [
      "content" => array:2 [
        0 => __TwigTemplate_bfa14373ef7f4fec4495744f54819f16e8189d9f3dd37e6c3e382c48f63abd1a {#4492}
        1 => "block_content"
      ]
    ]
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
  1. array:19 [
      "Registry" => Registry {#764}
      "Locale" => Locale {#767}
      "Translation" => Translation {#765}
      "Csrf" => Csrf {#766}
      "this" => News {#3657}
      "logo" => Photo {#3767}
      "logoFooter" => Photo {#3826}
      "logoDisable" => false
      "CMS" => CMS {#3824}
      "Auth" => Cabinet {#3823}
      "seo" => null
      "locales" => """
        <div class="lang_box">\n
        \t<a href="/ru/" class="active_lang">\n
        \t\t<span>Рус</span>\n
        \t\t<i class="fa fa-chevron-down"></i>\n
        \t</a>\n
        \t<div class="lang_grop">\n
        \t\t\t\t\t<a href="/kz/">Каз</a>\n
        \t\t\t\t\t<a href="/en/">Eng</a>\n
        \t\t\t</div>\n
        </div>
        """
      "lang" => "ru"
      "contacts" => Subject {#3708}
      "siteVariables" => SubjectsCollection {#4096}
      "header" => array:1 [
        "menu" => Subject {#4179}
      ]
      "footer" => array:1 [
        "slogan" => Subject {#4238}
      ]
      "news" => SubjectsCollection {#4331}
      "breadcrumbs" => array:1 [
        "" => null
      ]
    ]
    
  2. array:1 [
      "content" => array:2 [
        0 => __TwigTemplate_bfa14373ef7f4fec4495744f54819f16e8189d9f3dd37e6c3e382c48f63abd1a {#4492}
        1 => "block_content"
      ]
    ]
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
  1. array:19 [
      "Registry" => Registry {#764}
      "Locale" => Locale {#767}
      "Translation" => Translation {#765}
      "Csrf" => Csrf {#766}
      "this" => News {#3657}
      "logo" => Photo {#3767}
      "logoFooter" => Photo {#3826}
      "logoDisable" => false
      "CMS" => CMS {#3824}
      "Auth" => Cabinet {#3823}
      "seo" => null
      "locales" => """
        <div class="lang_box">\n
        \t<a href="/ru/" class="active_lang">\n
        \t\t<span>Рус</span>\n
        \t\t<i class="fa fa-chevron-down"></i>\n
        \t</a>\n
        \t<div class="lang_grop">\n
        \t\t\t\t\t<a href="/kz/">Каз</a>\n
        \t\t\t\t\t<a href="/en/">Eng</a>\n
        \t\t\t</div>\n
        </div>
        """
      "lang" => "ru"
      "contacts" => Subject {#3708}
      "siteVariables" => SubjectsCollection {#4096}
      "header" => array:1 [
        "menu" => Subject {#4179}
      ]
      "footer" => array:1 [
        "slogan" => Subject {#4238}
      ]
      "news" => SubjectsCollection {#4331}
      "breadcrumbs" => array:1 [
        "" => null
      ]
    ]
    
  2. array:1 [
      "content" => array:2 [
        0 => __TwigTemplate_bfa14373ef7f4fec4495744f54819f16e8189d9f3dd37e6c3e382c48f63abd1a {#4492}
        1 => "block_content"
      ]
    ]
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
  1. array:19 [
      "Registry" => Registry {#764}
      "Locale" => Locale {#767}
      "Translation" => Translation {#765}
      "Csrf" => Csrf {#766}
      "this" => News {#3657}
      "logo" => Photo {#3767}
      "logoFooter" => Photo {#3826}
      "logoDisable" => false
      "CMS" => CMS {#3824}
      "Auth" => Cabinet {#3823}
      "seo" => null
      "locales" => """
        <div class="lang_box">\n
        \t<a href="/ru/" class="active_lang">\n
        \t\t<span>Рус</span>\n
        \t\t<i class="fa fa-chevron-down"></i>\n
        \t</a>\n
        \t<div class="lang_grop">\n
        \t\t\t\t\t<a href="/kz/">Каз</a>\n
        \t\t\t\t\t<a href="/en/">Eng</a>\n
        \t\t\t</div>\n
        </div>
        """
      "lang" => "ru"
      "contacts" => Subject {#3708}
      "siteVariables" => SubjectsCollection {#4096}
      "header" => array:1 [
        "menu" => Subject {#4179}
      ]
      "footer" => array:1 [
        "slogan" => Subject {#4238}
      ]
      "news" => SubjectsCollection {#4331}
      "breadcrumbs" => array:1 [
        "" => null
      ]
    ]
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
  1. array:19 [
      "Registry" => Registry {#764}
      "Locale" => Locale {#767}
      "Translation" => Translation {#765}
      "Csrf" => Csrf {#766}
      "this" => News {#3657}
      "logo" => Photo {#3767}
      "logoFooter" => Photo {#3826}
      "logoDisable" => false
      "CMS" => CMS {#3824}
      "Auth" => Cabinet {#3823}
      "seo" => null
      "locales" => """
        <div class="lang_box">\n
        \t<a href="/ru/" class="active_lang">\n
        \t\t<span>Рус</span>\n
        \t\t<i class="fa fa-chevron-down"></i>\n
        \t</a>\n
        \t<div class="lang_grop">\n
        \t\t\t\t\t<a href="/kz/">Каз</a>\n
        \t\t\t\t\t<a href="/en/">Eng</a>\n
        \t\t\t</div>\n
        </div>
        """
      "lang" => "ru"
      "contacts" => Subject {#3708}
      "siteVariables" => SubjectsCollection {#4096}
      "header" => array:1 [
        "menu" => Subject {#4179}
      ]
      "footer" => array:1 [
        "slogan" => Subject {#4238}
      ]
      "news" => SubjectsCollection {#4331}
      "breadcrumbs" => array:1 [
        "" => null
      ]
    ]
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
  1. "src/news/index.html.twig"
    
  2. array:19 [
      "Registry" => Registry {#764}
      "Locale" => Locale {#767}
      "Translation" => Translation {#765}
      "Csrf" => Csrf {#766}
      "this" => News {#3657}
      "logo" => Photo {#3767}
      "logoFooter" => Photo {#3826}
      "logoDisable" => false
      "CMS" => CMS {#3824}
      "Auth" => Cabinet {#3823}
      "seo" => null
      "locales" => """
        <div class="lang_box">\n
        \t<a href="/ru/" class="active_lang">\n
        \t\t<span>Рус</span>\n
        \t\t<i class="fa fa-chevron-down"></i>\n
        \t</a>\n
        \t<div class="lang_grop">\n
        \t\t\t\t\t<a href="/kz/">Каз</a>\n
        \t\t\t\t\t<a href="/en/">Eng</a>\n
        \t\t\t</div>\n
        </div>
        """
      "lang" => "ru"
      "contacts" => Subject {#3708}
      "siteVariables" => SubjectsCollection {#4096}
      "header" => array:1 [
        "menu" => Subject {#4179}
      ]
      "footer" => array:1 [
        "slogan" => Subject {#4238}
      ]
      "news" => SubjectsCollection {#4331}
      "breadcrumbs" => array:1 [
        "" => null
      ]
    ]
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
  1. "src/news/index.html.twig"
    
  2. array:19 [
      "Registry" => Registry {#764}
      "Locale" => Locale {#767}
      "Translation" => Translation {#765}
      "Csrf" => Csrf {#766}
      "this" => News {#3657}
      "logo" => Photo {#3767}
      "logoFooter" => Photo {#3826}
      "logoDisable" => false
      "CMS" => CMS {#3824}
      "Auth" => Cabinet {#3823}
      "seo" => null
      "locales" => """
        <div class="lang_box">\n
        \t<a href="/ru/" class="active_lang">\n
        \t\t<span>Рус</span>\n
        \t\t<i class="fa fa-chevron-down"></i>\n
        \t</a>\n
        \t<div class="lang_grop">\n
        \t\t\t\t\t<a href="/kz/">Каз</a>\n
        \t\t\t\t\t<a href="/en/">Eng</a>\n
        \t\t\t</div>\n
        </div>
        """
      "lang" => "ru"
      "contacts" => Subject {#3708}
      "siteVariables" => SubjectsCollection {#4096}
      "header" => array:1 [
        "menu" => Subject {#4179}
      ]
      "footer" => array:1 [
        "slogan" => Subject {#4238}
      ]
      "news" => SubjectsCollection {#4331}
      "breadcrumbs" => array:1 [
        "" => null
      ]
    ]
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
src
/
Controller
/
News.php
class News extends AbstractController
{
    public function bootRouting()
    {
        $this->GET('/', 'viewList');
        $this->GET('/{id:\d+}[-{name:[a-z\d\-]+}.html]', 'viewNewsItem');
    }

    public function viewList()
    {

        $seo = Subjects::of('Seo')->find(6);
        $breadcrumbs[''] = $seo->h1;
        return $this->html(Template::render('src/news/index', [
            'news' => Subjects::of('News')->select(function (Select $select) {
                $select->where(['hidden' => 0]);
                $select->order('date DESC');
            })->paginate(12),
            'breadcrumbs'=>$breadcrumbs,
            'seo'=>$seo,
        ]));
    }

    public function viewNewsItem($id, $name = null)
    {
        if (!($newsItem = Subjects::of('News')->find($id))) {
            return $this->response(404);
        }

        $seo = $newsItem->seo;

        if(!$seo && !$seo->title){
            $seo = [
                'title' => $newsItem->title,
                'description' => '',
                'keywords' => ''
            ];
        }
        $pseo = Subjects::of('Seo')->find(6);
        $breadcrumbs['/news/'] = $pseo->h1;
Arguments
  1. "src/news/index"
    
  2. array:3 [
      "news" => SubjectsCollection {#4331}
      "breadcrumbs" => array:1 [
        "" => null
      ]
      "seo" => null
    ]
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
core
/
Middleware
/
Controller.php
    }

    private function addRoute($route, $method, $callback)
    {
        if (is_callable($callback)) {

            $middleware = function () use ($callback) {
                return call_user_func_array($callback, Registry::pull('http.request.attributes'));
            };

        } elseif (is_string($callback)) {

            if (!method_exists($this, $callback)) {
                throw new RuntimeException(
                    'No method '.get_class($this).'::'.$method.'() for route "'.$route.'"'
                );
            }

            $middleware = function () use ($callback) {
                return call_user_func_array([$this, $callback], Registry::pull('http.request.attributes'));
            };

        } else {
            throw new RuntimeException(
                '$callback shoud be callable or string type'
            );
        }

        if (!$this->router) {
            $this->router = App::getInstance()->getContainer()->build(RouterInterface::class);
        }

        $this->router->addRoute(new Route($route, $middleware, [$method]));
    }
}
 
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
core
/
Middleware
/
Controller.php
    }

    private function addRoute($route, $method, $callback)
    {
        if (is_callable($callback)) {

            $middleware = function () use ($callback) {
                return call_user_func_array($callback, Registry::pull('http.request.attributes'));
            };

        } elseif (is_string($callback)) {

            if (!method_exists($this, $callback)) {
                throw new RuntimeException(
                    'No method '.get_class($this).'::'.$method.'() for route "'.$route.'"'
                );
            }

            $middleware = function () use ($callback) {
                return call_user_func_array([$this, $callback], Registry::pull('http.request.attributes'));
            };

        } else {
            throw new RuntimeException(
                '$callback shoud be callable or string type'
            );
        }

        if (!$this->router) {
            $this->router = App::getInstance()->getContainer()->build(RouterInterface::class);
        }

        $this->router->addRoute(new Route($route, $middleware, [$method]));
    }
}
 
Arguments
  1. array:2 [
      0 => News {#3657}
      1 => "viewList"
    ]
    
  2. []
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
core
/
Middleware
/
Controller.php
    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;
    }

    protected function response($status, $headers = [])
    {
        return new EmptyResponse($status, $headers);
    }

    protected function redirect($url, $status = 302, array $headers = [])
    {
        return new RedirectResponse($url, $status, $headers);
    }

    protected function html($html, $status = 200, array $headers = [])
    {
        return new HtmlResponse($html, $status, $headers);
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
core
/
Middleware
/
Controller.php
    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;
    }

    protected function response($status, $headers = [])
    {
        return new EmptyResponse($status, $headers);
    }

    protected function redirect($url, $status = 302, array $headers = [])
    {
        return new RedirectResponse($url, $status, $headers);
    }

    protected function html($html, $status = 200, array $headers = [])
    {
        return new HtmlResponse($html, $status, $headers);
Arguments
  1. Closure {#3658
      class: "Core\Middleware\Controller"
      this: News {#3657 …}
      use: {
        $callback: "viewList"
      }
    }
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
  1. ServerRequest {#3656}
    
  2. Next {#3618}
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
  1. ServerRequest {#3656}
    
  2. Next {#3618}
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
  1. ServerRequest {#3656}
    
  2. Next {#3618}
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
  1. ServerRequest {#3623}
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
  1. ServerRequest {#3623}
    
  2. Next {#3618}
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
  1. ServerRequest {#3623}
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
  1. ServerRequest {#3623}
    
  2. Next {#3618}
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
  1. ServerRequest {#3623}
    
  2. Next {#3618}
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
  1. ServerRequest {#3623}
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
  1. ServerRequest {#3623}
    
  2. NotFoundDelegate {#3636}
    
/
var
/
www
/
vhosts
/
otr-tyres.kz
/
otr-group.kz
/
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
/
otr-tyres.kz
/
otr-group.kz
/
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();
});
 

Environment & details:

Key Value
HTTP Method
"GET"
URI
"https://otr-group.kz/news"
Script
"/public/index.php"
Headers
array:5 [
  "user-agent" => array:1 [
    0 => "claudebot"
  ]
  "accept" => array:1 [
    0 => "*/*"
  ]
  "connection" => array:1 [
    0 => "close"
  ]
  "x-real-ip" => array:1 [
    0 => "3.239.59.193"
  ]
  "host" => array:1 [
    0 => "otr-group.kz"
  ]
]
Cookies
[]
Attributes
array:1 [
  "originalResponse" => Response {#3621}
]
Query String Arguments
[]
Body Params
[]
empty
empty
empty
empty
Key Value
__ZF
array:2 [
  "_REQUEST_ACCESS_TIME" => 1710836160.019
  "_VALID" => array:1 [
    "Zend\Session\Validator\Id" => "5caa32438cd7cd53f86ad80d6daf5c6f"
  ]
]
Key Value
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
PP_CUSTOM_PHP_INI
"/var/www/vhosts/system/otr-group.kz/etc/php.ini"
PP_CUSTOM_PHP_CGI_INDEX
"plesk-php71-fastcgi"
SCRIPT_NAME
"/public/index.php"
REQUEST_URI
"/news"
QUERY_STRING
""
REQUEST_METHOD
"GET"
SERVER_PROTOCOL
"HTTP/1.0"
GATEWAY_INTERFACE
"CGI/1.1"
REDIRECT_URL
"/public/news"
REMOTE_PORT
"34456"
SCRIPT_FILENAME
"/var/www/vhosts/otr-tyres.kz/otr-group.kz/public/index.php"
SERVER_ADMIN
"root@localhost"
CONTEXT_DOCUMENT_ROOT
"/var/www/vhosts/otr-tyres.kz/otr-group.kz"
CONTEXT_PREFIX
""
REQUEST_SCHEME
"https"
DOCUMENT_ROOT
"/var/www/vhosts/otr-tyres.kz/otr-group.kz"
REMOTE_ADDR
"3.239.59.193"
SERVER_PORT
"443"
SERVER_ADDR
"195.210.46.92"
SERVER_NAME
"otr-group.kz"
SERVER_SOFTWARE
"Apache"
SERVER_SIGNATURE
""
HTTP_USER_AGENT
"claudebot"
HTTP_ACCEPT
"*/*"
HTTP_CONNECTION
"close"
HTTP_X_REAL_IP
"3.239.59.193"
HTTP_HOST
"otr-group.kz"
HTTPS
"on"
PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY
"0"
PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY
"0"
PERL5LIB
"/usr/share/awstats/lib:/usr/share/awstats/plugins"
UNIQUE_ID
"ZflJvwAvuhztM4eBQWU6VgAAAUA"
REDIRECT_STATUS
"200"
REDIRECT_HTTPS
"on"
REDIRECT_PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY
"0"
REDIRECT_PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY
"0"
REDIRECT_PERL5LIB
"/usr/share/awstats/lib:/usr/share/awstats/plugins"
REDIRECT_BASE
"/public/"
REDIRECT_UNIQUE_ID
"ZflJvwAvuhztM4eBQWU6VgAAAUA"
REDIRECT_REDIRECT_STATUS
"200"
REDIRECT_REDIRECT_HTTPS
"on"
REDIRECT_REDIRECT_PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY
"0"
REDIRECT_REDIRECT_PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY
"0"
REDIRECT_REDIRECT_PERL5LIB
"/usr/share/awstats/lib:/usr/share/awstats/plugins"
REDIRECT_REDIRECT_UNIQUE_ID
"ZflJvwAvuhztM4eBQWU6VgAAAUA"
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/public/index.php"
REQUEST_TIME_FLOAT
1710836159.7345
REQUEST_TIME
1710836159
empty
0. Whoops\Handler\PrettyPageHandler