@semki096

Как в PHP работает видимость класса, на моём примере?

Не могу до конца понять как ведут себя классы. Например на фреймворке slim в index.php пишу:
// мой класс
class Home {
    public function index(){
        return 'Home controller';
    }
}

//мой роутер
$app->get('/', function (Request $request, Response $response) {
    $response = $this->view->render($response, 'index.phtml');
    return $response;
});

В роутере я вроде бы ничего в шаблон не передаю. Но... в этом же шаблоне (index.phtml) я могу написать например $test = new Home; var_dump($tes); и это работает. Это меня смущает, я не ожидал что шаблон будет иметь доступ к классу. Буду признателен за объяснение.
  • Вопрос задан
  • 129 просмотров
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
в этом же шаблоне (index.phtml) я могу написать например $test = new Home; var_dump($test); и это работает.

Так как вью у вас инклудит в себя шаблон для рендера, все что находится в шаблоне будет восприниматься как контекст вью, соответственно все что можно делать из вью можно и из шаблона(но не нужно).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы