Обучение C#

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

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

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

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

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

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

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



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

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

 
2146. Иван
30514. Tom
30514. Tom
20084. София
2 FREE Создание проекта YII2 00:13:49
1 тест
22 чел. ★ 4.8 Free
  На этом уроке мы создадим проект нового сайта, установим YII2 и запустим новый сайт на нашем локальном домене

 
18842. Степан
11019. Trira
11019. Trira
1232. Фомичева Наталья
3 FREE Комфортная конфигурация 00:08:16
2 теста
21 чел. ★ 4.8 Free
  На этом уроке мы настроим удобные для человека ссылки и поменяем название сайта при помощи настроек config/web.php
 
24765. Anatoli
6203. Николай Миролюбов
11582. Родион
11019. Trira
4 FREE Схема базы данных 00:14:25
21 чел. ★ 4.8 Free
  На этом уроке мы создадим схему базы данных для нашего проекта
 
18842. Степан
13417. Chip
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
5 FREE Подключение к базе данных пользователя и миграция пользователей 00:13:36
1 тест
21 чел. ★ 4.8 Free
  На этом уроке мы создадим базу данных, подключим ее к нашему проекту и создадим таблицу пользователей
при помощи механизма миграций
 
26052. Артём
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
689. Igorenzia
6 FREE Аутентификация - захешированный пользователь из БД 00:16:58
1 тест
20 чел. ★ 4.8 Free
  На этом уроке мы подкорректируем модель User  и реализуем аутентификацию на сайте через базу данных
 
25475. Жан
30514. Tom
30514. Tom
24765. Anatoli
7 FREE Информация о пользователе 00:13:28
19 чел. ★ 4.8 Free
  На этом уроке создадим таблицу и модель Информация о пользователе
 
8275. Tekashnik
28410. Alim
28410. Alim
11589. Yefim
8 FREE MVC - немного теории 00:12:09
1 тест
19 чел. ★ 4.8 Free
  На этом уроке мы рассмотрим теоретические основы работы MVC и создадим новый контроллер в нашем проекте
 
25475. Жан
25475. Жан
30514. Tom
30514. Tom
9 MVC - информация о пользователе 00:09:33
18 чел. ★ 5 ^
  На этом уроке мы получим данные о пользователе из базы в представление
 
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
11589. Yefim
21714. grom518
10 Пользователь - кто зарегистрирован сейчас? 00:09:22
1 тест
18 чел. ★ 4.9 ^
  На этом уроке мы получим информацию о текущем зарегистрированном пользователе, а также сделаем рефакторинг кода
 
26052. Артём
26052. Артём
21753. Николай
11582. Родион
11 Новый пользователь - заготовка и меню 00:09:17
18 чел. ★ 5 ^
  На этом уроке мы создадим действие и представление для добавления пользователя,
а также добавим пункт меню "Регистрация"
 
11582. Родион
2146. Иван
28410. Alim
28410. Alim
12 Новый пользователь - модель для формы 00:15:43
1 тест
18 чел. ★ 5 ^
  На этом уроке мы создадим модель параметров формы добавления пользователя
 
18842. Степан
18842. Степан
21714. grom518
25475. Жан
13 Новый пользователь - дизайн формы начало 00:16:37
18 чел. ★ 5 ^
  На этом уроке мы зададим поля формы добавления пользователя
 
28410. Alim
28410. Alim
13417. Chip
13417. Chip
14 Новый пользователь - дизайн формы: поля и колонки 00:09:17
1 тест
18 чел. ★ 5 ^
  На этом уроке мы добавим все поля формы, кнопку сохранения, а также разместим поля в две колонки

 
13417. Chip
13417. Chip
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
15 Новый пользователь - сохранение нового пользователя 00:20:06
1 тест
18 чел. ★ 5 ^
  На этом уроке мы напишем алгоритм сохранения записи о пользователе и информации о нем
 
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
1232. Фомичева Наталья
8275. Tekashnik
16 Красивая аутентификация на сайте 00:07:37
18 чел. ★ 5 ^
  На этом уроке мы поменяем дизайн формы входа на сайт
 
