Обучение C#

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.
Open shop Доска объявлений

Доска объявлений

Создание Доски объявлений с использованием фреймворка YII2.

Автор: Жданов В.В.

Данный курс - практикум по созданию сайта с использованием фреймворка YII2.
Цель: создание небольшого сайта с нуля до "коробочного" варианта, готового к размещению на хостинге.
Теории здесь не много, больше практической работы по принципу: "произвел действие - получил результат".
Также по максимуму используем функционал фреймворка YII2.

Программируем - и кайфуем!



Список уроков | фото | видео

# Название видеоурока Видео / Тесты Решило Рейтинг Доступ
1 FREE О проекте и про инструменты 00:08:31
26 чел. ★ 4.8 Done
  На этом уроке мы рассмотрим тематику разработки и настроим инструменты


Отчёт отправил: 8275. Tekashnik Выполнено за 3 час. 57 мин. [Показать отчёт]
Научился: Установил IDE и Open Server 
2 FREE Создание проекта YII2 00:13:49
1 тест
22 чел. ★ 4.8 Done
  На этом уроке мы создадим проект нового сайта, установим YII2 и запустим новый сайт на нашем локальном домене


Отчёт отправил: 8275. Tekashnik Выполнено за 26 мин. [Показать отчёт]
Научился: Установили YII2))) полёт нормальный) 
3 FREE Комфортная конфигурация 00:08:16
2 теста
21 чел. ★ 4.8 Done
  На этом уроке мы настроим удобные для человека ссылки и поменяем название сайта при помощи настроек config/web.php

Отчёт отправил: 8275. Tekashnik Выполнено за 16 мин. [Показать отчёт]
Научился: Всё по красоте)) ЧПУ рулят) 
4 FREE Схема базы данных 00:14:25
21 чел. ★ 4.8 Done
  На этом уроке мы создадим схему базы данных для нашего проекта
Отчёт отправил: 8275. Tekashnik Выполнено за 14 мин. [Показать отчёт]
Научился: Разработка БД прошла успешно) 
5 FREE Подключение к базе данных пользователя и миграция пользователей 00:13:36
1 тест
21 чел. ★ 4.8 Done
  На этом уроке мы создадим базу данных, подключим ее к нашему проекту и создадим таблицу пользователей
при помощи механизма миграций
Отчёт отправил: 8275. Tekashnik Выполнено за 14 мин. [Показать отчёт]
Научился: Научились создавать миграцию. И с помощью неё создавать таблицу. Всё как обычно по красоте) 
6 FREE Аутентификация - захешированный пользователь из БД 00:16:58
1 тест
20 чел. ★ 4.8 Done
  На этом уроке мы подкорректируем модель User  и реализуем аутентификацию на сайте через базу данных
Отчёт отправил: 8275. Tekashnik Выполнено за 19 мин. [Показать отчёт]
Научился: Yii нормально так постарался для генерации кода)) 
7 FREE Информация о пользователе 00:13:28
19 чел. ★ 4.8 Done
  На этом уроке создадим таблицу и модель Информация о пользователе
Отчёт отправил: 8275. Tekashnik Выполнено за 26 мин. [Показать отчёт]
Научился: Снова миграции и опять и опять))) 
8 FREE MVC - немного теории 00:12:09
1 тест
19 чел. ★ 4.8 Done
  На этом уроке мы рассмотрим теоретические основы работы MVC и создадим новый контроллер в нашем проекте
Отчёт отправил: 8275. Tekashnik Выполнено за 32 мин. [Показать отчёт]
Научился: Создавать контроллер и вьюшку)) 
9 MVC - информация о пользователе 00:09:33
18 чел. ★ 5 Done
  На этом уроке мы получим данные о пользователе из базы в представление
Отчёт отправил: 8275. Tekashnik Выполнено за 30 мин. [Показать отчёт]
Научился: Выдёргивать информацию из БД)) 
10 Пользователь - кто зарегистрирован сейчас? 00:09:22
1 тест
18 чел. ★ 4.9 Done
  На этом уроке мы получим информацию о текущем зарегистрированном пользователе, а также сделаем рефакторинг кода

Отчёт отправил: 8275. Tekashnik Выполнено за 29 мин. [Показать отчёт]
Научился: Переносить методы из контроллера в модель) 
11 Новый пользователь - заготовка и меню 00:09:17
18 чел. ★ 5 Done
  На этом уроке мы создадим действие и представление для добавления пользователя,
а также добавим пункт меню "Регистрация"
Отчёт отправил: 8275. Tekashnik Выполнено за 39 мин. [Показать отчёт]
Научился: Создавать новые страницы и прикручивать их к пунктам меню в хедере)) 
12 Новый пользователь - модель для формы 00:15:43
1 тест
18 чел. ★ 5 Done
  На этом уроке мы создадим модель параметров формы добавления пользователя
