Дизайн модели - PHP правилния начин

у дома

Дизайн модели - PHP правилния начин

Виждате подробна информация за ...

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

Фабрика (инж. Фабрика)

Този шаблон е един от най-често използваните. В него просто създава клас обект, който ви трябва. Да разгледаме следния пример на фабрика модел:

Този код създава обект "кола" с помощта на фабриката. По този начин вие получавате две предимства: Първо, ако по-късно искате да промените, преименувате или да замени клас автомобили, а след това лесно можете да го направите, като просто промяна в кода AutomobileFactory фабрика, вместо да го промените във всички области на проекта, които използват Автомобилна клас; На второ място, ако имате нужда да се създаде обект за извършване на всички операции с този обект, можете да опишете тези операции в завода, вместо всеки път да ги опише при създаване на нов обект.

Използвайте Фабрика модел не винаги е необходимо (или мъдър също). В примера по-горе, че кодът е толкова лесна за използване, че фабриката няма нужда да се усложняват. Въпреки това, ако сте прави доста голям и сложен проект, използването на Фабрика модел ще ви позволи да се избегнат много неприятности.

Единична (Engl. Singleton)

Когато създавате уеб приложение често изисква концептуално и архитектурно да осигури достъп до само едно копие на определен клас. Единична шаблон го позволява.

Този код реализира шаблона с помощта на статични променливи и статичен метод getInstance (). Моля, имайте предвид следното:

  • __construct конструктор е обявена за защитена (защитен), за да се предотврати създаването на нов обект с помощта на оператор.
  • Магията метод __clone дефинира като частен (частни), за да се предотврати инстанция клониране чрез клониране.
  • __wakeup магия метод се определя като специален (частни), за да се предотврати deserialization клас например чрез глобалната функция \ unserialize ().
  • Нова инстанция е създадена от късно свързване на статичния метод, статичен getInstance () дума статична. Това позволява на subclassing от клас Сек в примера.

Сингълтън модел е полезно, когато трябва да се уверите, че инстанция е само един от жизнения цикъл на искане за уеб приложение. Това обикновено се случва, когато има глобален обект (напр клас Configuration) или споделен ресурс (например, всички събития).

Трябва да бъдете внимателни, когато използвате този шаблон, тъй като по своята същност той въвежда глобална изявление например в заявлението, като по този начин намаляване на тяхната проверяемост. В повечето случаи, зависимостта инжекция може (трябва) да се използва вместо Сингълтън. Използването на зависимостта инжекция, това означава, че ние не се въвеждат ненужни връзки в дизайна на нашите приложения, както и на обекта, като се използва общ или световен ресурс, който не изисква познания за определен клас.

Предната контролера (Англ. Front Controller)

Шаблон предната контролер използва един входна точка за приложения (например, index.php), който обработва всички искания. Кодът за този шаблон е отговорен за натоварването всички от зависимости, обработката и изпращането на искането към браузъра. Предната контролерът може да бъде от полза, тъй като това улеснява модулна код и осигурява централно място, където кодът може да се прилага за всяка заявка (например, санитарна обработка на входните данни).

Model-View-Controller (Англ. Model-View-Controller)

Модел-изглед-контролер (наричан MVC) модел на същата серия като HMVC, MVVM. MVC ви позволява да се раздели кода на приложението в логически обекти, които са предназначени за конкретни задачи. Моделът служи като слой за достъп до данни и да ги връща във формат, който изисква прилагане. Контрольори справят искания, обработват данните, получени от модела, и изтегляне на представянето, като изпрати отговор. Прегледи съдържат шаблони (маркиране, XML и т.н.), които са изпратени към браузъра.

MVC е най-честата архитектурен модел, който се използва в най-популярните PHP рамки.


PHP: Правилният начин от Джош Локхарт е лицензиран под Криейтив Комънс лиценз Криейтив Комънс Признание-Некомерсиално-Споделяне на споделеното 3.0.
Въз основа на работата на www.phptherightway.com.