Создание CMS на php — 26 урок (Рефакторинг кода и мелкие фиксы)

Автор Lyudmila Yeriomenko
Создание CMS на php — 26 урок (Рефакторинг кода и мелкие фиксы)

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

Таких вот ошибок по структуре и по стандартам кода который я упустил в прошлых урока первым делом. Давайте зайдем в PHP Storm и у нас в папке Enjoy bootstrap. Давайте его переименуем напишем его с большой — это будет более правильно и по идее PHP.

Шторм должен изменить во всех местах так.

Ведь он уже изменил во всех местах и обновляемся. Да у нас всё работает, что — это за стандартная рассказывать не буду о них. Вы можете почитать в. Интернете — это стандарты PSR предлагаемые рекомендуемая стандарты и мы стараемся тоже их придерживаться и одна из особенностей этого стандарта — это открытие функции например функции которые открываются всегда вот эта скобка первое переносится много, но — это относится только к открыванию функции. Например если. Мы открываем какое-то условие то скобка не переносится на вторую строку и где он у нас переносилась мы будем — это исправлять. Например если мы пишем IV то обязательно должен быть пробел внутри будет условия потом после ставится ещё один пробел открывается фигурная скобка непереносимость на вторую строку и дальше пишется выполнении каких тут какой-то логики в одном условии — это одна из особенностей и когда мы будем встречать где-то кот который не соответствует стандартам и будем — это исправлять и теперь одна из структурных ошибок — это загрузка моделей как. Витя мы здесь загружаем модель. Но она как бы не загружается просто присваивается какой-то переменной и мы можем через эту переменную какой модели уже обращаться, но было бы вы правильно — это всё загружать как зависимость. В контейнер потому, что у нас есть где контейнер для управления зависимостями и было бы правильно с точки зрения архитектуры загрузить модель именно туда поэтому давайте сейчас — это сделай. Заходим в наше абстрактный контроллер добавляем здесь модели здесь мы будем получать эту модель в получаем в конструкторе и. Заходим в класс лад. И первым делом, что мы сделаем — это добавляем конструктор в конструкторе мы. Обращаемся где-то есть мы избавляемся от глобальной переменной. Здесь также не забываем провайдер нашего. Ловато и здесь внутри ловят передать передаём туда Di контейнер и здесь мы сейчас немножко изменим эту функцию namespace эттинам здесь не нужен также мы вот — это тоже удаляем здесь теперь у нас доступен de zeste de Sad ключом нашего добавленного будет название то есть имя модели. Ну и значение объекта который принимает в себя. Ну ещё наши функция должна что-то возвращать. Давайте ещё сначала поставил проверку если. Существует такой класс то мы будем за эту модель и загружаем модель и возвращаем True иначе. Фолз Как видите у нас Code sniffer подсказывает, что так нельзя делать и. Давайте — это исправим Code sniffer он устанавливается в PHP Storm для проверки и стандартов правильно ли мы пишем код советую вам тоже его установить внизу видео покажу ссылку на него и давайте сейчас задаток сделать сделаем namespace module — это мы сделаем добавим его в переменную из класс модуль здесь мы проверим если True to Model загружается и вернем вот в таком случае всё будет нормально и здесь мы забыли заменить теперь привык функция эта модель будет попадать в виде контейнер, но тут есть один ещё минус то есть мы добавляем его как новое значение эту модель и мы потом не сможем ионной я добавил в ней контейнер новый метод Push то есть, что если мы хотим добавить в какой-то существующие ключ ещё какой-то новый элемент здесь мы этот метод. Вызови допустим то есть мы хотим модель добавить в этот Model name — это какой-то объект и комментируем. Заходим в где здесь мы проверяем если с таким-то ключом не равняется. Ну точнее если равняется. Ну там и будем этот объект и дальше мы добавляем пушин. В общем сюда точнее здесь у нас получается должен приходить массив. И — это будет не value Element давайте сейчас допишу. Вот такая получилась функция, но здесь сюда отправляем элемент здесь мы проверяем если будет такой ключ точнее если он не равняется 0 не равняется. Ну, тогда мы создаем его и дальше мы если не пустое этот элемент то мы его добавляем вот этому ключу здесь в. Ладе мы его вызвали этот метод элемент мы. Передаем массив ключ Model name и value — это наш объект естественного — это срабатывает только, тогда если существует этот класс и давайте мы здесь в. Париж контроллер я сейчас поставил проверку и посмотрим, что лежит в нашем Di контейнер. Как видите у нас появилась модель внутри лежит. Пейдж только она у нас большой буквы поэтому. Давайте зайдем там где мы делаем проверку площади модельные здесь мы загружаем обильные и здесь мы нам нужно привозить её к нижнему регистру например — это функция приводит к нижнему регистру 1 символа здесь вот приводим к нижней. Давайте проверим. Всё у нас работала. Теперь мы переходим в. Париж контроллер и проверяем здесь загрузили Model page — это наверное можно удалить. И вот здесь. Теперь мы можем обратиться с таким способом. Азиз modal page вот таким способом у нас всё должно сработать переходим андифен давайте сейчас проверим. В общем я всё уже проверил и немного кое-что переделала например в нашем абстрактным контроллере её создал такую функцию и нет.

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

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