<MyRusakov.ru />

Финансовая грамотность от А до Я

Финансовая грамотность от А до Я

Данный курс в кратчайшие сроки обучит Вас финансовой грамотности. Эти знания позволят Вам получить, как минимум, серьёзную финансовую стабильность, а, как максимум, финансовую независимость.

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

Помимо самого курса Вас ждёт ещё бесплатный ценный Бонус: «Ранний выход на пенсию». В рамках этого Бонуса Вы узнаете, какой должен быть капитал конкретно в Вашем случае, варианты его получения, а также какие есть стратегии вывода капитала на пенсии и где их можно протестировать.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Twig. Базовая настройка

Twig. Базовая настройка

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

Для начала нам необходимо создать простой проект. Затем следует произвести загрузку самого шаблонизатора. Создаем файл init.php со следующим содержимым:

 <?php

  // загрузка автозагрузчика
  require_once __DIR__.'/vendor/autoload.php';

  // место где будут хранятся шаблоны Twig
  $loader = new Twig_Loader_Filesystem(__DIR__.'/views');

  // инициализация самого движка
   $twig = new Twig_Environment($loader);

 ?>

Главным объектом всех этих манипуляций является класс Environment. Он используется для хранения всякого рода настроек, а также для загрузки шаблонов либо из файловой системы, либо из каких-либо других мест.

После инициализации шаблонизатора, нам нужно создать файл index.php, где все действо по загрузке данных и передаче их в шаблон и будет происходить. Вот код:

<?php

require_once __DIR__.'/init.php';

// Создаем список сотрудников
$staff = [
    [   'name'    => 'Андрей',
        'description'   => 'Физика',
        'age'           =>  29,
        'date_register' => '2017-06-23',
    ],
    [
        'name'          => 'Татьяна',
        'description'   => 'Химия',
        'age'           =>  25,
        'date_register' => '2017-06-22',
    ],
    [
        'name'          => 'Наталья',
        'description'   => 'Алгебра',
        'age'           =>  27,
        'date_register' => '2017-10-25',
    ],
];

// вывод данных на страницу
echo $twig->render('index.html', ['staff' => $staff] );

В примере выше мы создали вымышленный список сотрудников школы. На самом деле такого рода данные обычно хранятся в базе, но для простоты и наглядности я их представил в таком виде. Вызываем метод render() класса Environment шаблонизатора Twig и передаем в него первым аргументом имя файла шаблона – index.html, который хранится в папке views. Вторым аргументом мы передаем ассоциативный массив следующей структуры:


['имя_переменной_в_шаблоне' => $имя_переменной_в_коде],

где 'имя_переменной_в_шаблоне' – это имя переменной с данными, которое нам будет доступно в шаблоне.

Для наглядности всего сказанного перейдем в папку /views, где создадим файл index.html. Напишем в нем следующий код:

<!DOCTYPE html>
<html lang="ru-RU">
    <head>
        <meta charset="UTF-8">
        <title>Учителя Школы</title>
    </head>
    <body>
    <table border="1" style="width: 80%;">
        <thead>
            <tr>
                <td>Имя</td>
                <td>Предмет</td>
                <td>Возраст</td>
                <td>Начал(а) работать</td>
            </tr>
        </thead>
        <tbody>
            {% for staffer in staff %}
                <tr>
                    <td>{{ staffer.name }}</td>
                    <td>{{ staffer.description }}</td>
                    <td>{{ staffer.age }}</td>
                    <td>{{ staffer.date_register|date("m/d/Y") }}</td>
                </tr>
            {% endfor %}
        </tbody>
    </table>
    </body>
</html>

Для простоты я буду использовать встроенный в PHP сервер:

// переходим в папку с проектом
// допустим что весь проект хранится в папке www
C:/> cd www

// опции встроенного сервера localhost – адрес, 8080 - порт
C:/> php –S localhost:8080

Открываем браузер, набираем в адресной строке localhost:8080 и вот, что у нас получилось:

Twig Environment, Twig Loader

Теперь внимательнее взглянем на код шаблона.

В шаблонизаторе Twig по умолчанию используются два вида базовых конструкций: {{…}} используется для вывода на страницу результата выполнения операции или выражения ( похоже на функцию print ), а конструкция {% … %} – для обрамления инструкций, чтобы отделить их от остального кода шаблона (аналог <?php ?>).

Таким образом, из статьи вы узнали, как инициализировать шаблонизатор Twig и создать шаблон (представление), познакомились с базовыми конструкциями Twig.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.