Ищем инвесторов среди предпринимателей для совместного участия в развитии городской среды! Доход до 13% годовых на ваши инвестиции в сферу недвижимости
Whoops! There was an error.
yii \ base \ ErrorException(E_NOTICE)
Trying to get property 'id' of non-object
yii\base\ErrorException thrown with message "Trying to get property 'id' of non-object" Stacktrace: #20 yii\base\ErrorException in /home/vintage/www/talan/frontend/widgets/views/_imageWithText.php:15 #19 yii\base\ErrorHandler:handleError in /home/vintage/www/talan/frontend/widgets/views/_imageWithText.php:15 #18 require in /home/vintage/www/talan/vendor/yiisoft/yii2/base/View.php:336 #17 yii\base\View:renderPhpFile in /home/vintage/www/talan/vendor/yiisoft/yii2/base/View.php:254 #16 yii\base\View:renderFile in /home/vintage/www/talan/vendor/yiisoft/yii2/base/View.php:156 #15 yii\base\View:render in /home/vintage/www/talan/vendor/yiisoft/yii2/base/Widget.php:236 #14 yii\base\Widget:render in /home/vintage/www/talan/frontend/widgets/BuilderContentWidget.php:40 #13 frontend\widgets\BuilderContentWidget:run in /home/vintage/www/talan/vendor/yiisoft/yii2/base/Widget.php:140 #12 yii\base\Widget:widget in /home/vintage/www/talan/frontend/modules/blog/views/blog/view.php:77 #11 require in /home/vintage/www/talan/vendor/yiisoft/yii2/base/View.php:336 #10 yii\base\View:renderPhpFile in /home/vintage/www/talan/vendor/yiisoft/yii2/base/View.php:254 #9 yii\base\View:renderFile in /home/vintage/www/talan/vendor/yiisoft/yii2/base/View.php:156 #8 yii\base\View:render in /home/vintage/www/talan/vendor/yiisoft/yii2/base/Controller.php:384 #7 yii\base\Controller:render in /home/vintage/www/talan/frontend/modules/blog/controllers/BlogController.php:42 #6 frontend\modules\blog\controllers\BlogController:actionView in /home/vintage/www/talan/vendor/yiisoft/yii2/base/InlineAction.php:57 #5 call_user_func_array in /home/vintage/www/talan/vendor/yiisoft/yii2/base/InlineAction.php:57 #4 yii\base\InlineAction:runWithParams in /home/vintage/www/talan/vendor/yiisoft/yii2/base/Controller.php:157 #3 yii\base\Controller:runAction in /home/vintage/www/talan/vendor/yiisoft/yii2/base/Module.php:528 #2 yii\base\Module:runAction in /home/vintage/www/talan/vendor/yiisoft/yii2/web/Application.php:103 #1 yii\web\Application:handleRequest in /home/vintage/www/talan/vendor/yiisoft/yii2/base/Application.php:386 #0 yii\base\Application:run in /home/vintage/www/talan/frontend/web/index.php:43
Application frames (6) All frames (21)
20
yii
\
base
\
ErrorException
/
frontend
/
widgets
/
views
/
_imageWithText.php
15
19
yii
\
base
\
ErrorHandler
handleError
/
frontend
/
widgets
/
views
/
_imageWithText.php
15
18
require
/
vendor
/
yiisoft
/
yii2
/
base
/
View.php
336
17
yii
\
base
\
View
renderPhpFile
/
vendor
/
yiisoft
/
yii2
/
base
/
View.php
254
16
yii
\
base
\
View
renderFile
/
vendor
/
yiisoft
/
yii2
/
base
/
View.php
156
15
yii
\
base
\
View
render
/
vendor
/
yiisoft
/
yii2
/
base
/
Widget.php
236
14
yii
\
base
\
Widget
render
/
frontend
/
widgets
/
BuilderContentWidget.php
40
13
frontend
\
widgets
\
BuilderContentWidget
run
/
vendor
/
yiisoft
/
yii2
/
base
/
Widget.php
140
12
yii
\
base
\
Widget
widget
/
frontend
/
modules
/
blog
/
views
/
blog
/
view.php
77
11
require
/
vendor
/
yiisoft
/
yii2
/
base
/
View.php
336
10
yii
\
base
\
View
renderPhpFile
/
vendor
/
yiisoft
/
yii2
/
base
/
View.php
254
9
yii
\
base
\
View
renderFile
/
vendor
/
yiisoft
/
yii2
/
base
/
View.php
156
8
yii
\
base
\
View
render
/
vendor
/
yiisoft
/
yii2
/
base
/
Controller.php
384
7
yii
\
base
\
Controller
render
/
frontend
/
modules
/
blog
/
controllers
/
BlogController.php
42
6
frontend
\
modules
\
blog
\
controllers
\
BlogController
actionView
/
vendor
/
yiisoft
/
yii2
/
base
/
InlineAction.php
57
5
call_user_func_array
/
vendor
/
yiisoft
/
yii2
/
base
/
InlineAction.php
57
4
yii
\
base
\
InlineAction
runWithParams
/
vendor
/
yiisoft
/
yii2
/
base
/
Controller.php
157
3
yii
\
base
\
Controller
runAction
/
vendor
/
yiisoft
/
yii2
/
base
/
Module.php
528
2
yii
\
base
\
Module
runAction
/
vendor
/
yiisoft
/
yii2
/
web
/
Application.php
103
1
yii
\
web
\
Application
handleRequest
/
vendor
/
yiisoft
/
yii2
/
base
/
Application.php
386
0
yii
\
base
\
Application
run
/
frontend
/
web
/
index.php
43
/
home
/
vintage
/
www
/
talan
/
frontend
/
widgets
/
views
/
_imageWithText.php
<?php
/**
 * Created by PhpStorm.
 * User: maxim
 * Date: 03.04.18
 * Time: 13:30
 *
 * @var $model \common\models\builder\BlogImageWithTextBuilderModel
 */