24765. Anatoli
18842. Степан
21714. grom518
11589. Yefim
17 Что доступно Юпитеру? 00:10:21
1 тест
18 чел. ★ 5 ^
  На этом занятии мы научимся управлять доступом к пунктам главного меню
 
11582. Родион
11582. Родион
30514. Tom
30514. Tom
18 Объявления - создание базы и модели 00:09:51
1 тест
18 чел. ★ 5 ^
  На этом уроке мы создадим таблицу bulletins при помощи миграций и сгенерируем для данной таблицы класс ActiveRecord
 
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
18842. Степан
18842. Степан
19 Объявления - контроллер, представление и много записей 00:13:46
1 тест
18 чел. ★ 5 ^
  На этом уроке мы создадим контроллер и представление для работы с объявлениями,
а также сделаем связь записей о пользователях и объявлениях типа "один-ко-многим"
 
8275. Tekashnik
689. Igorenzia
25475. Жан
11589. Yefim
20 Объявление - функциональный дизайн страницы 00:14:17
17 чел. ★ 5 ^
  На этом уроке мы сделаем дизайн страницы наших объявлений, который поможет нам работать с объявлениями в дальнейшем
 
11582. Родион
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
11589. Yefim
21 Объявление - ограничение доступа 00:09:25
17 чел. ★ 5 ^
  На этом уроке мы ограничим доступ неавторизированного пользователя к странице управления объявлениями, а также решим некоторые технические вопросы
 
18842. Степан
18842. Степан
8275. Tekashnik
689. Igorenzia
22 Объявление - поля для пользовательских форм 00:09:44
17 чел. ★ 5 ^
  На этом уроке мы создадим класс BulletinsForm и определим, какие поля будут использоваться при создании объявления
 
28410. Alim
28410. Alim
21714. grom518
21753. Николай
23 Объявление - форма добавления объявлений 00:17:03
1 тест
17 чел. ★ 5 ^
  На этом уроке мы создадим представление для добавления объявлений и действие контроллера, запускающего это представление
 
21753. Николай
1232. Фомичева Наталья
2146. Иван
11589. Yefim
24 Объявление - сохранение в черновик 00:10:39
17 чел. ★ 5 ^
  На этом уроке мы реализуем механизм сохранения нового объявления в черновик
 
13417. Chip
13417. Chip
2146. Иван
9014. Николай Денисов
25 Объявление - список 00:18:42
15 чел. ★ 5 ^
  На этом уроке мы реализуем вывод сохраненных в базе объявлений в список
 
11589. Yefim
2146. Иван
18842. Степан
1232. Фомичева Наталья
26 Объявление - всё на публику 00:12:16
1 тест
15 чел. ★ 5 ^
  На этом уроке мы сделаем наши объявления опубликованными
 
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
11582. Родион
11582. Родион
27 Объявление - публикация на главной странице 00:15:27
1 тест
15 чел. ★ 5 ^
  На этом уроке мы разместим наши опубликованные объявления на главной странице сайта
 
21714. grom518
689. Igorenzia
1232. Фомичева Наталья
18842. Степан
28 Объявление - скрыть нельзя удалить 00:12:40
14 чел. ★ 5 ^
  На этом уроке мы реализуем возможность помещать объявления в группу удаленных, восстанавливать их оттуда, а также отключать их просмотр
 
1232. Фомичева Наталья
689. Igorenzia
2146. Иван
18842. Степан
29 Объявление - статусный рефакторинг 00:08:45
1 тест
14 чел. ★ 5 ^
  НА этом уроке мы сделаем рефакторинг методов работы со статусом объявлений
 
25475. Жан
2146. Иван
1232. Фомичева Наталья
689. Igorenzia
30 Объявление - рефакторинг редактирования 00:12:58
14 чел. ★ 5 ^
  На этом уроке мы реализуем редактирование путем небольшого видоизменения функции добавления записи
 