Отчёт отправил: 8275. Tekashnik Выполнено за 1 час. 15 мин. [Показать отчёт]
Научился: Состряпали модель для добавления Юзьверя 
13 Новый пользователь - дизайн формы начало 00:16:37
18 чел. ★ 5 Done
  На этом уроке мы зададим поля формы добавления пользователя
Отчёт отправил: 8275. Tekashnik Выполнено за 2 час. 46 мин. [Показать отчёт]
Научился: Создали форму для ввода нового пользователя, ещё кнопочку конфирм и прикрутить к бд)) 
14 Новый пользователь - дизайн формы: поля и колонки 00:09:17
1 тест
18 чел. ★ 5 Done
  На этом уроке мы добавим все поля формы, кнопку сохранения, а также разместим поля в две колонки


Отчёт отправил: 8275. Tekashnik Выполнено за 3 час. 21 мин. [Показать отчёт]
Научился: Сделали форму регистрации нашего сайта) 
15 Новый пользователь - сохранение нового пользователя 00:20:06
1 тест
18 чел. ★ 5 Done
  На этом уроке мы напишем алгоритм сохранения записи о пользователе и информации о нем
Отчёт отправил: 8275. Tekashnik Выполнено за 2 час. 51 мин. [Показать отчёт]
Научился: Много раз отвлекался, но ни одной ошибки не сделал, это просто удивительно))) 
16 Красивая аутентификация на сайте 00:07:37
18 чел. ★ 5 Done
  На этом уроке мы поменяем дизайн формы входа на сайт
Отчёт отправил: 8275. Tekashnik Выполнено за 8 час. 58 мин. [Показать отчёт]
Научился: отрусифицировали форму 
17 Что доступно Юпитеру? 00:10:21
1 тест
18 чел. ★ 5 Done
  На этом занятии мы научимся управлять доступом к пунктам главного меню
Отчёт отправил: 8275. Tekashnik Выполнено за 13 мин. [Показать отчёт]
Научился: Научились показывать разное меню для авторизованного пользователя и гостя) 
18 Объявления - создание базы и модели 00:09:51
1 тест
18 чел. ★ 5 Done
  На этом уроке мы создадим таблицу bulletins при помощи миграций и сгенерируем для данной таблицы класс ActiveRecord
Отчёт отправил: 8275. Tekashnik Выполнено за 12 мин. [Показать отчёт]
Научился: Создали новую таблицу с помощью миграции и новую модель с помощью Yii генератора 
19 Объявления - контроллер, представление и много записей 00:13:46
1 тест
18 чел. ★ 5 Done
  На этом уроке мы создадим контроллер и представление для работы с объявлениями,
а также сделаем связь записей о пользователях и объявлениях типа "один-ко-многим"
Отчёт отправил: 8275. Tekashnik Выполнено за 24 мин. [Показать отчёт]
Научился: Сделали контроллер и вьюшку для объявлений))) 
20 Объявление - функциональный дизайн страницы 00:14:17
17 чел. ★ 5 Done
  На этом уроке мы сделаем дизайн страницы наших объявлений, который поможет нам работать с объявлениями в дальнейшем
Отчёт отправил: 8275. Tekashnik Выполнено за 19 мин. [Показать отчёт]
Научился: Облогородили страницу  Indех у объявлений.))) 
21 Объявление - ограничение доступа 00:09:25
17 чел. ★ 5 Done
  На этом уроке мы ограничим доступ неавторизированного пользователя к странице управления объявлениями, а также решим некоторые технические вопросы
Отчёт отправил: 8275. Tekashnik Выполнено за 17 мин. [Показать отчёт]
Научился: Как говорил классик: Ударим по бездорожью, разгильдяйству и бюрократизму Глиф-иконками)))) 
22 Объявление - поля для пользовательских форм 00:09:44
17 чел. ★ 5 Done
  На этом уроке мы создадим класс BulletinsForm и определим, какие поля будут использоваться при создании объявления

Отчёт отправил: 8275. Tekashnik Выполнено за 21 мин. [Показать отчёт]
Научился: Сделали модельку для наших Объявлений)) 
23 Объявление - форма добавления объявлений 00:17:03
1 тест
17 чел. ★ 5 Done
  На этом уроке мы создадим представление для добавления объявлений и действие контроллера, запускающего это представление

Отчёт отправил: 8275. Tekashnik Выполнено за 46 мин. [Показать отчёт]
Научился: Сделали форму как обычно на бутстрапе)) 
24 Объявление - сохранение в черновик 00:10:39
17 чел. ★ 5 Done
  На этом уроке мы реализуем механизм сохранения нового объявления в черновик
Отчёт отправил: 8275. Tekashnik Выполнено за 17 мин. [Показать отчёт]
Научился: Добавили объявление в базу данных. Зачем мы сделали экшен actionAddbulletin() а не просто actionAdd(). Ведь именно по кнопке "Добавить объявление" мы переходим по ссылке /bulletin/add, а не по ссылке /bulletin/addbulletin Мне вот не понятен этот момент.... 
25 Объявление - список 00:18:42
15 чел. ★ 5 Done
  На этом уроке мы реализуем вывод сохраненных в базе объявлений в список
