Yii2 Привет Мир! -- простой пример использования

Предположим, что мы установили Yii2, тогда давайте напишем собственные первые строки, используя его архитектуру.

В этом примере мы добавим один метод контроллера (это называется "действием") и одно представление ("вью"), а также слегка поправим layout ("слой"), чтобы получить ссылку на нашу новую страницу (скрипт).

Метод контроллера

Итак, откроем файл:

\controllers\SiteController.php

И в конец его добавим ещё один метод - действие:

public function actionHello()
{
    $yiiName = 'Yii2';
    return $this->render('hello', array('yiiName' => $yiiName));
	// return $this->render('hello'); // вызов параметра без передачи параметров (тиривиальный)
 }

Представление

Как видим, мы передали параметры (1 переменную в данном случае) в представление - тогда создадим файл этого представления (по сути - тоже скрипт) с именем и положением:

\views\site\hello.php

И таким содержимым (скопировал его отчасти из соседнего файла about.php):

<?php

/* @var $this yii\web\View */

use yii\helpers\Html;

$this->title = 'Привет мир)';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="site-about">
    <h1><?= Html::encode($this->title) ?></h1>

    <p>
        Привет мир, привет <?= $yiiName ?>!
    </p>

    <code><?= __FILE__ ?> -- это можно убрать в коде =))</code>
</div>

Шаблон

Шаблоны - это по факту представления, которые используются совместно с другими представлениями (футер и шапка сайта, и т.д. -- короче что-то что есть на всех страницах данного "слоя", "шаблона").

Поправим демо-шаблон:

\views\layouts\main.php

Заменим строки:

echo Nav::widget([
	'options' => ['class' => 'navbar-nav navbar-right'],
	'items' => [
		['label' => 'Home', 'url' => ['/site/index']],

На (добавим строчку)

echo Nav::widget([
	'options' => ['class' => 'navbar-nav navbar-right'],
	'items' => [
		['label' => 'Привет', 'url' => ['/site/hello']], // ссылка на наш новый фунционал в главном меню
		['label' => 'Home', 'url' => ['/site/index']],

Готово! Обновите главную страницу (в нашем случае это адрес http://yii2test.local/web) -- в главном меню должна была появится ссылка "Привет". Кликните по ней и посмотрите, что получится)

Что дальше

Это был самый-самый базовый пример. Далее, чтобы изучить Yii2, вам будет нужно как минимум почитать документацию.

Key Words for FKN + antitotal forum (CS VSU):