//\metalguardian\fileProcessor\helpers\FPM::src($model->getFirstFile('image')->id ?? null, 'article', 'view')
?>
<div class="article__content wow fadeInUp" data-wow-delay="0.5s">
    <!-- IMG DESCRIPTION -->
    <div class="img-description">
        <img alt="<?= $model->text ?>" src="<?= \metalguardian\fileProcessor\helpers\FPM::originalSrc($model->getFirstFile('image')->id) ?>">
        <p> <?= $model->text ?> </p>
    </div>
    <!-- /IMG DESCRIPTION -->
</div>
 
Arguments
  1. "Trying to get property 'id' of non-object"
    
/
home
/
vintage
/
www
/
talan
/
frontend
/
widgets
/
views
/
_imageWithText.php
<?php
/**
 * Created by PhpStorm.
 * User: maxim
 * Date: 03.04.18
 * Time: 13:30
 *
 * @var $model \common\models\builder\BlogImageWithTextBuilderModel
 */
//\metalguardian\fileProcessor\helpers\FPM::src($model->getFirstFile('image')->id ?? null, 'article', 'view')
?>
<div class="article__content wow fadeInUp" data-wow-delay="0.5s">
    <!-- IMG DESCRIPTION -->
    <div class="img-description">
        <img alt="<?= $model->text ?>" src="<?= \metalguardian\fileProcessor\helpers\FPM::originalSrc($model->getFirstFile('image')->id) ?>">
        <p> <?= $model->text ?> </p>
    </div>
    <!-- /IMG DESCRIPTION -->
</div>
 
