Создаем сайт на PHP и ООП. Кинопоиск Lite.

  Рет қаралды 31,920

AreaWeb

AreaWeb

Күн бұрын

PHP - из блондинки в PRO: areaweb.su/1
Laravel - лучшее, что сделал Тейлор: areaweb.su/3
Laravel - создание крутого API: areaweb.su/2
Composer для блондинок: areaweb.su/5
PHP Framework для блондинок: areaweb.su/7
PHP - чуть-чуть: areaweb.su/4
Разработка пакета под Laravel: areaweb.su/6
Ссылка на git-репозиторий: t.me/areawebsu/242
Наш образовательный проект - areaweb.su
Телеграм: t.me/areawebsu
Телеграм чат: t.me/+yMyO-maYw6E5OTY6
VK: areawebsu
Boosty: boosty.to/areaweb
00:00:00 Введение
00:01:41 Обзор шаблона проекта
00:02:33 Что необходимо знать?
00:06:10 Запуск приложения
00:15:25 Настройка .htaccess
00:19:02 Настройка autoloader
00:25:20 Первые маршруты
00:28:34 Первые шаблоны для страниц
00:30:10 Константа APP_PATH
00:32:53 Класс App (инициализация приложения)
00:34:32 Класс Router (маршрутизация)
00:36:56 Класс Route (модель для маршрута)
00:40:17 Применение класса Route
00:44:19 Обработка маршрутов
00:47:19 Первые контроллеры
00:48:26 Обработка контроллеров
00:53:21 Класс Request
00:59:12 Разделяем код клиента и ядра
01:02:07 Изолируем точку входа
01:06:45 Создаем контейнер для сервисов
01:10:23 Класс View
01:12:35 Абстрактный контроллер
01:14:01 Внедрение сервисов в абстрактный контроллер
01:15:38 Использование assets файлов
01:17:09 Компоненты шаблона
01:18:15 Внедрение параметров в шаблоны
01:26:16 Страница добавления фильма
01:28:53 Запрос добавления фильма
01:30:16 Внедрение Request в контроллер
01:33:03 Метод input() для Request
01:35:04 Класс Validator
01:40:18 Тестируем класс валидации
01:43:19 Внедрение валидатора в Request
01:46:24 Валидация формы
01:47:51 Класс Redirect (перенаправление)
01:52:09 Класс Session (работа с сессиями)
01:55:47 Отображение ошибок валидации
02:01:34 Интерфейсы для сервисов приложения (рефакторинг)
02:10:30 Класс Database (работа с базой данных)
02:14:18 Класс Config (конфигурация приложения)
02:17:22 Использование конфига в Database
02:18:11 Внедрение Database в контейнер и контроллер
02:21:46 Метод insert(), добавление записей в базу
02:26:40 Страница и запрос на регистрацию
02:30:15 Добавление пользователя в базу
02:31:43 Страница входа, авторизации
02:33:44 Класс Auth (аутентификация)
02:37:41 Реализация метода first() для Database
02:40:05 Реализация метода attempt() для Auth
02:45:40 Реализация методов check(), user() и logout()
02:46:29 Использование сервиса Auth в шаблонах
02:51:27 Модель User
02:53:36 Кнопка выхода пользователя
02:55:31 Класс Middleware (посредники)
02:57:38 Абстрактный посредник
02:49:24 Первые посредник AuthMiddleware
03:00:21 Внедрнение посредников в маршруты
03:02:13 Обработка посредников
03:04:05 GuestMiddleware
03:05:17 Получение загружаемого файла
03:08:00 Класс UploadedFile
03:10:42 Реализация метода move() для UploadedFile
03:16:09 Создание ссылки на папку storage
03:18:49 Класс Storage
03:24:42 Разработка основного приложения (регистрация)
03:43:48 Авторизация
03:49:09 Обработка состояния шапки сайта
03:52:08 Админка (добавление жанров)
04:00:22 Вывод жанров в админке
04:12:09 Удаление жанров
04:18:00 Изменение жанра
04:25:14 Добавление фильма
04:36:46 Вывод фильмов в админке
04:41:52 Удаление фильма
04:44:06 Изменение фильма
04:52:06 Отображение фильмов на главной странице
04:58:22 Страница одного фильма
05:02:33 Добавление отзыва
05:10:17 Отображение отзывов
05:17:36 Реализация средней оценки фильма
05:23:36 Динамические заголовок страницы
05:27:28 Завершение