Отчёт отправил: 8275. Tekashnik Выполнено за 56 мин. [Показать отчёт]
Научился: Сделали отображение объявлений из БД 
Сложности: Держать в голове, как всё работает))) 
26 Объявление - всё на публику 00:12:16
1 тест
15 чел. ★ 5 Done
  На этом уроке мы сделаем наши объявления опубликованными
Отчёт отправил: 8275. Tekashnik Выполнено за 42 мин. [Показать отчёт]
Научился: Сделали возможность публикации объявления) 
27 Объявление - публикация на главной странице 00:15:27
1 тест
15 чел. ★ 5 Done
  На этом уроке мы разместим наши опубликованные объявления на главной странице сайта
Отчёт отправил: 8275. Tekashnik Выполнено за 2 час. 46 мин. [Показать отчёт]
Научился: Сделали вывод блоков на главной странице с опубликованными объявлениями 
28 Объявление - скрыть нельзя удалить 00:12:40
14 чел. ★ 5 Done
  На этом уроке мы реализуем возможность помещать объявления в группу удаленных, восстанавливать их оттуда, а также отключать их просмотр

Отчёт отправил: 8275. Tekashnik Выполнено за 37 мин. [Показать отчёт]
Научился: Теперь мы можем гонять объявления с панели на панель путём смены их статусов))) 
29 Объявление - статусный рефакторинг 00:08:45
1 тест
14 чел. ★ 5 Done
  НА этом уроке мы сделаем рефакторинг методов работы со статусом объявлений
Отчёт отправил: 8275. Tekashnik Выполнено за 14 мин. [Показать отчёт]
Научился: Отрефакторили)) в лучших традициях  
30 Объявление - рефакторинг редактирования 00:12:58
14 чел. ★ 5 Done
  На этом уроке мы реализуем редактирование путем небольшого видоизменения функции добавления записи
Отчёт отправил: 8275. Tekashnik Выполнено за 26 мин. [Показать отчёт]
Научился: Всё редактируется)) 
31 Объявление: запрос - в функцию & кнопка для изображений 00:09:52
14 чел. ★ 5 Done
  На этом уроке мы сделаем рефакторинг метода index и добавим кнопки для перехода в режим работы с изображениями
Отчёт отправил: 8275. Tekashnik Выполнено за 31 мин. [Показать отчёт]
Научился: Я как то не смог без глиф-иконки)) И мне кажется, что всё таки добавлять фото наверное правильней сделать на странице редактирования)) Хотя можно и здесь)) 
32 Изображения - микс из миграций 00:12:35
14 чел. ★ 5 Done
  На этом уроке мы через механизм миграций создадим таблицу photo и добавим поле для аватары в таблицу bulletins
Отчёт отправил: 8275. Tekashnik Выполнено за 23 мин. [Показать отчёт]
Научился: А куда у нас пользователь будет загружать фотки? к нам на сайт? 
33 Изображения - снова MVC 00:10:47
14 чел. ★ 5 Done
  На этом уроке мы создадим модель, контролер и представление для работы с фото
Отчёт отправил: 8275. Tekashnik Выполнено за 29 мин. [Показать отчёт]
Научился: Как водится навояли модельку и вьюшку. Валера, а курс уже окончен или он ещё дальше продолжится? 
34 Изображения - работа с моделью 00:17:16
14 чел. ★ 5 Done
  На этом уроке мы передадим модель нашего объявления в представление
Отчёт отправил: 8275. Tekashnik Выполнено за 31 мин. [Показать отчёт]
Научился: Вроде как и вьюшку сделали..... а ничего по большей части то не изменилось.. изображений то нет))) 
35 Работаем над ошибками - YII2 в помощь 00:13:03
14 чел. ★ 5 Done
  На этом уроке мы разберемся, как работать над ошибками и читать сигналы дебаггера YII2
Отчёт отправил: 8275. Tekashnik Выполнено за 17 мин. [Показать отчёт]
Научился: Отличный урок, недавно об этом писал. Но видимо мой опыт мне неплохо помогает использовать внутренний инструмент YII2)) 
36 Изображения - где живут картинки 00:15:34
1 тест
14 чел. ★ 5 Done
  На этом уроке мы создадим папку для изображений, разместим там изображение по умолчанию, а также создадим универсальные параметры пути и изображения по умолчанию
Отчёт отправил: 8275. Tekashnik Выполнено за 16 мин. [Показать отчёт]
Научился: Поработали с файлом конфиг. Передали данные из контроллера во вьюшку)) Полёт нормальный) 
37 Изображения - модель формы 00:11:10
14 чел. ★ 5 Done
  На этом уроке мы создадим модель PhotoForm для работы с изображениями

