План:
13:50 - выбирайте редактор nano (2)
10:35 - новые миграции в конце списка файлов. Сначала выполняются миграции, созданные раньше.
Домашнее задание:
1. Планировщик задач.
а) Написать скрипт, который получает текущее время (например, 2017-01-10 18:05:24) и записывает его c новой строки в конец файла /var/www/project/frontend/web/log.txt
Таким образом, каждый раз, когда вызывается данный скрипт, в файл log.txt будет записано время его вызова.
б) Настроить планировщик на повторение скрипта с частотой:
в) Оставить машину рабочей и проверить содержимое файла log.txt спустя некоторое время.
Подсказка: можно сделать вывод времени немного красивее используя встроенный компонент Yii::$app->formatter.
2. Миграции БД.
а) Написать миграцию для создания таблицы "сотрудник". В таблице будет храниться такая информация:
Используйте createTable().
б) После создания таблицы, в бухгалтерии вспомнили, что нужно добавить поле "Оклад". Напишите еще одну миграцию для добавления нового поля.
Используйте addColumn().
в) Через год после начала работы руководство пришло к выводу, что мы не должны хранить место жительства (поле "Город") в таблице сотрудников. Напишите миграцию для удаления этого поля.
Используйте dropColumn().
3. Рассылка ведомостей о зарплате.
а) Написать скрипт (аналогичный примеру в уроке), который 1 раз в месяц по расписанию планировщика отправляет на email адреса сотрудников письмо такого вида:
"Уважаемый Марко Поло! 01.05.2017 Вам была начислена заработная плата в размере $5."
б) Информацию о каждой рассылке стоит записывать в файл log.txt (см. задачу 1)
Код урока:
https://github.com/lukesky1/php-up/tree/1.0.2
Полезные ссылки:
https://yiiframework.com.ua/ru/doc/guide/2/tutoria...
https://zinchenko.us/article/ru-useful-services-fo...
https://help.ubuntu.com/community/CronHowto
https://crontab.guru/#*_*_*_*_*
https://yiiframework.com.ua/ru/doc/guide/2/db-migr...