Пікірлер: 77
@Skalebro
@Skalebro 9 ай бұрын
Спасибо большущие за материал и бесплатность! Некоторые герои не носят плащи!
@user-nw5mh1ev3m
@user-nw5mh1ev3m 9 ай бұрын
Вы проделали невероятно большую работу, спасибо вам)
@Pavelbrov
@Pavelbrov 10 ай бұрын
Класс! Начал смотреть ради интереса и вижу, что много чего можно использовать в своей разработке. Думаю, не все понимают, что именно ради крутых приёмов такие видео стоит смотреть (на этом канале так точно). Пока посмотрел чуть больше часа и уже вижу на примере реализации роутов, как эту технику использовать у себя взамен кривого кода! А ещё copilot захотелось попробовать. Спасибо!
@user-pc5el2md2l
@user-pc5el2md2l 9 ай бұрын
Огромное спасибо за проделанную работу , смотрю , впитываю )
@aleksandervitalevich1299
@aleksandervitalevich1299 3 ай бұрын
Класс! Благодарю за столь качественный образцово-показательный урок!
@nitrocigil6874
@nitrocigil6874 8 ай бұрын
Респект за такой материал, продолжайте делать подобное усложняя👍
@fanfizi
@fanfizi 10 ай бұрын
мой респект автору за проделанную работу, надеюсь на продолжение)
@user-rr1oo1dj2l
@user-rr1oo1dj2l Ай бұрын
Очень качественный видеокурс, очень помог мне с написанием маршрутов и файлом htaccess. Спасибо за ваш труд!
@MrRobot-yb8cb
@MrRobot-yb8cb 10 ай бұрын
Я ваш фанат, когда то давно (года 3 назад) вы мне написали курсач)))) точнее ее часть
@user-ls6tj4nz5c
@user-ls6tj4nz5c 10 ай бұрын
Супер. Спасибо за твой труд!
@kibuzz3258
@kibuzz3258 9 ай бұрын
о вау, большое спасиьо за видос, мало кто делает учебные проекты!!!! Очень помогло.
@user-cp8um5dn4t
@user-cp8um5dn4t 10 ай бұрын
Очень крутая работа, лайк
@user-vl9ve8ib1o
@user-vl9ve8ib1o 9 ай бұрын
Прикольно, чувак 5 часов создавал Laravel )
@PashaKozhevov
@PashaKozhevov 9 ай бұрын
Очень круто!!! Ты молодец!
@dembitsky_youtube
@dembitsky_youtube 10 ай бұрын
Реально круто !
@edytor49
@edytor49 6 ай бұрын
Лучший! Спасибо!
@BALERA304
@BALERA304 3 ай бұрын
Спасибо что ты есть
@glebneshik450
@glebneshik450 2 ай бұрын
спасибо вам! вы лучший ))
@DruBrawler
@DruBrawler 10 ай бұрын
Только я хотел завязать, они снова меня затянули (с)
@alexredcross
@alexredcross 9 ай бұрын
Тише, дядя Джуниор (с)
@anatoliiilescu839
@anatoliiilescu839 8 ай бұрын
мой респект автору!
@HEX_CAT
@HEX_CAT 10 ай бұрын
Годно🎉
@Aydos-T
@Aydos-T 9 ай бұрын
RESPECT🔥
@kra1dex
@kra1dex 3 ай бұрын
Подскажите, плиз. В этом курсе будет написание рест апи или данные будут сразу отрисовываться в хтмл(не знаю как сформулировать)?
@wallaby95
@wallaby95 9 ай бұрын
Крутой урок. Как называется тема, которую ты используешь в phpStorm?
@awesomedud
@awesomedud 9 ай бұрын
спасиб) практики на пшп маловато на ютубе
@fixestenerg6594
@fixestenerg6594 8 ай бұрын
пхп*😂
@jaygen4675
@jaygen4675 9 ай бұрын
почему не используем стандарты psr?
@user-xx1wz4yo8b
@user-xx1wz4yo8b 8 ай бұрын
Если не создавать символьную ссылку, картинки будут отображаться в админке? У меня проблема, повторил всё точь в точь, ошибок нет, пути указаны верно. Превью фильма не отображается
@Ролтун
@Ролтун 10 ай бұрын
Ну а че, нормально.
@lexxkrt
@lexxkrt 5 ай бұрын
контейнер это нечто, паттерн регистри используй, он для такого как раз и предназначен
@vova_vyah
@vova_vyah 2 ай бұрын
ты оч крутой, контент топ
@fredmorrison7513
@fredmorrison7513 Ай бұрын
1:20:01 extract всего-лишь инициализирует переменные с ключами массива, это не функция для внедрения переменных) С тем же успехом можно было просто написать $view = $this;
@simonabrosimov18
@simonabrosimov18 9 ай бұрын
В репозитории я так понимаю код готового проекта лежит?
@unicoxr5tj417
@unicoxr5tj417 9 ай бұрын
подожду соцсеть и запилю свой Инстаграмм на пхп)
@user-mj2vd4jp3e
@user-mj2vd4jp3e 9 ай бұрын
каким уровнем можно оценить эти знания?
@artyemstepanov8686
@artyemstepanov8686 5 ай бұрын
Михаил, скажи, пожалуйста, зачем надо было так заморачиваться с инстансом View - создавать его в контейнере, потом передавать роутеру, а из роутера в абстрактный контроллер, почему бы сразу в конструкторе абстрактного контроллера не создать инстанст View и все?
@user-dz1dr6wq1u
@user-dz1dr6wq1u 8 ай бұрын
Какой уровень таска или проекта это?
@SnapScene
@SnapScene 9 ай бұрын
а как фильм туда загрузить?
@olezhonnv3215
@olezhonnv3215 9 ай бұрын
Это лайт-версия курса по написанию фреймворка. Бесплатная зато.
@KimarTV
@KimarTV 9 ай бұрын
А если я на хостинг хочу залить. Там же нет Lando. Как мне по умолчанию в папку public стучаться?
@areaweb
@areaweb 9 ай бұрын
В настройках хостинга чаще всего есть возможность указать корневую папку сайта
@KimarTV
@KimarTV 9 ай бұрын
@@areawebСпасибо. Поищу
@seka1309
@seka1309 17 күн бұрын
Lando это фреймворк?
@user-ym5uu9rf9x
@user-ym5uu9rf9x 10 ай бұрын
Ссылка на git-репозиторий: ... ?
@areaweb
@areaweb 10 ай бұрын
Добавил в описание
@alexeyfominyh3598
@alexeyfominyh3598 9 ай бұрын
Видео класс, хотел попробовать lando а она собака такая не хочет ни в какую устанавливаться на мой windows 11(
@MrTandem31
@MrTandem31 9 ай бұрын
Это более упрощенный вариант psr фреймворка, есть более подробное видео у Дмитирия Елисеева там он описывает и разрабатывает каждый компонент системы рекомендую
@TheSaddon
@TheSaddon 7 ай бұрын
можно ссылку или название видео Елисеева?
@MrTandem31
@MrTandem31 7 ай бұрын
kzfaq.info/sun/PLE20id3DjfFnio1Sm7WFOThtfqDGQdJgU
@user-nd9do2nk2j
@user-nd9do2nk2j 5 ай бұрын
спасибо
@MrTandem31
@MrTandem31 3 ай бұрын
@@user-oc4ly7vr2e наверное да, там конечно курс для тех кто более углубленно хочет понять все эту инфраструктуру
@Mr.Capone-
@Mr.Capone- 10 ай бұрын
а когда планируется видео про соц.сеть?
@areaweb
@areaweb 10 ай бұрын
Пока не планируется
@Demimur186
@Demimur186 7 ай бұрын
​@@areawebподскажите пожалуйста, где можно почитать информацию про то как можно андроид приложение соединить с базой данных mysql
@Gizzyaka
@Gizzyaka 9 ай бұрын
А почему версия Php 5.6?
@user-iv8zk2ch5s
@user-iv8zk2ch5s 4 ай бұрын
Потому что, потому😛
@olezhonnv3215
@olezhonnv3215 9 ай бұрын
Все хорошо, но на мой взгляд - перемудрил с контейнером и инжектами в роутер, из роутера в контроллер.
@Tornado-ln7fq
@Tornado-ln7fq 9 ай бұрын
Да ладно в php есть встроенная функция autoload, только остаётся создать два поля ,одно постфикс и префикс, и воля, так что можно обойтись и без компота, хотя что то мне подсказывает, что в компоте, именно так она и реализована, только с большими проверками, по типу шаблона только один)
@PykoJo6
@PykoJo6 6 ай бұрын
Есть, но для composer все равно надо подключать файл autoload.php
@petrihcor
@petrihcor Ай бұрын
Вопрос, уметь написать всё это самому это уровень мидла?
@FirstnameLastname-re9ei
@FirstnameLastname-re9ei 2 ай бұрын
Вопрос к автору. Пытаюсь пройти этот курс, получаю вот такую ошибку. Warning: Undefined array key "/home" in /app/src/Router/Router.php on line 10 Fatal error: Uncaught Error: Value of type null is not callable in /app/src/Router/Router.php:10 Stack trace: #0 /app/src/App.php(13): App\Router\Router->dispatch('/home') #1 /app/index.php(7): App\App->run() #2 {main} thrown in /app/src/Router/Router.php on line 10 В чем моежт быть дело? Все сделано точь в точь как на видео.
@ebirdori9498
@ebirdori9498 6 күн бұрын
убери в типе возврата функции callable у getAction()
@KrutaMan
@KrutaMan 8 ай бұрын
почему не сделать какой то один объект App в котором будут храниться объекты сессии, авторизации, БД и .тд.? Проще же инжектить 1 объект и через него выходить на нужные, чем инжектить каждый, не?
@lexxkrt
@lexxkrt 5 ай бұрын
для этого существует паттерн registry
@mikaelgevorgyan4521
@mikaelgevorgyan4521 7 ай бұрын
ненавижу композер (
@staythom
@staythom 9 ай бұрын
Не знаю зачем люди просили писать всё с нуля, проще брать готовое и оптимизировать, не?
@MrTandem31
@MrTandem31 9 ай бұрын
это точно
@KrutaMan
@KrutaMan 8 ай бұрын
понимание принципов как "примерно" работает под капотом фреймворков и пакетов
@Sleep_to_music
@Sleep_to_music Ай бұрын
врунишка 0:13 19:03 контейнер (скорее Реестр, названный контейнером) с постоянно созданными экземплярами, нужны они или не нужны, да и отображение 404 без установки кода - гениальны, ошибки вообще не ловим)
@dogvscatfunny9956
@dogvscatfunny9956 2 ай бұрын
Такую ерунду смотреть уже с первых минут не интересно че несет кто знает?
@kvidon1357
@kvidon1357 2 ай бұрын
🤡
@KimarTV
@KimarTV 9 ай бұрын
Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/kernel/Validator/Validator.php on line 51 Это можно как то пофиксить?
@KimarTV
@KimarTV 9 ай бұрын
value !== null && strlen($value)
@dmitryrazumov4651
@dmitryrazumov4651 8 ай бұрын
Делаю все по видео , но возвращает null , когда добавил Route. Кто-то может помочь? public function dispatch(string $uri) { $routes = $this->getRoutes(); dd($routes[$uri]); // dd($routes['/home']); // $routes[$uri](); }
@ebirdori9498
@ebirdori9498 6 күн бұрын
чекай код бро
Docker - nginx, php-fpm, mysql, phpmyadmin. From scratch to finished website
50:07
DanilovCode - Уроки PHP, Yii2
Рет қаралды 22 М.
The child was abused by the clown#Short #Officer Rabbit #angel
00:55
兔子警官
Рет қаралды 24 МЛН
Русалка
01:00
История одного вокалиста
Рет қаралды 4,2 МЛН
NERF WAR HEAVY: Drone Battle!
00:30
MacDannyGun
Рет қаралды 52 МЛН
Свой PHP фреймворк ... ЗАЧЕМ???
30:30
Александр Яковлев - PHP
Рет қаралды 1,5 М.
🚩 Красные флаги для программистов
6:52
Миша Ларченко
Рет қаралды 30 М.
СОБЕСЕДОВАНИЕ по PHP: к каким ВОПРОСАМ готовиться?
37:44
TeachMeSkills Школа программирования
Рет қаралды 32 М.
RESTful API на чистом PHP
1:01:15
AreaWeb
Рет қаралды 91 М.
PHP + PDO. Работа с MySQL.
38:44
AreaWeb
Рет қаралды 13 М.
Laravel Reverb - публичные каналы
24:16
AreaWeb
Рет қаралды 655
Спутниковый телефон #обзор #товары
0:35
Product show
Рет қаралды 2,2 МЛН
После ввода кода - протирайте панель
0:18
Up Your Brains
Рет қаралды 1,1 МЛН
1$ vs 500$ ВИРТУАЛЬНАЯ РЕАЛЬНОСТЬ !
23:20
GoldenBurst
Рет қаралды 1,6 МЛН
Опыт использования Мини ПК от TECNO
1:00
Андронет
Рет қаралды 739 М.