Arguments
  1. 8
  2. "Trying to get property 'id' of non-object"
    
  3. "/home/vintage/www/talan/frontend/widgets/views/_imageWithText.php"
    
  4. 15
  5. array:4 [
      "_file_" => "/home/vintage/www/talan/frontend/widgets/views/_imageWithText.php"
      "_params_" =>array:1 [
        "model" =>BlogImageWithTextBuilderModel {#714}
      ]
      "_obInitialLevel_" =>3
      "model" =>BlogImageWithTextBuilderModel {#714}
    ]
    
/
home
/
vintage
/
www
/
talan
/
vendor
/
yiisoft
/
yii2
/
base
/
View.php
     * This method treats the view file as a PHP script and includes the file.
     * It extracts the given parameters and makes them available in the view file.
     * The method captures the output of the included view file and returns it as a string.
     *
     * This method should mainly be called by view renderer or [[renderFile()]].
     *
     * @param string $_file_ the view file.
     * @param array $_params_ the parameters (name-value pairs) that will be extracted and made available in the view file.
     * @return string the rendering result
     * @throws \Exception
     * @throws \Throwable
     */
    public function renderPhpFile($_file_, $_params_ = [])
    {
        $_obInitialLevel_ = ob_get_level();
        ob_start();
        ob_implicit_flush(false);
        extract($_params_, EXTR_OVERWRITE);
        try {
            require $_file_;
            return ob_get_clean();
        } catch (\Exception $e) {
            while (ob_get_level() > $_obInitialLevel_) {
                if (!@ob_end_clean()) {
                    ob_clean();
                }
            }
            throw $e;
        } catch (\Throwable $e) {
            while (ob_get_level() > $_obInitialLevel_) {
                if (!@ob_end_clean()) {
                    ob_clean();
                }
            }
            throw $e;
        }
    }
 
    /**
     * Renders dynamic content returned by the given PHP statements.
Arguments
  1. "/home/vintage/www/talan/frontend/widgets/views/_imageWithText.php"
    
/
home
/
vintage
/
www
/
talan
/
vendor
/
yiisoft
/
yii2
/
base
/
View.php
 
        $oldContext = $this->context;
        if ($context !== null) {
            $this->context = $context;
        }
        $output = '';
        $this->_viewFiles[] = $viewFile;
 
        if ($this->beforeRender($viewFile, $params)) {
            Yii::debug("Rendering view file: $viewFile", __METHOD__);
            $ext = pathinfo($viewFile, PATHINFO_EXTENSION);
            if (isset($this->renderers[$ext])) {
                if (is_array($this->renderers[$ext]) || is_string($this->renderers[$ext])) {
                    $this->renderers[$ext] = Yii::createObject($this->renderers[$ext]);
                }
                /* @var $renderer ViewRenderer */
                $renderer = $this->renderers[$ext];
                $output = $renderer->render($this, $viewFile, $params);
            } else {
                $output = $this->renderPhpFile($viewFile, $params);
            }
            $this->afterRender($viewFile, $params, $output);
        }
 
        array_pop($this->_viewFiles);
        $this->context = $oldContext;
 
        return $output;
    }
 
    /**
     * @return string|bool the view file currently being rendered. False if no view file is being rendered.
     */
    public function getViewFile()
    {
        return end($this->_viewFiles);
    }
 
    /**
     * This method is invoked right before [[renderFile()]] renders a view file.
Arguments
  1. "/home/vintage/www/talan/frontend/widgets/views/_imageWithText.php"
    
  2. array:1 [
      "model" =>BlogImageWithTextBuilderModel {#714}
    ]
    
/
home
/
vintage
/
www
/
talan
/
vendor
/
yiisoft
/
yii2
/
base
/
View.php
     *   The actual view file will be looked for under the [[Module::viewPath|view path]] of the [[Controller::module|current module]].
     * - relative view (e.g. "index"): the view name does not start with `@` or `/`. The corresponding view file will be
     *   looked for under the [[ViewContextInterface::getViewPath()|view path]] of the view `$context`.
     *   If `$context` is not given, it will be looked for under the directory containing the view currently
     *   being rendered (i.e., this happens when rendering a view within another view).
     *
     * @param string $view the view name.
     * @param array $params the parameters (name-value pairs) that will be extracted and made available in the view file.
     * @param object $context the context to be assigned to the view and can later be accessed via [[context]]
     * in the view. If the context implements [[ViewContextInterface]], it may also be used to locate
     * the view file corresponding to a relative view name.
     * @return string the rendering result
     * @throws ViewNotFoundException if the view file does not exist.
     * @throws InvalidCallException if the view cannot be resolved.
     * @see renderFile()
     */
    public function render($view, $params = [], $context = null)
    {
        $viewFile = $this->findViewFile($view, $context);
        return $this->renderFile($viewFile, $params, $context);
    }
 
    /**
     * Finds the view file based on the given view name.
     * @param string $view the view name or the [path alias](guide:concept-aliases) of the view file. Please refer to [[render()]]
     * on how to specify this parameter.
     * @param object $context the context to be assigned to the view and can later be accessed via [[context]]
     * in the view. If the context implements [[ViewContextInterface]], it may also be used to locate
     * the view file corresponding to a relative view name.
     * @return string the view file path. Note that the file may not exist.
     * @throws InvalidCallException if a relative view name is given while there is no active context to
     * determine the corresponding view file.
     */
    protected function findViewFile($view, $context = null)
    {
        if (strncmp($view, '@', 1) === 0) {
            // e.g. "@app/views/main"
            $file = Yii::getAlias($view);
        } elseif (strncmp($view, '//', 2) === 0) {
            // e.g. "//layouts/main"
Arguments
  1. "/home/vintage/www/talan/frontend/widgets/views/_imageWithText.php"
    
  2. array:1 [
      "model" =>BlogImageWithTextBuilderModel {#714}
    ]
    
  3. BuilderContentWidget {#1062}
    
/
home
/
vintage
/
www
/
talan
/
vendor
/
yiisoft
/
yii2
/
base
/
Widget.php
     * The view to be rendered can be specified in one of the following formats:
     *
     * - [path alias](guide:concept-aliases) (e.g. "@app/views/site/index");
     * - absolute path within application (e.g. "//site/index"): the view name starts with double slashes.
     *   The actual view file will be looked for under the [[Application::viewPath|view path]] of the application.
     * - absolute path within module (e.g. "/site/index"): the view name starts with a single slash.
     *   The actual view file will be looked for under the [[Module::viewPath|view path]] of the currently
     *   active module.
     * - relative path (e.g. "index"): the actual view file will be looked for under [[viewPath]].
     *
     * If the view name does not contain a file extension, it will use the default one `.php`.
     *
     * @param string $view the view name.
     * @param array $params the parameters (name-value pairs) that should be made available in the view.
     * @return string the rendering result.
     * @throws InvalidArgumentException if the view file does not exist.
     */
    public function render($view, $params = [])
    {
        return $this->getView()->render($view, $params, $this);
    }
 
    /**
     * Renders a view file.
     * @param string $file the view file to be rendered. This can be either a file path or a [path alias](guide:concept-aliases).
     * @param array $params the parameters (name-value pairs) that should be made available in the view.
     * @return string the rendering result.
     * @throws InvalidArgumentException if the view file does not exist.
     */
    public function renderFile($file, $params = [])
    {
        return $this->getView()->renderFile($file, $params, $this);
    }
 
    /**
     * Returns the directory containing the view files for this widget.
     * The default implementation returns the 'views' subdirectory under the directory containing the widget class file.
     * @return string the directory containing the view files for this widget.
     */
    public function getViewPath()
Arguments
  1. "_imageWithText"
    
  2. array:1 [
      "model" =>BlogImageWithTextBuilderModel {#714}
    ]
    
  3. BuilderContentWidget {#1062}
    
/
home
/
vintage
/
www
/
talan
/
frontend
/
widgets
/
BuilderContentWidget.php
{
    /** @var BuilderModel[] */
    public $content = [];
 
    public function run()
    {
        $output = [];
        foreach ($this->content as $widget) {
            $widget->proccessFiles();
            $widget->proccessTranslation();
            $class = get_class($widget);
            switch ($class) {
                case BlogDoubleImageBuilderModel::class:
                    $output[] = $this->render('_doubleImage', ['model' => $widget]);
                    break;
                case BlogHtmlBuilderModel::class:
                    $output[] = $this->render('_html', ['model' => $widget]);
                    break;
                case BlogImageWithTextBuilderModel::class:
                    $output[] = $this->render('_imageWithText', ['model' => $widget]);
                    break;
                case BlogSliderBuilderModel::class:
                    $output[] = $this->render('_slider', ['model' => $widget]);
                    break;
                case BlogYoutubeVideoBuilderModel::class:
                    if (!empty($widget->getYoutubeId())) {
                        $output[] = $this->render('_youtube', ['model' => $widget]);
                    }
                    break;
                default:
                    break;
            }
        }
 
        return implode("\n", $output);
    }
}
Arguments
  1. "_imageWithText"
    
  2. array:1 [
      "model" =>BlogImageWithTextBuilderModel {#714}
    ]
    
/
home
/
vintage
/
www
/
talan
/
vendor
/
yiisoft
/
yii2
/
base
/
Widget.php
    }
 
    /**
     * Creates a widget instance and runs it.
     * The widget rendering result is returned by this method.
     * @param array $config name-value pairs that will be used to initialize the object properties
     * @return string the rendering result of the widget.
     * @throws \Exception
     */
    public static function widget($config = [])
    {
        ob_start();
        ob_implicit_flush(false);
        try {
            /* @var $widget Widget */
            $config['class'] = get_called_class();
            $widget = Yii::createObject($config);
            $out = '';
            if ($widget->beforeRun()) {
                $result = $widget->run();
                $out = $widget->afterRun($result);
            }
        } catch (\Exception $e) {
            // close the output buffer opened above if it has not been closed already
            if (ob_get_level() > 0) {
                ob_end_clean();
            }
            throw $e;
        }
 
        return ob_get_clean() . $out;
    }
 
    private $_id;
 
    /**
     * Returns the ID of the widget.
     * @param bool $autoGenerate whether to generate an ID if it is not set previously
     * @return string ID of the widget.
     */
/
home
/
vintage
/
www
/
talan
/
frontend
/
modules
/
blog
/
views
/
blog
/
view.php
        <div class="article__date wow fadeInUp" data-wow-delay="0.3s"> <?= $model->getDisplayableViewDate() ?> </div>
        <br>
        <ul class="tags article__tegs wow fadeInUp" data-wow-delay="0.6s">
            <?php foreach($model->blogThemes as $theme) : /* @var $theme \common\models\BlogTheme */ ?>
                <li class="item tags__item">
                    <a class="item__link" href="<?= SiteUrlHelper::getBlogAllUrl(['theme' => $theme->alias]) ?>"><?= $theme->label ?></a>
                </li>
            <?php endforeach; ?>
        </ul>
        <div class="views article__views">
            <div class="views__wrap"> <?= $model->getVisitsCount() ?> </div>
        </div>
        <div class="article__content wow fadeInUp" data-wow-delay="0.5s">
            <?php if (isset($model->coverImageAttr->file_id)) : ?>
            <p>
                <img src="<?= FPM::originalSrc($model->coverImageAttr->file_id ?? null) ?>" alt="" style="margin:20px 0">
            </p>
            <?php endif; ?>
        </div>
        <?= BuilderContentWidget::widget(['content' => $model->content]) ?>
    </div>
</section>
<!-- /ARTICLE -->
<!-- SHARE -->
<div class="wrap wrap_small wrap_mobile_full">
    <section class="share share_horizontal wow fadeIn">
        <div class="share__line"></div>
        <div class="social share__social">
            <a href="<?= SocialShareHelper::getOdnoklasnikiShareUrl() ?>" class="social__item socicon-odnoklassniki" target="_blank"></a>
            <a href="<?= SocialShareHelper::getVkShareUrl(FPM::src($model->coverImageAttr->file_id ?? null, 'article', 'view'), $model->label) ?>" class="social__item socicon-vkontakte" target="_blank"></a>
            <a href="<?= SocialShareHelper::getFacebookShareUrl() ?>" class="social__item socicon-facebook" target="_blank"></a>
        </div>
        <div class="share__text"> <?= Yii::t('front/blog', 'share_text') ?> </div>
    </section>
</div>
 
<?= RelatedArticles::widget(compact('model')) ?>
 
<!-- /SHARE -->
<?= PageFormBottomBlockWidget::widget([
Arguments
  1. array:2 [
      "content" =>array:1 [0 =>BlogImageWithTextBuilderModel {#714}
      ]
      "class" => "frontend\widgets\BuilderContentWidget"
    ]
    
/
home
/
vintage
/
www
/
talan
/
vendor
/
yiisoft
/
yii2
/
base
/
View.php
     * This method treats the view file as a PHP script and includes the file.
     * It extracts the given parameters and makes them available in the view file.
     * The method captures the output of the included view file and returns it as a string.
     *
     * This method should mainly be called by view renderer or [[renderFile()]].
     *
     * @param string $_file_ the view file.
     * @param array $_params_ the parameters (name-value pairs) that will be extracted and made available in the view file.
     * @return string the rendering result
     * @throws \Exception
     * @throws \Throwable
     */
    public function renderPhpFile($_file_, $_params_ = [])
    {
        $_obInitialLevel_ = ob_get_level();
        ob_start();
        ob_implicit_flush(false);
        extract($_params_, EXTR_OVERWRITE);
        try {
            require $_file_;
            return ob_get_clean();
        } catch (\Exception $e) {
            while (ob_get_level() > $_obInitialLevel_) {
                if (!@ob_end_clean()) {
                    ob_clean();
                }
            }
            throw $e;
        } catch (\Throwable $e) {
            while (ob_get_level() > $_obInitialLevel_) {
                if (!@ob_end_clean()) {
                    ob_clean();
                }
            }
            throw $e;
        }
    }
 
    /**
     * Renders dynamic content returned by the given PHP statements.
Arguments
  1. "/home/vintage/www/talan/frontend/modules/blog/views/blog/view.php"
    
/
home
/
vintage
/
www
/
talan
/
vendor
/
yiisoft
/
yii2
/
base
/
View.php
 
        $oldContext = $this->context;
        if ($context !== null) {
            $this->context = $context;
        }
        $output = '';
        $this->_viewFiles[] = $viewFile;
 
        if ($this->beforeRender($viewFile, $params)) {
            Yii::debug("Rendering view file: $viewFile", __METHOD__);
            $ext = pathinfo($viewFile, PATHINFO_EXTENSION);
            if (isset($this->renderers[$ext])) {
                if (is_array($this->renderers[$ext]) || is_string($this->renderers[$ext])) {
                    $this->renderers[$ext] = Yii::createObject($this->renderers[$ext]);
                }
                /* @var $renderer ViewRenderer */
                $renderer = $this->renderers[$ext];
                $output = $renderer->render($this, $viewFile, $params);
            } else {
                $output = $this->renderPhpFile($viewFile, $params);
            }
            $this->afterRender($viewFile, $params, $output);
        }
 
        array_pop($this->_viewFiles);
        $this->context = $oldContext;
 
        return $output;
    }
 
    /**
     * @return string|bool the view file currently being rendered. False if no view file is being rendered.
     */
    public function getViewFile()
    {
        return end($this->_viewFiles);
    }
 
    /**
     * This method is invoked right before [[renderFile()]] renders a view file.
Arguments
  1. "/home/vintage/www/talan/frontend/modules/blog/views/blog/view.php"
    
  2. array:2 [
      "model" =>Article {#615}
      "pageModel" =>BlogListPage {#560}
    ]
    
/
home
/
vintage
/
www
/
talan
/
vendor
/
yiisoft
/
yii2
/
base
/
View.php
     *   The actual view file will be looked for under the [[Module::viewPath|view path]] of the [[Controller::module|current module]].
     * - relative view (e.g. "index"): the view name does not start with `@` or `/`. The corresponding view file will be
     *   looked for under the [[ViewContextInterface::getViewPath()|view path]] of the view `$context`.
     *   If `$context` is not given, it will be looked for under the directory containing the view currently
     *   being rendered (i.e., this happens when rendering a view within another view).
     *
     * @param string $view the view name.
     * @param array $params the parameters (name-value pairs) that will be extracted and made available in the view file.
     * @param object $context the context to be assigned to the view and can later be accessed via [[context]]
     * in the view. If the context implements [[ViewContextInterface]], it may also be used to locate
     * the view file corresponding to a relative view name.
     * @return string the rendering result
     * @throws ViewNotFoundException if the view file does not exist.
     * @throws InvalidCallException if the view cannot be resolved.
     * @see renderFile()
     */
    public function render($view, $params = [], $context = null)
    {
        $viewFile = $this->findViewFile($view, $context);
        return $this->renderFile($viewFile, $params, $context);
    }
 
    /**
     * Finds the view file based on the given view name.
     * @param string $view the view name or the [path alias](guide:concept-aliases) of the view file. Please refer to [[render()]]
     * on how to specify this parameter.
     * @param object $context the context to be assigned to the view and can later be accessed via [[context]]
     * in the view. If the context implements [[ViewContextInterface]], it may also be used to locate
     * the view file corresponding to a relative view name.
     * @return string the view file path. Note that the file may not exist.
     * @throws InvalidCallException if a relative view name is given while there is no active context to
     * determine the corresponding view file.
     */
    protected function findViewFile($view, $context = null)
    {
        if (strncmp($view, '@', 1) === 0) {
            // e.g. "@app/views/main"
            $file = Yii::getAlias($view);
        } elseif (strncmp($view, '//', 2) === 0) {
            // e.g. "//layouts/main"
Arguments
  1. "/home/vintage/www/talan/frontend/modules/blog/views/blog/view.php"
    
  2. array:2 [
      "model" =>Article {#615}
      "pageModel" =>BlogListPage {#560}
    ]
    
  3. BlogController {#552}
    
/
home
/
vintage
/
www
/
talan
/
vendor
/
yiisoft
/
yii2
/
base
/
Controller.php
     * 2. In the second step, it determines the actual layout file according to the previously found layout name
     *    and context module. The layout name can be:
     *
     * - a [path alias](guide:concept-aliases) (e.g. "@app/views/layouts/main");
     * - an absolute path (e.g. "/main"): the layout name starts with a slash. The actual layout file will be
     *   looked for under the [[Application::layoutPath|layout path]] of the application;
     * - a relative path (e.g. "main"): the actual layout file will be looked for under the
     *   [[Module::layoutPath|layout path]] of the context module.
     *
     * If the layout name does not contain a file extension, it will use the default one `.php`.
     *
     * @param string $view the view name.
     * @param array $params the parameters (name-value pairs) that should be made available in the view.
     * These parameters will not be available in the layout.
     * @return string the rendering result.
     * @throws InvalidArgumentException if the view file or the layout file does not exist.
     */
    public function render($view, $params = [])
    {
        $content = $this->getView()->render($view, $params, $this);
        return $this->renderContent($content);
    }
 
    /**
     * Renders a static string by applying a layout.
     * @param string $content the static string being rendered
     * @return string the rendering result of the layout with the given static string as the `$content` variable.
     * If the layout is disabled, the string will be returned back.
     * @since 2.0.1
     */
    public function renderContent($content)
    {
        $layoutFile = $this->findLayoutFile($this->getView());
        if ($layoutFile !== false) {
            return $this->getView()->renderFile($layoutFile, ['content' => $content], $this);
        }
 
        return $content;
    }
 
Arguments
  1. "view"
    
  2. array:2 [
      "model" =>Article {#615}
      "pageModel" =>BlogListPage {#560}
    ]
    
  3. BlogController {#552}
    
/
home
/
vintage
/
www
/
talan
/
frontend
/
modules
/
blog
/
controllers
/
BlogController.php
        $searchModel = new BlogSearch();
        $searchModel->load(request()->get(), '');
        MetaRegistrar::register($pageModel, $pageModel->label);
 
        return $this->render('index', compact('pageModel', 'searchModel'));
    }
 
    public function actionView($alias)
    {
        $pageModel = (new BlogListPage())->get();
        $model = (new BlogSearch())->getArticleByAlias($alias);
        if (!$model) {
            throw new NotFoundHttpException();
        }
        $this->attachLastModifiedHeader($model->updated_at);
 
        VisitCount::addVisit($model, $model->id);
        MetaRegistrar::register($model, $model->label);
 
        return $this->render('view', compact('model', 'pageModel'));
    }
}
 
Arguments
  1. "view"
    
  2. array:2 [
      "model" =>Article {#615}
      "pageModel" =>BlogListPage {#560}
    ]
    
/
home
/
vintage
/
www
/
talan
/
vendor
/
yiisoft
/
yii2
/
base
/
InlineAction.php
    {
        $this->actionMethod = $actionMethod;
        parent::__construct($id, $controller, $config);
    }
 
    /**
     * Runs this action with the specified parameters.
     * This method is mainly invoked by the controller.
     * @param array $params action parameters
     * @return mixed the result of the action
     */
    public function runWithParams($params)
    {
        $args = $this->controller->bindActionParams($this, $params);
        Yii::debug('Running action: ' . get_class($this->controller) . '::' . $this->actionMethod . '()', __METHOD__);
        if (Yii::$app->requestedParams === null) {
            Yii::$app->requestedParams = $args;
        }
 
        return call_user_func_array([$this->controller, $this->actionMethod], $args);
    }
}
 
Arguments
  1. "3-avgusta"
    
/
home
/
vintage
/
www
/
talan
/
vendor
/
yiisoft
/
yii2
/
base
/
InlineAction.php
    {
        $this->actionMethod = $actionMethod;
        parent::__construct($id, $controller, $config);
    }
 
    /**
     * Runs this action with the specified parameters.
     * This method is mainly invoked by the controller.
     * @param array $params action parameters
     * @return mixed the result of the action
     */
    public function runWithParams($params)
    {
        $args = $this->controller->bindActionParams($this, $params);
        Yii::debug('Running action: ' . get_class($this->controller) . '::' . $this->actionMethod . '()', __METHOD__);
        if (Yii::$app->requestedParams === null) {
            Yii::$app->requestedParams = $args;
        }
 
        return call_user_func_array([$this->controller, $this->actionMethod], $args);
    }
}
 
Arguments
  1. array:2 [0 =>BlogController {#552}
      1 => "actionView"
    ]
    
  2. array:1 [0 => "3-avgusta"
    ]
    
/
home
/
vintage
/
www
/
talan
/
vendor
/
yiisoft
/
yii2
/
base
/
Controller.php
        $this->action = $action;
 
        $modules = [];
        $runAction = true;
 
        // call beforeAction on modules
        foreach ($this->getModules() as $module) {
            if ($module->beforeAction($action)) {
                array_unshift($modules, $module);
            } else {
                $runAction = false;
                break;
            }
        }
 
        $result = null;
 
        if ($runAction && $this->beforeAction($action)) {
            // run the action
            $result = $action->runWithParams($params);
 
            $result = $this->afterAction($action, $result);
 
            // call afterAction on modules
            foreach ($modules as $module) {
                /* @var $module Module */
                $result = $module->afterAction($action, $result);
            }
        }
 
        if ($oldAction !== null) {
            $this->action = $oldAction;
        }
 
        return $result;
    }
 
    /**
     * Runs a request specified in terms of a route.
     * The route can be either an ID of an action within this controller or a complete route consisting
Arguments
  1. array:2 [
      "city" => "xn--k1aecdy6bc"
      "alias" => "3-avgusta"
    ]
    
/
home
/
vintage
/
www
/
talan
/
vendor
/
yiisoft
/
yii2
/
base
/
Module.php
 
    /**
     * Runs a controller action specified by a route.
     * This method parses the specified route and creates the corresponding child module(s), controller and action
     * instances. It then calls [[Controller::runAction()]] to run the action with the given parameters.
     * If the route is empty, the method will use [[defaultRoute]].
     * @param string $route the route that specifies the action.
     * @param array $params the parameters to be passed to the action
     * @return mixed the result of the action.
     * @throws InvalidRouteException if the requested route cannot be resolved into an action successfully.
     */
    public function runAction($route, $params = [])
    {
        $parts = $this->createController($route);
        if (is_array($parts)) {
            /* @var $controller Controller */
            list($controller, $actionID) = $parts;
            $oldController = Yii::$app->controller;
            Yii::$app->controller = $controller;
            $result = $controller->runAction($actionID, $params);
            if ($oldController !== null) {
                Yii::$app->controller = $oldController;
            }
 
            return $result;
        }
 
        $id = $this->getUniqueId();
        throw new InvalidRouteException('Unable to resolve the request "' . ($id === '' ? $route : $id . '/' . $route) . '".');
    }
 
    /**
     * Creates a controller instance based on the given route.
     *
     * The route should be relative to this module. The method implements the following algorithm
     * to resolve the given route:
     *
     * 1. If the route is empty, use [[defaultRoute]];
     * 2. If the first segment of the route is a valid module ID as declared in [[modules]],
     *    call the module's `createController()` with the rest part of the route;
Arguments
  1. "view"
    
  2. array:2 [
      "city" => "xn--k1aecdy6bc"
      "alias" => "3-avgusta"
    ]
    
/
home
/
vintage
/
www
/
talan
/
vendor
/
yiisoft
/
yii2
/
web
/
Application.php
                $url = $e->url;
                if (is_array($url)) {
                    if (isset($url[0])) {
                        // ensure the route is absolute
                        $url[0] = '/' . ltrim($url[0], '/');
                    }
                    $url += $request->getQueryParams();
                }
 
                return $this->getResponse()->redirect(Url::to($url, $e->scheme), $e->statusCode);
            }
        } else {
            $route = $this->catchAll[0];
            $params = $this->catchAll;
            unset($params[0]);
        }
        try {
            Yii::debug("Route requested: '$route'", __METHOD__);
            $this->requestedRoute = $route;
            $result = $this->runAction($route, $params);
            if ($result instanceof Response) {
                return $result;
            }
 
            $response = $this->getResponse();
            if ($result !== null) {
                $response->data = $result;
            }
 
            return $response;
        } catch (InvalidRouteException $e) {
            throw new NotFoundHttpException(Yii::t('yii', 'Page not found.'), $e->getCode(), $e);
        }
    }
 
    private $_homeUrl;
 
    /**
     * @return string the homepage URL
     */
Arguments
  1. "blog/blog/view"
    
  2. array:2 [
      "city" => "xn--k1aecdy6bc"
      "alias" => "3-avgusta"
    ]
    
/
home
/
vintage
/
www
/
talan
/
vendor
/
yiisoft
/
yii2
/
base
/
Application.php
     */
    public function setBasePath($path)
    {
        parent::setBasePath($path);
        Yii::setAlias('@app', $this->getBasePath());
    }
 
    /**
     * Runs the application.
     * This is the main entrance of an application.
     * @return int the exit status (0 means normal, non-zero values mean abnormal)
     */
    public function run()
    {
        try {
            $this->state = self::STATE_BEFORE_REQUEST;
            $this->trigger(self::EVENT_BEFORE_REQUEST);
 
            $this->state = self::STATE_HANDLING_REQUEST;
            $response = $this->handleRequest($this->getRequest());
 
            $this->state = self::STATE_AFTER_REQUEST;
            $this->trigger(self::EVENT_AFTER_REQUEST);
 
            $this->state = self::STATE_SENDING_RESPONSE;
            $response->send();
 
            $this->state = self::STATE_END;
 
            return $response->exitStatus;
        } catch (ExitException $e) {
            $this->end($e->statusCode, isset($response) ? $response : null);
            return $e->statusCode;
        }
    }
 
    /**
     * Handles the specified request.
     *
     * This method should return an instance of [[Response]] or its child class
Arguments
  1. Request {#23}
    
/
home
/
vintage
/
www
/
talan
/
frontend
/
web
/
index.php
 
require(__DIR__ . '/../../vendor/autoload.php');
 
require(__DIR__ . '/../components/Redirect.php');
$redirect = new \frontend\components\Redirect();
$redirect->make();
 
require(__DIR__ . '/../../vendor/yiisoft/yii2/Yii.php');
require(__DIR__ . '/../../common/config/bootstrap.php');
require(__DIR__ . '/../config/bootstrap.php');
 
$config = yii\helpers\ArrayHelper::merge(
    require(__DIR__ . '/../../common/config/main.php'),
    require(__DIR__ . '/../../common/config/main-local.php'),
    require(__DIR__ . '/../config/main.php'),
    require(__DIR__ . '/../config/main-local.php')
);
 
$application = new yii\web\Application($config);
$application->run();
 

Environment & details:

KeyValue
city
"xn--k1aecdy6bc"
alias
"3-avgusta"
empty
empty
empty
empty
KeyValue
USER
"vintage"
HOME
"/home/vintage"
HTTP_ACCEPT
"*/*"
HTTP_HOST
"xn--k1aecdy6bc.xn--80aa6ajv.xn--p1ai"
SCRIPT_FILENAME
"/home/vintage/www/front/index.php"
REDIRECT_STATUS
"200"
SERVER_NAME
"xn--80aa6ajv.xn--p1ai"
SERVER_PORT
"443"
SERVER_ADDR
"82.146.32.158"
REMOTE_PORT
"38486"
REMOTE_ADDR
"172.30.0.3"
SERVER_SOFTWARE
"nginx/1.10.3"
GATEWAY_INTERFACE
"CGI/1.1"
HTTPS
"on"
REQUEST_SCHEME
"https"
SERVER_PROTOCOL
"HTTP/1.1"
DOCUMENT_ROOT
"/home/vintage/www/front"
DOCUMENT_URI
"/index.php"
REQUEST_URI
"/journal/3-avgusta"
SCRIPT_NAME
"/index.php"
CONTENT_LENGTH
""
CONTENT_TYPE
""
REQUEST_METHOD
"GET"
QUERY_STRING
""
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1632221746.9969
REQUEST_TIME
1632221746
empty
0. Whoops\Handler\PrettyPageHandler