Отчёт отправил: 8275. Tekashnik Выполнено за 16 мин. [Показать отчёт]
Научился: Создали модельку ФотоФорм. 
38 Изображение - загрузочное представление 00:15:37
14 чел. ★ 5 Done
  На этом занятии мы создадим форму представления, через которое будет загружаться изображение

Отчёт отправил: 8275. Tekashnik Выполнено за 2 час. 37 мин. [Показать отчёт]
Научился: Почему то если выдираем неправильный файл, то выводится не наш Мессадж, а "Only files with these extensions are allowed: jpg, png." (подробности на скриншоте)  
Сложности: Сделал опечатку ещё на прошлом уроке в модельке в этом слове extensions, пришлось немного поискать)) Хотя когда стал последовательно читать об ошибке всё нашлось)) 
39 Изображение - загрузка файла на сайт 00:17:29
1 тест
14 чел. ★ 5 Done
  На этом уроке мы реализуем алгоритм загрузки изображений на сайт
Отчёт отправил: 8275. Tekashnik Выполнено за 1 час. 22 мин. [Показать отчёт]
Научился: Я очень удивился, когда первое сохранение файла у Валерия прошло удачно, ведь был использован параметр 'defaultImage'. У меня даже глаза округлились))) А чтобы после загрузки файла перекидывало на photo/index нужно чтобы функция upload() возвращала true при успешном завершении))) 
40 ПРОМЕЖУТОЧНЫЙ ВИДЕО ОБЗОР без видео
11 чел. ★ 5 Done
  Мы уже многое сделали на нашем видеокурсе, и автору очень важно
узнать Ваше мнение о данном курсе и получить обратную связь
в форме видео-презентации и ответов на вопросы.

Сделай видео-презентацию своего сайта.
Отчёт отправил: 8275. Tekashnik Выполнено за 2 мин. [Показать отчёт]
Научился: Делать видеообзор) В общем красноречивей скажет мой ролик. всем приятного просмотра. А Валере спасибо за курс, ждём продолжения. Курс очень клёвый, нужный, полезный и всякое такое) Всем добра! 
Сложности: Сделать видеообзор 
Видеообзор: _VswPdBsyl0
41 Изображение - сохранение пути в базу 00:14:17
11 чел. ★ 5 Done
  На этом уроке мы реализуем сохранение пути к файлу изображений в базу данных
Отчёт отправил: 8275. Tekashnik Выполнено за 32 мин. [Показать отчёт]
Научился: Добавили в таблицу ссылки на фоточки и теперь... О Боже!!! Они отображаются))) 
42 Изображение - управление картинками 00:08:36
11 чел. ★ 5 Done
  На этом уроке мы займемся дизайном - создадим выпадающее меню управления изображением
Отчёт отправил: 8275. Tekashnik Выполнено за 12 мин. [Показать отчёт]
Научился: Сделали кнопочку под фоточкой с менюшкой)) Я уже не первый раз говорю, но Валера почему ты не пользуешься emmet? 
43 Изображение - JS - немного теории и пижонства 00:16:29
1 тест
11 чел. ★ 4.7 Done
  На этом уроке мы рассмотрим работу JS на yii2
Отчёт отправил: 8275. Tekashnik Выполнено за 1 час. 9 мин. [Показать отчёт]
Научился: Валера, глянь на скриншот.... почему то не работает.... я уже весь синтаксис и вдоль и поперёк просмотрел... что ему не нравится?? 
Сложности: Почему то не работает. 
44 Изображение - JS - глобализация 00:26:49
11 чел. ★ 5 Done
  На этом уроке мы перенесем все скрипты JS в отдельный файл, а также реализуем открытие и скрытие элементов ввода информации

Отчёт отправил: 8275. Tekashnik Выполнено за 1 день 1 час. 35 мин. [Показать отчёт]
Научился: Длинный урок, можно запутаться)) Но вроде всё вышло...))) 
45 Изображение - JS - сохранение информации в базу 00:22:42
1 тест
11 чел. ★ 5 Done
  На этом уроке мы научим нашу систему сохранять информацию об изображениях в базу
с использованием технологии ajax


Отчёт отправил: 8275. Tekashnik Выполнено за 19 час. 15 мин. [Показать отчёт]
Научился: Немного познакомились с Ajax 
Сложности: Продолжить после двухнедельного перерыва 
46 Изображение - JS - извлечение методом ajax 00:09:51
11 чел. ★ 5 Done
  На этом уроке мы научим ajax получать информацию об изображениях из базы
Отчёт отправил: 8275. Tekashnik Выполнено за 57 мин. [Показать отчёт]
Научился: Научились получать с помощью Ajax данные. 
47 Изображение - аватарка - вывод на главной странице 00:15:26
11 чел. ★ 5 Done
  На этом уроке мы реализуем вывод главных изображений каждого объявления