25475. Жан
18842. Степан
18842. Степан
11582. Родион
31 Объявление: запрос - в функцию & кнопка для изображений 00:09:52
14 чел. ★ 5 ^
  На этом уроке мы сделаем рефакторинг метода index и добавим кнопки для перехода в режим работы с изображениями
 
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
18842. Степан
18842. Степан
32 Изображения - микс из миграций 00:12:35
14 чел. ★ 5 ^
  На этом уроке мы через механизм миграций создадим таблицу photo и добавим поле для аватары в таблицу bulletins
 
689. Igorenzia
689. Igorenzia
2146. Иван
18842. Степан
33 Изображения - снова MVC 00:10:47
14 чел. ★ 5 ^
  На этом уроке мы создадим модель, контролер и представление для работы с фото
 
1232. Фомичева Наталья
9014. Николай Денисов
9014. Николай Денисов
689. Igorenzia
34 Изображения - работа с моделью 00:17:16
14 чел. ★ 5 ^
  На этом уроке мы передадим модель нашего объявления в представление
 
18842. Степан
18842. Степан
11589. Yefim
30514. Tom
35 Работаем над ошибками - YII2 в помощь 00:13:03
14 чел. ★ 5 ^
  На этом уроке мы разберемся, как работать над ошибками и читать сигналы дебаггера YII2
 
1232. Фомичева Наталья
21714. grom518
21714. grom518
13417. Chip
36 Изображения - где живут картинки 00:15:34
1 тест
14 чел. ★ 5 ^
  На этом уроке мы создадим папку для изображений, разместим там изображение по умолчанию, а также создадим универсальные параметры пути и изображения по умолчанию
 
2146. Иван
30514. Tom
30514. Tom
11589. Yefim
37 Изображения - модель формы 00:11:10
14 чел. ★ 5 ^
  На этом уроке мы создадим модель PhotoForm для работы с изображениями
 
689. Igorenzia
8275. Tekashnik
25475. Жан
11589. Yefim
38 Изображение - загрузочное представление 00:15:37
14 чел. ★ 5 ^
  На этом занятии мы создадим форму представления, через которое будет загружаться изображение
 
2146. Иван
1232. Фомичева Наталья
30514. Tom
30514. Tom
39 Изображение - загрузка файла на сайт 00:17:29
1 тест
14 чел. ★ 5 ^
  На этом уроке мы реализуем алгоритм загрузки изображений на сайт
 
30514. Tom
30514. Tom
25475. Жан
17947. Dmitry Sinitsin
40 ПРОМЕЖУТОЧНЫЙ ВИДЕО ОБЗОР без видео
11 чел. ★ 5 ^
  Мы уже многое сделали на нашем видеокурсе, и автору очень важно
узнать Ваше мнение о данном курсе и получить обратную связь
в форме видео-презентации и ответов на вопросы.

Сделай видео-презентацию своего сайта.
 
18842. Степан
11589. Yefim
30514. Tom
2146. Иван
41 Изображение - сохранение пути в базу 00:14:17
11 чел. ★ 5 ^
  На этом уроке мы реализуем сохранение пути к файлу изображений в базу данных
 
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
13417. Chip
13417. Chip
42 Изображение - управление картинками 00:08:36
11 чел. ★ 5 ^
  На этом уроке мы займемся дизайном - создадим выпадающее меню управления изображением
 
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
2146. Иван
11589. Yefim
43 Изображение - JS - немного теории и пижонства 00:16:29
1 тест
11 чел. ★ 4.7 ^
  На этом уроке мы рассмотрим работу JS на yii2
 
689. Igorenzia
2146. Иван
13417. Chip
13417. Chip
44 Изображение - JS - глобализация 00:26:49
11 чел. ★ 5 ^
  На этом уроке мы перенесем все скрипты JS в отдельный файл, а также реализуем открытие и скрытие элементов ввода информации
 
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
8275. Tekashnik
25475. Жан
45 Изображение - JS - сохранение информации в базу 00:22:42
1 тест
11 чел. ★ 5 ^
  На этом уроке мы научим нашу систему сохранять информацию об изображениях в базу
