Обучение C#

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

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

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

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

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

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

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



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

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

 
26052. Артём
11019. Trira
24765. Anatoli
21753. Николай
2 FREE Создание проекта YII2 00:13:49
1 тест
22 чел. ★ 4.8 Free
  На этом уроке мы создадим проект нового сайта, установим YII2 и запустим новый сайт на нашем локальном домене

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

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

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

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

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

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

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

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

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





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

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

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

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


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



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