(далее - аватарки) на главной странице
Отчёт отправил: 8275. Tekashnik Выполнено за 28 мин. [Показать отчёт]
Научился: Аватар уже работает))) 
48 Изображение - аватарка - работа над ошибками связей 00:09:33
11 чел. ★ 5 Done
  На данном уроке мы исправим ошибки вывода фотографий, очистим базу и заново загрузим в нашу базу
фотографии в одно из объявлений
Отчёт отправил: 8275. Tekashnik Выполнено за 34 мин. [Показать отчёт]
Научился: Сделали исправления, кстати я видел косяки, чуть раньше урока)) 
49 Изображение - аватарка - как стать главной 00:18:13
11 чел. ★ 5 Done
  На этом уроке мы создадим код, делающий любое фото главным
Отчёт отправил: 8275. Tekashnik Выполнено за 2 час. 5 мин. [Показать отчёт]
Научился: Уфф...))) Сделал маленькую опечатку и потом кое как её найдёшь внутри функции ajax. Но Интернет и чтение ошибок (которые ещё надо было придумать как вывести, делают своё дело)) 
Сложности: Найти ошибку))) 
50 Изображение - удаление - ни шагу без подтверждения! 00:09:13
11 чел. ★ 5 Done
  На этом уроке мы реализуем всплывающее окно подтверждения действия
и протестируем результаты выбора различных вариантов
Отчёт отправил: 8275. Tekashnik Выполнено за 35 мин. [Показать отчёт]
Научился: Начали делать обработчик кнопки "Удалить фото"))) 
51 Изображение - удаление - удаление файла и записи 00:15:49
11 чел. ★ 5 Done
  На этом уроке мы реализуем удаление файлов изображений и записей о них из базы данных
Отчёт отправил: 8275. Tekashnik Выполнено за 23 мин. [Показать отчёт]
Научился: Всё удаляется, только где мы релоад сделали, я что то не понял 
52 Главная страница - подробности - ссылки и заготовка представлени 00:09:05
11 чел. ★ 5 Done
  На этом уроке мы создадим ссылки для объявлений на главной странице и заготовку представления для подробного вывода
информации объявления
Отчёт отправил: 8275. Tekashnik Выполнено за 11 мин. [Показать отчёт]
Научился: Сделали новую вьюшку, для отображения информации. Всё идёт по плану) 
53 Главная страница - подробности - больше подробностей 00:11:37
11 чел. ★ 5 Done
  На этом уроке мы выведем максимум информации на страницу подробностей объявления
Отчёт отправил: 8275. Tekashnik Выполнено за 13 мин. [Показать отчёт]
Научился: Немного подоформили страничку с  информацией) 
54 Главная страница - подробности - расширяя информацию 00:15:15
1 тест
11 чел. ★ 5 Done
  На этом уроке мы внесем в наш код изменения, которые позволят сохранять объявления с большим количеством информации

Отчёт отправил: 8275. Tekashnik Выполнено за 28 мин. [Показать отчёт]
Научился: Всё сделал) Но у нас ещё кучи проверок не хватает, можно напороться например на исключение которое на первой картинке)) И если например попытаться добавить фотку не выбрав её, тоже выпадет исключение. Но это так мелочи жизни, небольшие наблюдения со стороны) 
55 Главная страница - оформление - дизайн объявления 00:10:02
11 чел. ★ 5 Done
  На этом уроке мы зададим стиль дизайна объявления
Отчёт отправил: 8275. Tekashnik Выполнено за 56 мин. [Показать отчёт]
Научился: Немного облагородили))) 
56 Главная страница - оформление - дизайн элементов базовой страницы 00:11:44
1 тест
11 чел. ★ 5 Done
  На этом уроке мы выведем информацию о себе в элементе footer и сделаем главное меню стильным и красивым
Отчёт отправил: 8275. Tekashnik Выполнено за 34 мин. [Показать отчёт]
Научился: Поигрались немного с цветами, непонятно , что Валерию не понравилось с чёрной схемой)) 
57 Главная страница - оформление - ловим цвет пикселя 00:06:00
11 чел. ★ 5 Done
  На этом уроке мы рассмотрим использование инструментов определения цвета пикселя (Пипетка)

Отчёт отправил: 8275. Tekashnik Выполнено за 11 мин. [Показать отчёт]
Научился: ПИПЕ́ТКА, пипетки, жен. (франц. pipett - трубочка) (спец.). Узкая стеклянная трубочка с резиновым наконечником для набирания, втягивания небольшого количества жидкости и обратного выпускания ее каплями. Пипетка для глазных капель. Пипетка для чернил (которая служит для того, чтобы наливать чернила в вечное перо). 
58 Главная страница - оформление - смотрим все изображения 00:15:27
11 чел. ★ 5 Done
  На этом уроке мы реализуем просмотр всех изображений объявления "не хуже, чем на Avito"