с использованием технологии ajax

 
689. Igorenzia
689. Igorenzia
25475. Жан
25475. Жан
46 Изображение - JS - извлечение методом ajax 00:09:51
11 чел. ★ 5 ^
  На этом уроке мы научим ajax получать информацию об изображениях из базы
 
18842. Степан
18842. Степан
9014. Николай Денисов
9014. Николай Денисов
47 Изображение - аватарка - вывод на главной странице 00:15:26
11 чел. ★ 5 ^
  На этом уроке мы реализуем вывод главных изображений каждого объявления
(далее - аватарки) на главной странице
 
8275. Tekashnik
2146. Иван
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
48 Изображение - аватарка - работа над ошибками связей 00:09:33
11 чел. ★ 5 ^
  На данном уроке мы исправим ошибки вывода фотографий, очистим базу и заново загрузим в нашу базу
фотографии в одно из объявлений
 
25475. Жан
9014. Николай Денисов
9014. Николай Денисов
11582. Родион
49 Изображение - аватарка - как стать главной 00:18:13
11 чел. ★ 5 ^
  На этом уроке мы создадим код, делающий любое фото главным
 
13417. Chip
13417. Chip
2146. Иван
11582. Родион
50 Изображение - удаление - ни шагу без подтверждения! 00:09:13
11 чел. ★ 5 ^
  На этом уроке мы реализуем всплывающее окно подтверждения действия
и протестируем результаты выбора различных вариантов
 
18842. Степан
18842. Степан
8275. Tekashnik
25475. Жан
51 Изображение - удаление - удаление файла и записи 00:15:49
11 чел. ★ 5 ^
  На этом уроке мы реализуем удаление файлов изображений и записей о них из базы данных
 
25475. Жан
25475. Жан
2146. Иван
17947. Dmitry Sinitsin
52 Главная страница - подробности - ссылки и заготовка представлени 00:09:05
11 чел. ★ 5 ^
  На этом уроке мы создадим ссылки для объявлений на главной странице и заготовку представления для подробного вывода
информации объявления
 
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
18842. Степан
18842. Степан
53 Главная страница - подробности - больше подробностей 00:11:37
11 чел. ★ 5 ^
  На этом уроке мы выведем максимум информации на страницу подробностей объявления
 
8275. Tekashnik
13417. Chip
13417. Chip
9014. Николай Денисов
54 Главная страница - подробности - расширяя информацию 00:15:15
1 тест
11 чел. ★ 5 ^
  На этом уроке мы внесем в наш код изменения, которые позволят сохранять объявления с большим количеством информации
 
2146. Иван
11582. Родион
18842. Степан
18842. Степан
55 Главная страница - оформление - дизайн объявления 00:10:02
11 чел. ★ 5 ^
  На этом уроке мы зададим стиль дизайна объявления
 
25475. Жан
8275. Tekashnik
18842. Степан
17947. Dmitry Sinitsin
56 Главная страница - оформление - дизайн элементов базовой страницы 00:11:44
1 тест
11 чел. ★ 5 ^
  На этом уроке мы выведем информацию о себе в элементе footer и сделаем главное меню стильным и красивым
 
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
18842. Степан
18842. Степан
57 Главная страница - оформление - ловим цвет пикселя 00:06:00
11 чел. ★ 5 ^
  На этом уроке мы рассмотрим использование инструментов определения цвета пикселя (Пипетка)
 
9014. Николай Денисов
8275. Tekashnik
689. Igorenzia
30514. Tom
58 Главная страница - оформление - смотрим все изображения 00:15:27
11 чел. ★ 5 ^
  На этом уроке мы реализуем просмотр всех изображений объявления "не хуже, чем на Avito"
 
13417. Chip
13417. Chip
18842. Степан
18842. Степан
59 Главная страница - оформление - стильный логотип 00:09:56
11 чел. ★ 5 ^
  На этом уроке мы реализуем вывод логотипа в иконку проекта и в пункт меню перехода на главную страницу
 
25475. Жан
25475. Жан
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
60 Главная страница - оформление - оповещения через баннер 00:11:19
10 чел. ★ 5 ^
  На этом уроке мы создадим баннер для оповещений, новостей
 
30514. Tom
30514. Tom
689. Igorenzia
11582. Родион
61 Разделы (темы) - немного теории 00:11:07
10 чел. ★ 5 ^
  На этом уроке мы рассмотрим вопрос тематик объявлений на нашем сайте, а также составим план (структуру) таблицы тем Themes и связующей таблицы ThemesBulletins
 
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
18842. Степан
2146. Иван
62 Разделы (темы) - миграции с внешними ключами 00:18:49
10 чел. ★ 5 ^
  На этом уроке мы создадим миграции таблиц themes и themesbulletins, сами эти таблицы и их модели ActiveRecord с внешними связями
 
11589. Yefim
11582. Родион
8275. Tekashnik
8275. Tekashnik
63 Обратная связь - мозговой штурм - внештатные ситуации 00:09:19
9 чел. ★ 5 ^
  В данном уроке попрошу Вас выполнить небольшую самостоятельную работу и дать обратную связь.
 
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
689. Igorenzia
30514. Tom
64 Разделы (темы) - вывод тем в объявлении 00:16:29
9 чел. ★ 5 ^
  На этом уроке мы реализуем вывод тем на странице объявления
 
2146. Иван
18842. Степан
18842. Степан
17947. Dmitry Sinitsin
65 Разделы (темы) - меню тематик 00:10:55
8 чел. ★ 5 ^
  На этом уроке мы реализуем вывод ссылок на темы на главной странице и подсчет объявлений в каждой теме
 
30514. Tom
30514. Tom
17947. Dmitry Sinitsin
17947. Dmitry Sinitsin
66 Разделы (темы) - тематические выборки 00:15:13
8 чел. ★ 5 ^
  На этом уроке мы реализуем выбор объявлений по темам и вывод их на основную страницу
 
11589. Yefim
8275. Tekashnik
30514. Tom
30514. Tom
67 Разделы (темы) - полезные переходы 00:11:48
7 чел. ★ 5 ^
  На этом уроке мы реализуем возвращение со страницы объявлений на предыдущую страницу, а также переходы по темам объявления по типу хештегов
 
25475. Жан
9014. Николай Денисов
9014. Николай Денисов
30514. Tom
68 Разделы (темы) - администрирование - теория и заготовки 00:09:03
7 чел. ★ 5 ^
  На этом уроке мы создадим контроллер для администрирования разделов (тем) и представление index
 
11589. Yefim
2146. Иван
18842. Степан
18842. Степан
69 Разделы (темы) - администрирование - все темы в таблицу 00:10:55
7 чел. ★ 5 ^
  На этом уроке мы выведем существующие темы в таблицу и зададим им элементы управления
 
18842. Степан
9014. Николай Денисов
9014. Николай Денисов
30514. Tom
70 Разделы (темы) - администрирование - подтверждение удаления 00:15:58
7 чел. ★ 5 ^
  На этом уроке мы реализуем алгоритм подтверждения удаления и создадим соответствующее представление
 
2146. Иван
30514. Tom
30514. Tom
11589. Yefim
71 Разделы (темы) - администрирование - удаление разделов и чистка связей 00:09:07
7 чел. ★ 5 ^
  На этом уроке мы окончательно удалим раздел, а перед этим удалим все его связи с объявлениями
 
9014. Николай Денисов
9014. Николай Денисов
25475. Жан
30514. Tom
72 Разделы (темы) - администрирование - Обычный ThemesForm 00:10:23
7 чел. ★ 5 ^
  На этом уроке мы создадим модель ThemesForm, заготовку действия Add в контроллере Themes и представление под него
 
30514. Tom
30514. Tom
11589. Yefim
2146. Иван
73 Разделы (темы) - исправление подсчета и отображение текущей темы 00:08:28
7 чел. ★ 5 ^
  Hа этом уроке мы исправим ошибку подсчета, обнаруженную в процессе прохождения курса,
а также отобразим текущую тему, по которой выборка объявлений, в баннере

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

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

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

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

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





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

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

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

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


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



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