Создание CMS на php — 16 урок (Создаем Класс Config и инициализируем его как новый сервис)

Автор Maksim Inshakov
Создание CMS на php — 16 урок (Создаем Класс Config и инициализируем его как новый сервис)

Всем привет друзья мы продолжаем писать даже тем с в прошлом уроке мы начали писать конфиг и в этом уроке мы — это закончим и будем двигаться дальше переходим в наш редактор и создал два метода в прошлом уроке.

Я решил. Ничего здесь не усложнять так как наши конфиге все будут передаваться в зависимости в контейнерах поэтому всё — это 2м которые нам здесь необходимо — это получить файл конфига и вот этот метод он тоже не будет являться необходимым. Это для того чтобы.

Вдруг нам нужно будет получить конфиге там где допустим у нас не будет какого-то доступа к зависимостям вот поэтому сейчас мы напишем вот этот метод и вот этот метод и потом создадим сервис куда девать инициализировать все конфеты в метод файл мы.

Передаем параметр группа, что группа группа — это название вот этого файла то есть мы будем развивать конфиги на группы по названиям дата B7 допустим вот здесь по умолчанию пусть будет передаваться Main. Вот и чтобы получить допустим файл нам нужно во-первых путь знать знать создадим переменную путь долями супер глобального массива сервер получим document Root после нас должен быть разделитель цветочки функция STR to lower передадим туда и inwin допустим подсказывает, что текущая окружение у нас и в папке config мы будем искать именно нужную нам группу гроб. PHP вот таким вот образом мы будем получать путь дальше мы проверим. Существует ли этот файл с помощью функции файл exe если он существует мы пойдём сюда. Иначе мы вызовем ошибку ошибка New Exception и перед один туда с помощью Sprinter переменная там будет передаваться путь потому, что мы будем указывать, что по такому пути допустим файла не существует сообщение. Я уже написал сообщение и простого вставлю чтобы не тратить время пишу на английском во-первых потому, что я учу английский язык и вам тоже совет здесь написано, что ошибка загрузки этого файла по вот этому пути куда передаётся вот эта переменная вместо процент. АЭС и не существует этого файла. Вот такая вот ошибка ну в самом конце функции мы сделаем No Return false то есть функция вернет. Фолз если допустим дойдёт вот сюда. Но если всё хорошо она сюда не даёт потому, что внутри нашей проверки массив. И давайте внутри нашей проверки создадим переменную Python и будет она равняться реклама Airlines вот этому пути то есть. Поэтому пути если всё будет если файл существует и мы его будем здесь подключать. И после этого мы сделаем ещё одну проверку. Это проверка будет проверять является ли атом с массивом is array. То есть если — это массив то мы будем его возвращать таким способом иначе — это явная ошибка и мы будем её вводить будем её с помощью пшена не будем передавать туда сообщения с помощью функции Sprinter. Передаем, тогда путь и сообщение внутрь если нужно., сообщение сейчас я вот такой вот сообщение config File по данному пути не является валидным то есть — это не массив то есть. Значит мы будем вводить в этом случае. Ну вот в целом эта функция уже готова мы получаем файл конфига какой-то определенной группе. Вот давайте мы теперь оставим здесь едок и допишем вот эту функцию которая получает какой-то отдельный Python и здесь мы. Давайте создадим переменную назовём её гроб и будем получать файл конфига по какой-то определенной группе только эту переменную вне группа гроб Items сделаем и вернем регион здесь используем тернарный оператор. А если существует Group Items по определенному ключу которые мы будем сюда передавать. Когда мы будем возвращать его если он существует иначе вернём ну вот и всё в принципе в этой функции больше ничего делать не нужно и теперь давайте перейдем к созданию сервиса новую директорию config внутри config у нас будет как обычно провайдер мыс копируем уже существующие провайдер и оставим. Здесь всё правильно провайдер extend abstract здесь мы будем использовать конфиг конфиг. Здесь нам spaces.me пропишем естественная config сервисное будет config. Здесь нам в принципе создание объекта не нужно потому, что у нас использоваться будет статические методы и сюда мы уже перед один сейчас все наши на данный момент у нас есть Database config email config и вот здесь мы создадим переменную config внутрь — это будет массив и внутри мы будем записывать все эти группы например группа Main здесь мы используем наш класс config' перед один туда группу Man дальше config Database и сам config период 1 как сервис вот сюда и теперь мы создадим ещё добавим еще один глаз для инициализации с нового сервиса который называется config вот и всё теперь давайте зайдем в браузер и обновился нас всё обновилось и всё про инициализировался. Давайте теперь проверим вызовем принтер и обратимся к нашему детей контейнеру и получим конфиг и так как выйти. Вы получили конфетки, но только там одна группа Main почему так произошло. Давайте посмотрим наш провайдер потому, что мы забыли здесь поменять ключ конфига Database и. Давайте ещё раз обновился и всё теперь у нас есть две группы то есть тебя конфиге Main config Database всё здесь сохраняется теперь можем смело добавлять конфиге и получать их, а в любой точке нашей давайте для большего удобства мы — это удалим пока, что и зайди зайдём в наш abstract Controller над которой абстрактные и добавим ещё одну переменную которая.

0 комментариев
0

Читайте также