Отчёт отправил: 8275. Tekashnik Выполнено за 35 мин. [Показать отчёт]
Научился: Немного поджаваскриптили) ещё бы сделать чтобы плавнее картинка изменялась)) 
59 Главная страница - оформление - стильный логотип 00:09:56
11 чел. ★ 5 Done
  На этом уроке мы реализуем вывод логотипа в иконку проекта и в пункт меню перехода на главную страницу
Отчёт отправил: 8275. Tekashnik Выполнено за 44 мин. [Показать отчёт]
Научился: Немного поигрались с настройками логотипа)) Всё таки дизайнер из меня никакой.... 
60 Главная страница - оформление - оповещения через баннер 00:11:19
10 чел. ★ 5 Done
  На этом уроке мы создадим баннер для оповещений, новостей
Отчёт отправил: 8275. Tekashnik Выполнено за 1 час. 19 мин. [Показать отчёт]
Научился: Почему (см. скриншот) выбранный нами пункт "Мои объявления" остаются белёсыми??  
61 Разделы (темы) - немного теории 00:11:07
10 чел. ★ 5 Done
  На этом уроке мы рассмотрим вопрос тематик объявлений на нашем сайте, а также составим план (структуру) таблицы тем Themes и связующей таблицы ThemesBulletins
Отчёт отправил: 8275. Tekashnik Выполнено за 29 мин. [Показать отчёт]
Научился: Поразрабатывали таблицы... не очень люблю это, но без этого никуда... 
62 Разделы (темы) - миграции с внешними ключами 00:18:49
10 чел. ★ 5 Done
  На этом уроке мы создадим миграции таблиц themes и themesbulletins, сами эти таблицы и их модели ActiveRecord с внешними связями
Отчёт отправил: 8275. Tekashnik Выполнено за 31 мин. [Показать отчёт]
Научился: Поупражнялись в миграциях. Ещё бы хорошо попробовать пооткатывать миграции, если что то пошло не так. У меня вот например была опечатка и миграция прошла некорректно, но откатиться средствами Yii не вышло. Пришлось удалить таблицу, а затем снова сделать миграцию.. 
63 Обратная связь - мозговой штурм - внештатные ситуации 00:09:19
9 чел. ★ 5 Done
  В данном уроке попрошу Вас выполнить небольшую самостоятельную работу и дать обратную связь.

Отчёт отправил: 8275. Tekashnik Выполнено за 25 мин. [Показать отчёт]
Научился: При добавлений объявления и если внутри есть спецсимволы (\xF0\x9F\x87\xB9\xF0\x9F) то выпадает необрабатываемое исключение Если созать некорректную миграцию, то она и откатиться не сможет корректно. С точки зрения SQL-инъекций мне кажется что модель Yii уже наверное защищена.. ничего особенного вставить инъекцией мне вставить не удалось, может просто не умею) Если попытаться сохранить изображение, предварительно его не выбрав, то опять же получаетсяя необрабатываемое исключение. Когда мы просматриваем объявление и изменяем картинку в большом окне, то если фото на которое мы меняем залазит на текст, потому что js не обнавляет страницу, соответствено div'ы никак не двигаются. Думаю, что это же небольшая проблемка. Вообще вот мои изыскания, может не всё нашёл, но надо же и другим людям которые курс проходят, что то оставить))) если оно конечно осталось))) 
Сложности: Собраться с мыслями после перерыва 
64 Разделы (темы) - вывод тем в объявлении 00:16:29
9 чел. ★ 5 Done
  На этом уроке мы реализуем вывод тем на странице объявления
Отчёт отправил: 8275. Tekashnik Выполнено за 38 мин. [Показать отчёт]
Научился: Подзаполнили наши новые таблицы и вывели темы уже в объявлениях))  
65 Разделы (темы) - меню тематик 00:10:55
8 чел. ★ 5 Done
  На этом уроке мы реализуем вывод ссылок на темы на главной странице и подсчет объявлений в каждой теме
Отчёт отправил: 8275. Tekashnik Выполнено за 54 мин. [Показать отчёт]
Научился: Сделали вывод тем и количества объявлений в них с помощью badge. Только вот никак не могу понять почему всегда badge в одном цвете, другой никак не могу установить.... может Валерий знает? 
66 Разделы (темы) - тематические выборки 00:15:13
8 чел. ★ 5 Done
  На этом уроке мы реализуем выбор объявлений по темам и вывод их на основную страницу
Отчёт отправил: 8275. Tekashnik Выполнено за 43 мин. [Показать отчёт]
Научился: Апгрейдили ссылочки тем))  
67 Разделы (темы) - полезные переходы 00:11:48
7 чел. ★ 5 Open
  На этом уроке мы реализуем возвращение со страницы объявлений на предыдущую страницу, а также переходы по темам объявления по типу хештегов
68 Разделы (темы) - администрирование - теория и заготовки 00:09:03
7 чел. ★ 5 ^
  На этом уроке мы создадим контроллер для администрирования разделов (тем) и представление index
69 Разделы (темы) - администрирование - все темы в таблицу 00:10:55
7 чел. ★ 5 ^
  На этом уроке мы выведем существующие темы в таблицу и зададим им элементы управления
70 Разделы (темы) - администрирование - подтверждение удаления 00:15:58
7 чел. ★ 5 ^
  На этом уроке мы реализуем алгоритм подтверждения удаления и создадим соответствующее представление
71 Разделы (темы) - администрирование - удаление разделов и чистка связей 00:09:07
7 чел. ★ 5 ^
  На этом уроке мы окончательно удалим раздел, а перед этим удалим все его связи с объявлениями
72 Разделы (темы) - администрирование - Обычный ThemesForm 00:10:23
7 чел. ★ 5 ^
  На этом уроке мы создадим модель ThemesForm, заготовку действия Add в контроллере Themes и представление под него
73 Разделы (темы) - исправление подсчета и отображение текущей темы 00:08:28
7 чел. ★ 5 ^
  Hа этом уроке мы исправим ошибку подсчета, обнаруженную в процессе прохождения курса,
а также отобразим текущую тему, по которой выборка объявлений, в баннере

74 Разделы (темы) - администрирование - "темное" представление 00:11:49
7 чел. ★ 5 ^
  На этом уроке мы создадим поля для редактирования или добавления темы в представлении themes\add
75 Разделы (темы) - администрирование - волшебный выпадающий список 00:09:17
1 тест
7 чел. ★ 5 ^
  На этом уроке мы создадим выпадающий список выбора родительской темы
76 Разделы (темы) - администрирование - сохранение темы 00:19:30
7 чел. ★ 5 ^
  На этом уроке мы реализуем сохранение добавляемых и редактируемых тем
77 Разделы (темы) - администрирование - рефакторинг и валидация 00:07:02
7 чел. ★ 5 ^
  На этом уроке мы сделаем рефакторинг нашего представления add и валидацию данных формы ThemesForm
78 Связи объявлений и тем - заготовка 00:12:50
7 чел. ★ 5 ^
  На этом уроке мы создадим действие в контроллере BulletinsController и представление,
которые помогут нам работать со связями объявлений и тем
79 Связи объявлений и тем - добавление новой темы 00:22:38
7 чел. ★ 5 ^
  На этом уроке мы научим нашу систему добавлять новую тему в объявление (делать связь темы и объявления)
80 Связи объявлений и тем - темы, которых не было 00:11:33
1 тест
7 чел. ★ 5 ^
  На этом уроке мы научим нашу систему выводить в список добавляемых в объявление тем только те, которые не прикреплены к нашему объявлению
81 Связи объявлений и тем - темы, которых не будет 00:10:57
7 чел. ★ 5 ^
  На этом уроке мы научим нашу систему удалять из объявлений темы, к которым наше объявление привязывать не надо
82 Глобальный поиск - поле поиска в меню 00:17:09
7 чел. ★ 5 ^
  На этом уроке мы добавим поле поиска в навигационное меню сайта, а также решим вопрос с активными пунктами меню.
83 Глобальный поиск - ищем глобально 00:17:08
7 чел. ★ 5 ^
  На этом уроке мы создадим алгоритм поиска по вводимому в поле search контенту
84 Расширенный поиск - группировка пунктов главного меню 00:12:47
7 чел. ★ 5 ^
  На этом уроке мы сгруппируем пункты главного меню в подразделы,
и сделаем в нем ссылку на страницу расширенного поиска
85 Расширенный поиск - заготовки и план 00:10:03
7 чел. ★ 5 ^
  На этом уроке мы набросаем план будущей страницы расширенного поиска,
а также создадим действие контроллера и заготовку представления расширенного поиска
86 Расширенный поиск - стили и форма 00:10:11
7 чел. ★ 5 ^
  На этом уроке мы внесем исправления в стили субменю и сделаем модель формы расширенного поиска
87 Расширенный поиск - дизайн текстовых полей и кнопки 00:16:02
7 чел. ★ 5 ^
  На этом уроке мы прокачаем навыки дизайна текстовых полей, создания активной формы в представлении,
а также создания кнопки через хелперы yii2
88 Расширенный поиск - цена - выбор варианта 00:10:45
7 чел. ★ 5 ^
  На этом уроке мы создадим систему управления выбором варианта поиска по цене
89 Расширенный поиск - цена - невидимые поля 00:18:17
7 чел. ★ 5 ^
  На этом уроке мы создадим невидимые блоки с полями поиска цены, которые становятся видимыми при нажатии определенного пункта навигатора
90 Расширенный поиск - дата публикации - виджет извне 00:23:18
7 чел. ★ 5 ^
  На этом уроке мы установим в наш проект компонент jui от стороннего разработчика
и создадим календарики для выбора дат

91 Расширенный поиск - результаты выборки - частичное представление 00:17:21
7 чел. ★ 5 ^
  На этом уроке мы рассмотрим возможность использования частичного представления в yii2-проекте и выведем в частичное представление карточку объявления
92 Расширенный поиск - генератор поиска - возвращение к SQL-запросу 00:15:52
7 чел. ★ 5 ^
  На этом уроке мы создадим генератор отчета, используя работу ActiveRecord фреймворка yii2 c
sql-запросами, и включим в него поиск по текстовым полям формы расширенного поиска
93 Расширенный поиск - генератор поиска - ограничивающие даты 00:10:54
7 чел. ★ 5 ^
  На этом уроке мы добавим в генератор отчета расширенного поиска выборку по датам публикации
94 Расширенный поиск - генератор поиска - три вида цены и один POST 00:14:47
7 чел. ★ 5 ^
  На этом уроке мы реализуем различные варианты выборки объявлений по цене и добавим их в наш генератор расширенного поиска
95 Обратная связь - свой сайт объявлений без видео
7 чел. ★ 5 ^
  И снова обратная связь.Подумаем самостоятельно и ответим на вопросы:
96 Расширенный поиск - генератор поиска - показать, что нужно 00:20:55
7 чел. ★ 5 ^
  На этом уроке мы реализуем отображение той вкладки поиска по ценам,
по которой производился  поиск
97 Работа с документацией Yii2 00:04:42
7 чел. ★ 5 ^
  На этом уроке переходим на один из официальных сайтов по Yii2
и, пользуясь помощью документации, реализовываем одну из своих идей

98 Пользователи и роли - планирование ролевой модели 00:08:08
7 чел. ★ 5 ^
  На этом уроке мы составим ролевую модель пользователей нашего сайта
99 Пользователи и роли - фильтры контроля доступа ACF - теория и эксперименты 00:08:44
7 чел. ★ 5 ^
  На этом уроке мы рассмотрим принципы работы фильтров контроля доступа ACF
100 Пользователи и роли - фильтры контроля доступа ACF - фильтруем всё 00:10:27
7 чел. ★ 5 ^
  На этом уроке мы сами создадим метод behaviors() в BulletinsController и зададим нужные фильтры для действий контроллера
101 Пользователи и роли - роли через RBAC - теория, установка и миграции 00:11:16
7 чел. ★ 5 ^
  На этом уроке мы установим расширение RBAC, настроим подключение к RBAC и создадим
базы для авторизации при помощи механизма миграции
102 Пользователи и роли - роли через RBAC - тесты и практика 00:25:53
7 чел. ★ 5 ^
  На этом уроке мы создадим тестовые роли и разрешения, а также проверим работу контроллера
согласно разрешений
103 Пользователи и роли - роли через RBAC - вносим действия в план 00:09:04
7 чел. ★ 5 ^
  На этом уроке мы добавим действия к ролям в нашей актуальной ролевой модели
104 Пользователи и роли - роли через RBAC - реализация плана 00:30:34
6 чел. ★ 5 ^
  На этом уроке мы создадим актуальные роли и действия для пользователей нашего сайта
105 Пользователи и роли - ACF+RBAC - ограничим доступ к темам 00:16:01
4 чел. ★ 5 ^
  На этом уроке мы реализуем ролевую модель для контроллера тем
106 Пользователи и роли - управление ролями и привилегиями - контроллер и таблица ролей 00:16:57
3 чел. ★ 5 ^
  на этом уроке мы создадим контроллер и представление для управления ролями
107 Пользователи и роли - управление ролями и привилегиями - форма добавления роли 00:13:53
3 чел. ★ 5 ^
  На этом уроке мы создадим действие добавления роли и форму добавления роли

108 Пользователи и роли - управление ролями и привилегиями - сохранение и удаление роли 00:14:17
3 чел. ★ 5 ^
  На этом уроке мы реализуем сохранение роли, а также напишем алгоритм удаления роли
  Итого:   108 видеоуроков 23 час. 33 мин.
25 тестов
3 чел. ★ 4.99  
  Финалисты:   Жан,   Николай Денисов,   Tom .

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Записал видеообзор курса "Доска объявлений" как получилось судить вам, но не судите строго))
Трудности: скришот требует, а где я его возьму? я видео снимал, зачем тогда скрин? ну ладно выложу первый кадр



Научился: На этом курсе: 1 Я создал сайт 2 Сделал домен 3 Реализовал регистрацию пользователей 4 Добавлять объявления - которые могут добавлять только зарегистрированные пользователи один ко многим 5 Загружать фотографии - фотографии к объявлениям сохраняются на сайте в папке image Нравиться что Видеокурсы не больше чем 20мин, всё доступно и понятно рассказано и показано. Хочу научится делать правильные сайты модели MVC
Трудности: Получилось добавить звук к видео средствами youtube.com Надеюсь вы оцените мои труды. Что касается микрофона я купил микрофон и даже конденсаторный переходник, но это мне не помогло. Нужно покупать что то дорогое, а денег как известно нету.