# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
|
|||
Наша цель - разобраться в этом фреймворке и создать рабочий проект - новую видеошколу. Каждый формулист может стать соавтором новой видеошколы. Каждый участник может написать свои строчки для проекта. И каждый из них получит незаменимый опыт по созданию реального рабочего проекта с использованием современных технологий: Yii, PHP, MySQL, Git, Bootstrap, JavaScript, jQuery, AJAX и многое другое. Отчёт отправил: 10558. Иван Воронин Выполнено за 1 час. 00 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Решил запустить серверную часть в ХР, посмотреть, на сколько это актуально. PhpStorm запущен в 10. GitHub'ом пользуюсь уже много лет, поэтому регистрироваться там не было необходимости. Готов к вебинару =) |
|||||
2 | Web - Первый кирпич сайта |
|
|||
На этом уроке мы настроим минимальные версии модулей на нашем OpenServer для дальнейшей работы. Проверим версии apache, php и MySQL. После чего мы поработаем в консоли, создав необходимый минимум. Далее мы проверим работоспособность нашего мини сайта. Отчёт отправил: 10558. Иван Воронин Выполнено за 42 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Работает как через сервер на базе php, так и через апачи. см. скриншоты. Потратил доп. время на перенос OpenServera с виртуалки XP на 7. Отличный урок, всё коротко и ясно, идём дальше. |
|||||
3 | Git - Все ходы записываются |
|
|||
На этом уроке мы проинициализиуем локальный git репозиторий в ранее созданной папке нашего проекта school. После чего откроем нашу папку school в PhpStorm для дальнейшей работы уже в более удобной среде разработки. Создадим необходимый файл .gitignore с базовыми правилами и закоммитим наш первый коммит в локальный git репозиторий. Отчёт отправил: 10558. Иван Воронин Выполнено за 12 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Отличный урок, всё коротко и ясно, идём дальше. |
|||||
4 | Composer - Установка пустоты |
|
|||
На этом уроке мы подключим фреймворк Yii через composer в консоли. Научимся получать токен репозитория git. Далее мы приступим к реализации нашего проекта, для начала модифицируем index.php, чтобы задействовать фреймворк Yii. Так же создадим конфигурационный файл для нашего проекта и передадим его как параметр при создании экземпляра веб-приложения Yii. Отчёт отправил: 10558. Иван Воронин Выполнено за 1 час. 30 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Основное время потратил на создание слайдов получения Токена на github.com. После этого урока создал сразу три коммита, разделённые по логике выполнения задач. см. второй скриншот истории. В файл .gitignore добавил composer.lock, так как он генерируется для каждого свой, не хотелось бы иметь конфликты при командной разработке. з.ы. Конечно, в PhpStorm удобнее работать с коммитами, но всё равно мне привычнее родные утилиты самого git. =) дело привычки. |
|||||
5 | Controller - Точка входа программиста |
|
|||
На этом уроке мы создадим первый контроллер, который является точкой входа для нашего веб-приложения. Познакомимся с полезными ссылками и схемами жизненного цикла нашего веб-приложения. Отчёт отправил: 10558. Иван Воронин Выполнено за 17 мин. [Показать отчёт] Научился: Закрепил пройденное Сложности: найти время Комментарии: отличный урок, ничего лишнего, выполнили одну задачу, закоммитили её. Идеальный урок, вот такие и надо делать, не увлекаясь =) |
|||||
6 | Views - Представления начинаются |
2 теста |
|||
На этом уроке мы создадим первое представление для отображения основной странички нашего веб-приложения. Для удобного поиска ошибок мы активируем встроенную в Yii систему отладки. Отчёт отправил: 10558. Иван Воронин Выполнено за 17 мин. [Показать отчёт] Научился: Закрепил пройденное Сложности: найти время Комментарии: Отличный урок, супер дебаг система в Yii, тоже очень понравилась. Решил текст писать на русском, для наглядности =) разбил на пару коммитов, можно было конечно на три разбить, в одном создание лэйаутов, а во втором использование их, но решил оставить так, а вот активацию дебаг системы вынес в отдельный коммит. так как логически это независимая задача. |
|||||
7 | Codeception - Пошаговое тестирование |
1 тест |
|||
На этом уроке мы установим систему тестирования веб-приложений и создадим несколько тестов имитации поведения гостя на сайте. Отчёт отправил: 10558. Иван Воронин Выполнено за 31 мин. [Показать отчёт] Научился: Закрепил пройденное Сложности: найти время Комментарии: Отличная идея тестирования сайта имитируя поведение пользователей. |
|||||
8 | Bootstrap - Пусть будет красиво! |
|
|||
На этом уроке мы начнём оформление нашего сайта. Для этого мы установим и подключим набор инструментов bootstrap, включающий в себя HTML/CSS шаблоны оформления и JavaScript расширения. Первое что нам необходимо сделать, это добавить верхнее меню. Отчёт отправил: 10558. Иван Воронин Выполнено за 30 мин. [Показать отчёт] Научился: Закрепил пройденное Сложности: найти время Комментарии: Бутстрап удобная штука, даже базовый дизайн там очень даже не плохо выглядит, но никто не запрещает использовать его как основу, добавляя свои фишки =) Отличный урок, идём дальше. |
|||||
9 | Menu - Богатый выбор |
|
|||
На прошлом уроке мы создали навигационную панель, на этом уроке мы разместим пункты меню на этой панели. Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт] Научился: Закрепил пройденное Сложности: найти время Комментарии: Отличный урок, коротко и ясно, идём дальше. |
|||||
10 | Join/login - Полёт Навигатора |
1 тест |
|||
На этом уроке мы вернёмся к ранее созданным тестам, которые провалились при проверке пунктов меню регистрации и авторизации пользователя. На этом уроке мы устраним проблемы, изза которых тесты не могут завершиться успешно. Отчёт отправил: 10558. Иван Воронин Выполнено за 17 мин. [Показать отчёт] Научился: Закрепил пройденное Сложности: найти время Комментарии: Отличное завершение первой части по созданию веб-приложения и использованием фреймворка Yii2. Ждём продолжения банкета =) |
|||||
11 | Debug - Следы на песке |
1 тест |
|||
На этом уроке мы установим систему отладки в Yii для удобства отлавливания ошибок. После чего мы его подключим, прописав необходимые параметры в конфигурационный файл. Так же продемонстрируем как добавлять собственные логи по типу. Посмотрите инструкцию по установке. Отчёт отправил: 10558. Иван Воронин Выполнено за 35 мин. [Показать отчёт] Научился: yiisoft/yii2-debug Сложности: найти время Комментарии: Логи хранятся в папке runtime/debug, добавил в эту папку .gitignore, чтобы в гите оставалась эта папка и была пустой. Отличный урок, идём дальше. |
|||||
12 | User - Помещение регистратуры |
|
|||
На этом уроке мы займёмся причёсыванием нашего проекта. Создадим необходимые тесты для обоснования наших действий. Для начала вынесем функции join/login в отдельный контроллер. Так же перенесём сопутствующие файлы видов в одноимённую папку. Отчёт отправил: 10558. Иван Воронин Выполнено за 30 мин. [Показать отчёт] Научился: Закрепил пройденное Сложности: найти время Комментарии: Перенос файлов лучше делать через git, нежели вручную, это конечно не критично пока для мелкие файлики, но при ручном переносе, гит не понимает, он думает, что файл удалили и где-то добавили новый, а при команде git mv он просто переписывает у себя ссылки на файлы, так же они и в реале переносятся куда надо, это очень экономит трафик, если работать с команде и с внешним сервером. Особенно когда переносят папку с кучей файлов, которая весит не пару килобайт. |
|||||
13 | Panel - Красивые анкеты |
|
|||
На этом уроке мы займёмся оформлением страничек регистрации и авторизации при помощи набора инструментов bootstrap. Для этого мы доработаем наши представления join/login.php Отчёт отправил: 10558. Иван Воронин Выполнено за 15 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Коротко и ясно, идём дальше. |
|||||
14 | Model - Модели на подиуме |
|
|||
На этом уроке мы поговорим о моделях, представлениях и связях через контроллер. Для этого мы рассмотрим схему, на основе которой будем писать код в последующих уроках. Отчёт отправил: 10558. Иван Воронин Выполнено за 15 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Коротко и ясно, идём дальше. |
|||||
15 | Tests - Обоснование необходимости |
|
|||
На этом уроке мы займёмся обоснованием дальнеших действий через создание тестов. По аналогии напоминает написание ТЗ для программистов. Далее реализуем тесты поведения пользователей на сайте. Отчёт отправил: 10558. Иван Воронин Выполнено за 20 мин. [Показать отчёт] Научился: vendor\bin\codecept g:stepobject acceptance TestUserJoin Сложности: найти время Комментарии: Отличный урок, режим создания тестов g:stepobject очень порадовал, идём дальше. |
|||||
16 | Steps - Пошаговая инструкция |
|
|||
На этом уроке мы реализуем сгенерированные на прошлом уроке функции для корректной работы созданных, так же на прошлом уроке, тестов. Отчёт отправил: 10558. Иван Воронин Выполнено за 33 мин. [Показать отчёт] Научился: Закрепил создание тестов Сложности: найти время Комментарии: Стараюсь все тексты, что видит пользователь писать сразу на русском, кстати, решил проблему с кириллицей в консоли OpenServer, варианта два, можно в реестре прописать, чтобы автоматом это было, но это не удобно, по личному опыту знаю, а можно вручную прописать в консоли: chcp 65001 и вуаля (при перезапуске консоли кодировка сбрасывается на стандартную), теперь в консоли корректно видно UTF-8 кодировку и не только русские символы =) |
|||||
17 | Console - Есть ли жизнь в Консоли? |
|
|||
На этом уроке мы создадим консольное приложение на базе Yii и почитаем описание команд. Подключим vendor\autoload.php для корректной работы php yii.php help migrate. Отчёт отправил: 10558. Иван Воронин Выполнено за 21 мин. [Показать отчёт] Научился: созданию yii\console\Application Сложности: найти время Комментарии: Отличный урок, всё коротко и ясно. Создали подобие админки для изысканных телодвижений =) |
|||||
18 | Migration - Архитектура таблицы |
|
|||
На этом уроке мы создадим первую миграцию, опишем в ней структуру таблицы user. Миграции помогают следить за актуальностью схемы базы данных. Отчёт отправил: 10558. Иван Воронин Выполнено за 17 мин. [Показать отчёт] Научился: Созданию миграций Сложности: найти время Комментарии: Очень удобный инструмент, отлично придумано, идём дальше. |
|||||
19 | DBase - Подключение к Матрице |
2 теста |
|||
На этом уроке мы создадим базу данных в MySQL. После чего создадим конфигурационный файл подключения к БД. Далее запустим миграцию в нашем консольном приложении, для автоматической генерации актуальной структуры таблиц. Отчёт отправил: 10558. Иван Воронин Выполнено за 25 мин. [Показать отчёт] Научился: php yii.php migrate/up/down Сложности: найти время Комментарии: Добавил поддержку кастомного порта для подключения к БД. Отличный урок, всё коротко и ясно, идём дальше. |
|||||
20 | UserRecord - Очень активная модель |
|
|||
На этом уроке мы создадим модель связи с таблицей пользователей. Добавим в таблицу нашего первого пользователя. После чего перейдём на страничку регистрации и проверим добавился ли пользователь в БД. Так же поизучаем дебаг панель, изучим что происходит при работе с БД. Отчёт отправил: 10558. Иван Воронин Выполнено за 22 мин. [Показать отчёт] Научился: Использованию ActiveRecord в Yii Сложности: найти время Комментарии: Отличный урок, как всегда, всё коротко и ясно, Активная Запись очень хорошо смотрится. Идём дальше. з.ы. заметил, что у вас сохранило пароль до первого пробела, т.е. умная система, мало того что сплитит по пробелам, используя нулевой элемент массива после этого, но уверен. ещё и тримит это дело, чтобы не сохранялся мусор, как раз то что надо для использования кэшей, там нет пробелов =) |
|||||
21 | Faker - Тысяча фантазёров! |
1 тест |
|||
На этом уроке мы добавим библиотеку Faker для генерации случайных данных при создании случайных пользователей. Для этого мы вначале установим необходимую библиотеку. После чего используем её в наших тестах. Отчёт отправил: 10558. Иван Воронин Выполнено за 18 мин. [Показать отчёт] Научился: Работе с библиотекой Faker Сложности: найти время Комментарии: Отличная библиотека, ещё огромная экономия в копилку фреймворка. |
|||||
22 | UserIdentity - Посторонним В |
|
|||
На этом уроке мы переходим к аутентификации пользователей на нашем сайте. Для этого мы воспользуемся встроенным в Yii интерфейсом IdentityInterface. Немного поэкспериментируем с авторизацией пользователей. Отчёт отправил: 10558. Иван Воронин Выполнено за 20 мин. [Показать отчёт] Научился: использованию IdentityInterface Сложности: найти время Комментарии: Ещё одна отличная штука, которая очень экономит время, всё коротко и ясно. идём дальше. |
|||||
23 | Logout - Выход из лабиринта |
|
|||
На этом уроке мы реализуем возможность выхода с сайта. Для этого нам понадобиться доработать представление меню, чтобы оно отличалось при авторизованном/неавторизованном пользователе. Так же реализуем метод выхода пользователя с сайта (Logout). Отчёт отправил: 10558. Иван Воронин Выполнено за 15 мин. [Показать отчёт] Научился: Закрепил пройденное Сложности: найти время Комментарии: Отличный урок, коротко и ясно. |
|||||
24 | UserJoinForm - Модель для формы |
|
|||
На этом уроке мы создадим модель для формы регистрации пользователя. После чего мы добавим её использование в нашем представлении join.php Отчёт отправил: 10558. Иван Воронин Выполнено за 21 мин. [Показать отчёт] Научился: Генерации формы средствами Yii, compact() Сложности: найти время Комментарии: Решил проверить то, что обсуждали на вебинаре по поводу строк: use yii\widgets\ActiveForm; use yii\helpers\Html; Максим Базуев предлагал использовать вариант: use yii\bootstrap\ActiveForm; use yii\bootstrap\Html; решил я проверить разницу, но как я говорил на вебинаре, ссылая на инструкцию к Yii, что сейчас, вижу генерацию идентичных страниц как по количеству строк, так и по содержимому вначале и конце, все 684 строчки сверять не стал, хотя мог это сделать быстро, но тут явно имеет место тот факт, что написано в инструкции к Yii, это просто алиасы, можно использовать, что так, что так, разницы нет, просто суть в том, что когда bootstrap не подключён, то и алиаса не будет, а первый вариант это базовые алиасы, которые всегда актуальны. Поэтому и использовали именно первый вариант, а там уже каждый выбирате то, что ему больше нравится. =) |
|||||
25 | Rules - Валидация без правил |
1 тест |
|||
На этом уроке мы добавим валидацию полей при регистрации пользователя. Также для полей добавим индивидуальные правила. Отчёт отправил: 10558. Иван Воронин Выполнено за 23 мин. [Показать отчёт] Научился: правила правил =) Сложности: найти время Комментарии: Есть короткая запись требуемых полей, см. скриншот. Отличный урок, на протяжении всего курса уже столько фишек, которые экономят время, что чем дальше изучаешь Yii, тем больше понимаешь, что теперь писать без использования его будет очень тяжко =) Ждём продолжения банкета. |
|||||
26 | JoinPost - Вторая сторона модели |
|
|||
На этом уроке мы реализуем вспомогательную функцию, куда перенесём обработку фазы POST запроса нашей формы регистрации пользователей. Так же добавим генерацию начальных данных для первой фазы регистрации пользователей. Отчёт отправил: 10558. Иван Воронин Выполнено за 29 мин. [Показать отчёт] Научился: Закрепил пройденное Сложности: найти время Комментарии: Всегда выделял обработку второй фазы по аналогии как в этом уроке, но для отображения выполнения операции, что вышло, что нет, если было несколько действий, плюс кнопки управления, так же добавлял таймер от 2 до 4 сек с редиректом, если было актуально. Отличный урок, идём дальше. |
|||||
27 | IfEmailUsed - Почта закрыта |
|
|||
На этом уроке мы добавим проверку существования email в БД перед тем как зарегистрировать пользователя. Проведём эксперименты и отрефакторим нашу проверку. Отчёт отправил: 10558. Иван Воронин Выполнено за 30 мин. [Показать отчёт] Научился: static::find()->where(['email' => $email])->count(); Сложности: найти время Комментарии: Отличная реализация задачи, статичные функции Активной Записи меня очень порадовали, компактно и красиво. |
|||||
28 | HasErrors - Где водятся волшебники? |
|
|||
На этом уроке мы реализуем дополнительную проверку, которая будет генерировать ошибку. После чего добавим проверку наличия ошибок перед тем как проверять на валидность email. Поэкспериментируем с последовательностью самих проверок. Отчёт отправил: 10558. Иван Воронин Выполнено за 25 мин. [Показать отчёт] Научился: Закрепил пройденное Сложности: найти время Комментарии: Очень наглядный урок, думаю, есть смысл подобных проверок если группировать ошибки, к примеру, несколько видов ошибок одного и того же поля, нет смысла выводить их все сразу, это будет очень громоздко, а вот по одному, норм. |
|||||
29 | Save - Запись в книгу |
|
|||
На этом уроке мы реализуем добавление данных пользователя в БД, после успешной проверки. Так же добавим редирект на страничку авторизации после успешной регистрации пользователя. Отчёт отправил: 10558. Иван Воронин Выполнено за 22 мин. [Показать отчёт] Научился: Закрепил пройденное Сложности: найти время Комментарии: Коротко и ясно, идём дальше. |
|||||
30 | UserLoginForm - Модель на входе |
|
|||
На этом уроке мы реализуем форму авторизации пользователей. Создадим модель UserLoginForm и добавим правила заполнения полей. Отчёт отправил: 10558. Иван Воронин Выполнено за 32 мин. [Показать отчёт] Научился: Изменению меток полей ввода. Сложности: найти время Комментарии: Реализовал настройку метод полей ввода двумя способами. см. скриншоты. Так же добавил проверку на лимит длинны пароля как и при регистрации, как говорится, правила везде должны быть одинаковыми (в будущем надо будет вынести эти параметры в глобальные настройки сайта). Как всегда коротко и ясно, идём дальше. |
|||||
31 | IfEmailNotFound - На деревню дедушке |
|
|||
На этом уроке мы реализуем проверку почтового ящика при авторизации пользователя, а зарегистрирован ли он. Так же настроим контроллер для корректной работы проверки. Отчёт отправил: 10558. Иван Воронин Выполнено за 40 мин. [Показать отчёт] Научился: валидации мыла в Yii Сложности: найти время Комментарии: Решил добавить приватную переменную для хранения записи пользователя, каждый раз при проверке мыла туда записываются данные, если мыло найдено в БД, то эти же данные, по сути закэшированные, используются и при авторизации на сайте. Чтобы не делать лишнюю транзакцию в БД. см. скриншот. Отличный урок, не мало кода написали, но очень полезного =) |
|||||
32 | IfPasswordWrong - Пароль? Пароль! Проходи. |
|
|||
На этом уроке мы добавим ещё одну валидацию при авторизации пользователя, а именно вводимый им пароль. Посмотрим логи запросов в БД и запустим тестирование. Отчёт отправил: 10558. Иван Воронин Выполнено за 19 мин. [Показать отчёт] Научился: Закрепил пройденное Сложности: найти время Комментарии: так же использовал кэш данных пользователя, чтобы не было лишних транзакций в БД. см. скриншот. Отличный урок, интересно будет посмотреть на рефакторинг в след. уроке. |
|||||
33 | Refactoring - Нет дубликатам! |
|
|||
На этом уроке мы займёмся рефакторингом дублирующего кода, выполняющего одно и тоже на протяжении выполнения одной задачи. Отчёт отправил: 10558. Иван Воронин Выполнено за 18 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Так как именно так и реализовал сразу, в процессе реализации данных функций, то на этом уроке лишь добавил проверку на null везде, где это может быть полезно, даже добавил доп. вывод ошибки авторизации, если ну совсем какая-то аномалия произошла, малоли =) |
|||||
34 | Test - Запуск функциональных тестов |
|
|||
На этом уроке мы создадим функциональный тест. Но для корректной его работы, нам понадобиться провести несколько очень важных манипуляций. Отчёт отправил: 10558. Иван Воронин Выполнено за 24 мин. [Показать отчёт] Научился: созданию функциональный тестов с использованием фреймворка Yii2 Сложности: найти время Комментарии: Отличный урок, функциональный тест структурой очень напомнил мне junit тест на Java =) |
|||||
35 | PasswordIsHashed - Покажите-ка ваш хэш |
|
|||
На этом уроке мы реализуем тестирование на корректность хешированных паролей перед тем как они сохраняются в БД. Для начала нам понадобиться создать дополнительную функцию установки пароля в UserRecord(). После чего мы приступим к созданию тестов. Отчёт отправил: 10558. Иван Воронин Выполнено за 33 мин. [Показать отчёт] Научился: Закрепил создание функциональных тестов. Сложности: найти время Комментарии: Отличный урок, хорошая демонстрация работы функциональных тестов. Реализовал обе функции. |
|||||
36 | Security - Кручу-верчу-захэшировать хочу! |
|
|||
На этом уроке мы реализуем хеширование паролей перед тем как их сохранять в базу данных. Для начала нужно очистить все аккаунты пользователей, так как они содержат пароли в явном виде. Отчёт отправил: 10558. Иван Воронин Выполнено за 25 мин. [Показать отчёт] Научился: Хэшированию паролей средствами Yii Сложности: найти время Комментарии: Коротко и ясно, даже возник вопрос: "и это всё???" была минутная пауза =) |
|||||
37 | Hash - Как правильно солить пароли |
|
|||
На этом уроке мы поговорим о вариантах хеширования паролей пользователей для дополнительной безопасности. Посмотрим, сколько времени занимает хеширование пароля, воспользовавшись встроенной системой профилирования. Отчёт отправил: 10558. Иван Воронин Выполнено за 41 мин. [Показать отчёт] Научился: Профилированию встроенными средствами Yii Сложности: найти время Комментарии: Отличный урок, отличная демонстрация трат времени на хеширование в зависимости от увеличения сложности. з.ы. после использования профилирования, в папке runtime появились новые папки HTML и URI, в которых генерируются логи профилирования, они в нашем git-репозитории точно не нужны, поэтому лучше создать аналогичные файлы .gitignore как в папке runtime\debug см. второй скриншот. |
|||||
38 | Remember me - Печенька на память |
|
|||
На этом уроке мы поговорим о галочке «Запомнить меня» для авторизации на месяц — чтобы сайт не просил повторно вводить логин/пароль даже после закрытия/открытия браузера. Отчёт отправил: 10558. Иван Воронин Выполнено за 27 мин. [Показать отчёт] Научился: Использованию автологина средствами Yii Сложности: найти время Комментарии: Добавил attributeLabels для remember, чтобы отображалось на русском. Отличный урок, как всегда коротко и ясно. Да, использовать почтовый ящик явно не самый лучший способ для автовхода на сайт через куки. |
|||||
39 | Authokey - Ключи в сейфе |
|
|||
На этом уроке мы реализуем более безопасный способ автоматической авторизации на сайте. Для этого мы создадим отдельное поле 'authokey', в нашей БД, для автологина. Отчёт отправил: 10558. Иван Воронин Выполнено за 22 мин. [Показать отчёт] Научился: генерации и использованию authkey средствами Yii Сложности: найти время Комментарии: Как всегда отличный урок, как и все уроки ранее, сам по себе курс ценен тем, что каждую строчку проработала и написали лично сами, это очень хорошо помогает в понимании происходящего, если бы заранее сгененировали уже готовый набор того, что реализовали за весь этот курс, то понимание было бы намного сложнее, особенно если человек не разбирается в php и сопутствующих технологиях, которые были затронуты. |
|||||
40 | REFRESH - 40 МГНОВЕНИЙ ОПЫТА |
|
|||
На этом финальном уроке тебе предстоит повторить весь курс ещё раз. Да, ты не ослышался - выполнить все шаги по созданию этого проекта. Чтобы было удобнее - скачай план уроков всего курса. Уверен, ты сможешь всё сделать самостоятельно, причём, значительно быстрее. Лучше всего это сделать на другом компьютере. Отчёт отправил: 10558. Иван Воронин Выполнено за 4 час. 02 мин. [Показать отчёт] Научился: Использовать встроенную локализацию, поддержке нестандартных портов, закрепил пройденное. Сложности: найти время Комментарии: Суммарно потратилось 4 часа 2 минуты и 18 секунд. Во время повторного выполнения заданий почерпнул много новых фишек Yii. Такие как настройка языка по-умолчанию для всего сайта. Оказывается их там очень много. Так же для повторного прохождения специально запустил OpenServer на другой ПК, так как порт 80 был занят, запустил на 81 порту, столкнулся с проблемой Yii, автоматом при редиректе в корень сайта, удалялся порт и пытался открыть сайт через 80, что естественно приводило к ошибке. Изучим документацию Yii и форумы ничего толкового не нашёл, поэтому решил использовать давно проверенный костыль и он сработал. Так же использовал относительные пути при редиректе внутри одного контроллера. Добавил пометки, что при переносе в продакшн, где порт будет 80, можно вернуть классику. Ощущения после повторения отличные, решил так же проверить проблему переименования папки, запустил установку без global, но всё равно она была, так что теория на одном из форумов Yii не подтвердилась. По поводу быстрее, можно не использовать тесты, пока не появится острая необходимость, либо как говорил Игромистр, поручить писать тесты другому по команде, чтобы не отвлекаться. Сложных уроков не возникало, всё просто и понятно, видимо опыт разработки на php даёт свои плоды =) Но на 23 уроке пришлось поэкспериментировать в итоге нашёл как, добавив всего одну строчку в конфиг, настраивать язык сайта по-умолчанию. Так же на уроке 25 столкнулся с проблемой отличного порта от 80. тоже спустя некоторое время проблему решил. Спасибо за отличный курс, замечательный фреймворк, очень удобный, помогает быстро разрабатывать сайты. |
|||||
Итого: 40 видеоуроков |
7 час. 42 мин. 9 тестов |
5 чел. | |||
Финалисты: Иван Воронин, Tekashnik, Семен, Александр, Tom . |