doniyorbekm
@doniyorbekm
Yii-шник

Откуда ошибка в контроллере?

Здравствуйте!
Yii2 basic. Есть контроллер и в нём метод:

<?php
namespace app\controllers;

class UserController extends AppController {
	
	public $menu;
	
	public function getMenuHtml($tree) {
        if(!empty($tree)) {
            foreach($tree as $category) {
                $this->menu .= "<li data-jstree='{\"icon\":\"fa fa-user-circle\"}' data-id=\"".$category['id']."\">".$category['name'];
                if(isset($category['childs'])) {
                    $this->menu .= "<ul>";
                    self::getMenuHtml($category['childs']);
                    $this->menu .= "</ul>";
                }
                $this->menu .= "</li>";
            }
            return $this->menu;
        }
    }
}
?>


Сейчас вылазит ошибка Using $this when not in object context в строке "$this->menu"
Так стало после переключения на php семёрку.
Как исправить эту ошибку?
  • Вопрос задан
  • 138 просмотров
Пригласить эксперта
Ответы на вопрос 2
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
статический вызов динамического метода, должно быть $this->getMenuHtml
Ответ написан
@morricone85
во-первых, почему контроллер генерирует html код? Это не правильно.
во-вторых, какое отношение имеет меню к контроллеру User?;
ну, а по теме, вам уже указали, где ошибка - self::getMenuHtml($category['childs'])
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы