PSR, MVC. Лекция 5

Содержание

Слайд 2

Плохая архитектура - затратна в сопровождении, монолитна, плохо поддается тестированию, хрупка к

Плохая архитектура - затратна в сопровождении, монолитна, плохо поддается тестированию, хрупка к
изменениям и имеет неоправданную сложность.

Слайд 3

Хорошая архитектура делает систему легкой в освоении, простой в разработке, сопровождении и

Хорошая архитектура делает систему легкой в освоении, простой в разработке, сопровождении и
развертывании. Конечная ее цель – минимизировать затраты на протяжения всего срока службы системы и максимизировать продуктивность программиста.

Слайд 4

Классический MVC

Классический MVC

Слайд 5

Разделение на слои

Presentation Layer

Domain Layer

Разделение на слои Presentation Layer Domain Layer

Слайд 6

С разделением по слоям

Presentation
Layer

Domain
Layer

Data
Layer

С разделением по слоям Presentation Layer Domain Layer Data Layer

Слайд 8

PSR

PSR (PHP Standarts Recomendations) — стандартные рекомендации, результат работы PHP-FIG. Одни члены

PSR PSR (PHP Standarts Recomendations) — стандартные рекомендации, результат работы PHP-FIG. Одни
Группы предлагают правила для каждого PSR, другие голосуют в поддержку этих правил или за их отмену. Обсуждение проходит в Google Groups, а наборы PSR доступны на официальном сайте PHP-FIG.

PHP-FIG  (PHP Framework Interop Group) — организованная группа разработчиков, цель которой находить способы совместной работы нескольких фрейморков.

Слайд 9

0. Autoloading Standard
Basic Coding Standard
Coding Style Guide
Logger Interface
Autoloading Standard
PHPDoc Standard
Caching Interface
HTTP

0. Autoloading Standard Basic Coding Standard Coding Style Guide Logger Interface Autoloading
Message Interface
Huggable Interface
Security Advisories

Security Reporting Process
Container Interface
Extended Coding Style Guide
Hypermedia Links
Event Dispatcher
HTTP Handlers
Simple Cache
HTTP Factories
HTTP Client
PHPDoc tags

Стандарты

Слайд 10

PSR-1 — Basic Coding Standart
Эти PSR регулируют основные стандарты, главная идея которых

PSR-1 — Basic Coding Standart Эти PSR регулируют основные стандарты, главная идея
— если все разработчики используют одни стандарты, то перенос кода можно производить без всяких проблем.
Правила:
В файлах должны использоваться только теги В файлах должна использоваться только кодировка UTF-8 without BOM.
Имена пространств и классы должны следовать PSR-0.
Имена классов должны быть объявлены в нотации StudlyCaps.
Константы класса должны быть объявлены в верхнем регистре, разделенные подчеркиваниями.
Методы должны быть объявлены в нотации camelCase.

Слайд 11

PSR-2 — Coding Style Guide
Это расширенные инструкции для PSR-1, описывающие правила форматирования

PSR-2 — Coding Style Guide Это расширенные инструкции для PSR-1, описывающие правила
кода.
Правила:
Код должен соответствовать PSR-1.
Вместо табуляции должны использоваться 4 пробела.
Не должно быть строгого ограничения на длину строки, рекомендуемая длина — до 80 символов.
Должна быть одна пустая строка после объявления пространства имен.
Скобки для классов должны открываться на следующей строке после объявления и закрываться после тела класса (то же самое для методов).
Видимость методов и свойств должна быть обязательно определена (public, private).
Открывающие скобки для управляющих структур  должны находиться на той же строке, закрывающие скобки должны быть на следующей строке после тела структуры.
Пробелы не ставятся после открывающихся круглых скобок методов управляющих структур и перед закрывающимися скобками.

Слайд 12

PCR-3 — Logger Interface
В PCR-3 регулируется логгинг, в частности основные девять методов.
Методы:
LoggerInterface

PCR-3 — Logger Interface В PCR-3 регулируется логгинг, в частности основные девять
предоставляет 8 методов для логирования восьми RFC 5424 уровней (debug, notice, warning, error, critical, alert, emergency).
Девятый метод log() принимает на вход уровень предупреждения первым параметром. Вызов метода с параметром уровня предупреждения должен возвращать такой же результат, как и вызов метода определенного уровня лога ( log(ALERT) == alert() ). Вызов метода с неопределённым уровнем предупреждения должен генерировать Psr\Log\InvalidArgumentException.

Слайд 13

PCR-4 — Improved Autoloading
Так же как и PSR-0, PSR-4 предоставляет улучшенные методы

PCR-4 — Improved Autoloading Так же как и PSR-0, PSR-4 предоставляет улучшенные
автозагрузки
Правила:
Термин «класс» относится к классам, интерфейсам, трейтам и другим похожим структурам
Полностью определённое имя класса имеет следующую форму: \(\)*\
При загрузке файла, соответствующему полностью определённому имени класса:
Непрерывная серия одного или более ведущих пространств имен, не считая ведущего разделителя пространства имен, в полностью определенном имени класса соответствует по крайней мере одной «корневой директории».
Имена директорий и поддиректорий должны соответствовать регистру пространства имен.
Окончание полного имени класса соответствует имени файла с окончанием .php. Регистр имени файла обязан соответствовать регистру окончания полного имени класса.
Реализация автозагрузчика не должна бросать исключения, генерировать ошибки любого уровня и не обязана возвращать значение.
Имя файла: PSR,-MVC.-Лекция-5.pptx
Количество просмотров: 23
Количество скачиваний: 0