Практика PHP для начинающих. Урок 3. Точка входа приложения

preview_player
Показать описание
Из данного видео вы узнаете, что такое точка входа в приложении и какие есть варианты для ее создания. Если говорить в двух словах, то точка входа в приложениях MVC необходима для того, чтобы принять все запросы к сайту. Таким образом, запросы не будут уходить на служебные или любые другие файлы, которые не должны отдаваться в ответ на HTTP-запрос. Все запросы будут попадать к фронт-контроллеру (точке входа). Далее уже будет подключаться маршрутизатор (Router), который будет перенаправлять запрос на нужный контроллер.

В этом уроке будет создана точка входа приложения, а также ряд констант для настроек путей к той или иной составляющей приложения.

Данная серия уроков предназначена для начинающих программистов на PHP и веб-разработчиков. Цель предлагаемых уроков - научить писать правильный и красивый код, а также показать основные методики написания структурированного кода. В этих уроках будут затронуты такие темы как:
- Как отделить логику от представления.
- Как избежать дублирования кода.
- Что такое Router (маршрутизатор) и как написать собственный класс Router.
- Как работать с базой данных (БД), используя PDO и как написать свой класс для работы с БД.
- Что такое Service Container и как написать свой Service Container.
- Что такое Middleware и как написать свой Middleware.
- и т.д.

Рекомендации по теме
Комментарии
Автор

благодаря вам разобрался в правильном подключении файлов с помощью констант, используя точку входа !100 очков вам в карму!

ЭдемСмаил
Автор

Спасибо за урок! Андрей жму Вам руку за то, что создаете такие подробные видео на своем канале

Alex_Pav
Автор

Вирішив коментувати і лайкати всі ваші відео, бо цей скарб мають бачити якомога більше людей)

mr_riabov
Автор

Большое спасибо за объяснение каждой строчки в файле .htaccess 🤝

screomyscreomy
Автор

Спасибо тебе большое. Круто ты объясняешь. Уроки просто супер

StasKantor
Автор

Спасибо. Отличный урок и бъяснение, также хорошо, что с мелкими ошибками, помогает их быстрее находить. То, что нужно после теории.

ВладимирК-ьг
Автор

Спасибо! Отличные уроки! Добавил себе доп. Работы и делал все через Nginx замучился подключать CSS файл. Спасибо еще раз за ваши уроки.

АлександрВасилёнок-нг
Автор

Спасибо, как всегда все очень доходчиво!

ДмитроІоржев
Автор

У вас очень хорошие уроки. Часто помогают, когда нужно разобраться с детальностью изучения какой-то темы. Было бы круто, увидеть от вас детальный разбор .htaccess или например работы с websoket. :)

dreamypioneer
Автор

Здравствуйте, Андрей! Спасибо огромнейшее за Ваши уроки я от начала и до конца смотрю несколько раз) все понятно и доходчиво! Лайк и респект Вам, еслиб оффлайн преподавали я бы учился у Вас 😊

nixonweb
Автор

Андрей здравствуйте, не подскажите в чем разница подключения файлов через dir, require __DIR__ . '/func.php'; и просто require 'func.php'; вроде бы работает и так и так, и как лучше?? Спасибо!

ТОЛЬКОПОБЕЗДОРОЖЬЮ
Автор

Спасибо, всё отлично. Если интересно вам будет, через новый Open Server 6, всё работает без .htaccess, при подключении выдаёт ошибку, единственное ваша папка public уже не нужна, она уже есть Open Server. Посмотрю что будет дальше по ходу изучения ваших уроков. Подключал Server по вашему видео.

farhad
Автор

Андрей подскажите пожалуйста. Почему phpstorm постоянно подчёркивает константу define и предлагает её определить как const? Что в php 8.3 define уже не будет работать?

autogarages
Автор

Андрей, вы ввели константу define("PUBLIC", ROOT . '/public');
Я попытался вывести ее на печать через функцию dd() или использовать ее при подстановке в операторе include, везде работа программы прекращается и выдаются ошибки типа:
Parse error: syntax error, unexpected token ")", expecting ":" in on line 13
Parse error: syntax error, unexpected token "public" in on line 13
Не позволяет использовать зарезервированное слово.

PeteLunev
Автор

Интересно, как это на Nginx устроено, там есть файл подобный htaccess или используется совсем другая логика?

СтепанТкаченко-мд
Автор

Андрей, огромное спасибо за ваши уроки!!! Не могли бы помочь с такой проблемой: после добавления файлов .htaccess перестали работать ссылки...При клике на любую из ссылок ничего не происходит. ОООчень много всего перепробовал и никак не получается решить проблему. Даже, тупо, скачал исходники 3 урока и всё равно ничего не работает.

Nachkar
Автор

Добрый день. Я делал не через бутстрап и у меня стили так и не подключились. Какие-бы пути не указывал в header, ничего не работает. Даже через отдельную константу не работает. Хотя в шаблоне header, sidebar, footer подключаются без проблем. Кто подскажет, что нужно делать?

MyNameIsRishat
Автор

Я немного отстаю, поэтому вопрос с небольшим опозданием.
Почему нельзя вместо define("ROOT", dirname(__DIR__)) использовать define("ROOT", $_SERVER['DOCUMENT_ROOT'])? Я проверил, вроде всё работает, ничего не поломалось. Мне переменная $_SERVER['DOCUMENT_ROOT'] как-то более понятна и привычная, чем использование функции dirname().

arthur_
Автор

Добрый вечер Андрей! Скажите пожалуйста, у Вас работает цензура в комментариях? 🙂

kihon
Автор

Первый раз такое вижу. Не определяется контстанта PUBLIC - define("PUBLIC", ROOT . '/public'); public зарезервированное слово. В убунту это не удается. И phpstorm зеленым подчеркивает define, просит переименовать в const. PHP 8.0 cтоит. C нижним подчеркиванием создал, вот так: define("_PUBLIC", ROOT . '/public'); Так работает. Как то странно

_slash_-