Изучаем Yii2 Framework Структура фреймворка

Author:

S-GET

Keywords:

php,mysql,yii2,yii,yiiframrwork,xml,git,composer,packagist,phpstorm,jetbrains,OOP,testing,codeception,s-get,PHPFramework,миграции,migrations,контроллеры,виды,модели,MVC,разработка ПО,программирование,programming,web,backend,frontend,web-development

Subtitles:
всем привет микрофон антон голомазов и мы с вами продолжаем говорить о фреймворке едва сегодня мы будем разбираться более конкретной всего структуры вначале следует сказать пару слов о шаблоне проектирования инвести основе которого и построен сам фреймворк работает он по следующему принципу вот у нас есть пользователь он заходит на наш сайт в этот момент пользуйтесь совершает запрос тут же наше приложение определяет какой части сайтов пользователь хочет получить доступ за это отвечает так называемый маршрутизатор или роутер после того как маршрутизатор определяет маршрут он возвращает эти данные нашему приложению в свою очередь приложение получает данные о маршруте создает объект контроллера и вызывать необходимый метод который соответствует данному маршруту данный метод контроллера еще называется action момент выполнения action может обращаться к хранилищу данных сайтов посредством вызова специальных классов моделей который отвечает за общение с хранилищем данных зданием удалением обновлением поиском записей в хранилище св того как контроля собирается данные которые мы необходимо отдать пользователю он создает объект представления сущность которого заключается следующем объект представления получает данные из контроллера и имя файла шаблона который ему необходимо эти данные вставить работав представление возвращает контроллеру сгенерированы html-разметку которую контроллер и отдает нашему пользователю или давайте перейдем к файловой структуре самого фреймворка что у нас с вами есть начнем с базового шаблона клуб composer джейсон в котором находится зависимости нашего проекта папка с и находится класса для управления ресурсами страниц css и j с файлами папка с тестами папка config не находятся следующие файлы от соль php это конфигурация консольного приложения выпечки конфигурация в приложении гибель php настройки подключения к базе данных парам спички различные пользовательские настройки папка commons содержит классы в консольных команд вы можете написать свои класса и добавить функциональности консольного приложения об к controllers abc.az классами контроллерами папка modules папка с классами моделей папка runtime в ней находятся файлы которые едва генерирует во время выполнения логика ешь файлы писем и тому подобное об кафедр не хранятся зависимости composer of папка views не хранятся файлы представлений об к веб это корневая директория приложения содержит файлы доступны через веб папки веб находится следующее содержимое abc.az с содержит скрипты и таблицы стилей используемые приложения файл index.php это точка входа в нашего приложения также есть файл и бат и или скрипт выполнения консольного приложения такие же есть особенности файловой структуры у расширенного шаблон папка backend содержит файлы backend приложение папка frontend содержит файл frontend приложения поп как консоль содержит файлы консольного приложения папка январь men's папка с настройками для различных режимов работы приложения папка khaman папка с общим кодом для front-end и back-end приложений давайте теперь с вами перейдём в редактор кода и более пристально посмотрим на работу фреймворка открою файл index.php находящийся в папке в здесь у нас происходит следующее проверяется существует ли константа или дэбак если нет то мы и создаем проверяется существует ли константа n если нет то мы и создаем и присваиваем ей значение от d затем подключается file of the law php сгенерированы комп озером из папки вендор подключается главный файл самого фреймворка и в последней строке создается объект приложения в его конструктор передается настройки полученные при подключении файла конфигурации запускается приложение посредством вызываем метод дара если мы с вами перейдем в наш браузер пройдемся по навигационным меню и откроем панель и разработчика любезно предоставленных создателями фреймворка то мы можем проинспектировать работу нашего приложения просмотреть какой контроллер и экшен был вызван какой при этом роутер сработал какие были переданы параметры get и post нашему приложению просмотреть логи запросов и тому подобное если открыть файл конфиг слэш консоль php мы можем увидеть настройки консольного приложения которые очень похожи на настройки в приложении если открыть файл и то увидим ту же картину что и файле web слэш index.php проверка наличия констант включение конфигурации файлов приложения запуск приложений и выход программы если возвращаться к файлам настроек приложений каковые заметили они представляют собой ассоциативные массивы ключи которых описывает свойства самого приложения вот некоторые ключевые свойства бы спас свойства указывает на корневую директорию приложения это директория содержит весь защищенный исходный код данной директории обычно могут находиться под директивы мода les joues controllers содержащее код соответствующие шаблоны проектирования mvc алиас с свойства позволяют настроить вам множество псевдонимов путей ключами массива является именно псевдонимов значение массива соответствующее значение пути bootstrap данное свойство является очень удобным она позволяет указывать в массив компонентов которые должны быть загружены в процессе начальной загрузки приложения например если вы хотите чтобы модуль производил тонкую настройку урал правил вы можете указать его иди в качестве элемента данного свойства печь пол только для веб-приложений свойство указывать действия контроллера которое должно обрабатывать все входящие запросы от пользователя в основном оно используется когда приложение находится в режиме обслуживания должно обрабатывать все запросы через одно действие компанец свойство позволяет вам зарегистрировать список именованных компонентов называемых компонентами приложения которую вы можете использовать других местах контроллер namespace свойства указывает пространство имен которым по умолчанию должны находиться название классов контроллера по умолчанию значения равно а п п controllers ленгвич свойства указывает язык приложения на котором содержимое страницы должно быть отображена конечному пользователю по умолчанию значение данного свойства равно n означает английский язык мода весь свойства указывает модули который содержится в приложении про остальные свойства приложений вы можете узнать по данной ссылке и последнее но не менее важное что вам необходимо знать о работе фреймворка что из себя представляет жизненный цикл приложения работа фреймворка разделено на четыре стадии 1 входной скрипт загружает конфигурацию приложений в качестве массива 2 входной скрипт создает новый объект приложения здесь у нас вызывается метод при и нет который настраивает жизненно важное свойство приложения такие как бей спас регистрируется обработчик ошибок отстраивается свойства приложения вызывается метод init которые затем вызывает метод bootstrap для начальной загрузки компонентов речи входной скрипт вызывает метод & bass applications кран для запуска приложения возникает событие even before квест обработка запроса разбор информации запроса в маршрут соответствующими параметрами создание объектов модули контроллера и действия согласно указанному маршруту запуск действия возникает событий event of the request ответ отсылается конечному пользователю 4 входной скрипт получает значение статуса выхода от приложения и заканчивают обработку запросов на этом все надеюсь вам понравилось это видео спасибо за просмотр ставьте лайки пишите свои комментарии и предложения по новым уроком и делитесь этим видео в социальных сетях всем пока

Loading