Articles of design patterns

PHP-методы, которые работают как в контексте, так и в статическом контексте?

Я пытаюсь настроить некоторые PHP-методы, которые можно вызывать в инстанцированных и статических контекстах. Каковы хорошие способы сделать это? Например, я хочу иметь возможность: Foo::bar($item); foo($item)->bar(); Я мог бы настроить два отдельных класса, и каждая функция изменяет thisArg и делегирует их другому, но похоже, что это лучший способ. Единственный способ, которым я мог бы это сделать, […]

Где вы вкладываете свои зависимости?

Если я использую шаблон инъекции зависимостей для удаления зависимостей, они оказываются где-то еще. Например, Snippet 1, или то, что я называю Object Maker. Я имею в виду, что вам нужно создавать объекты где-то … поэтому, когда вы перемещаете зависимость из одного объекта, вы в конечном итоге ставите его еще один. Я вижу, что это объединяет […]

CodeIgniter, HMVC и где размещать общие библиотеки?

Если я планирую использовать HMVC, должен ли я помещать библиотеки, которые, я думаю, каждое приложение может использовать в /system/libraries ?

Как управлять страницами / формами в приложении PHP?

im new в PHP и я пытаюсь написать простой интернет-магазин. Допустим, есть индексный файл: <?php require_once '/inc/db.php'; $db = new Db(); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <div id="header"><?php require_once("header.php"); ?></div> <div id="content"> <?php // i have no idea what to put here ?> </div> <div id="footer"><?php require_once("footer.php"); ?></div> </body> </html> […]

PHP MVC: класс построителя запросов для слоя Data Mapper

Я работаю над своей собственной инфраструктурой MVC в PHP. Его модельный слой состоит из Объекты домена (также известные как «модели»), которые инкапсулируют бизнес-логику и Передатчики данных для передачи данных между объектами домена и базой данных. Абстрактный класс отображения данных не существует, каждый класс сопоставления данных содержит свою собственную реализацию уровня доступа к данным. Методы класса […]

Что такое имя для шаблона, в котором он получает данные или запрашивает данные и возвращает обратно объект?

Вопрос 1 Есть ли название для шаблона ниже? class Pattern { function createObject(array $data) { $object = new Object(); $object->setPropertyA($data['A']); $object->setPropertyB($data['B']); $object->setPropertyC($data['C']); return $object; } } вопрос 2 Есть ли имя для вышеупомянутого шаблона, если оно изменено на то, где $data получен внутри метода? В частности, код ниже: class Pattern2 { function createObject() { $data […]

PHP MVC: несколько баз данных, несколько карт данных?

Я работаю над своим проектом HMVC. Сейчас я использую карты данных для перемещения данных между моделями (объектами домена) и базой данных MySQL. Каждый картограф получает адаптер MySQL в качестве зависимости. Введенный адаптер получает экземпляр PDO (соединение с базой данных) в качестве зависимости и запускает sql-запросы в базе данных. Я также использую контейнер для инъекций зависимости […]

Каков наилучший шаблон проектирования для разработки интерфейса WebPage?

Я пытаюсь создать интерфейс моего веб-сайта с помощью ООП. Для этого мне нужно иметь несколько объектов, таких как меню, миниатюры, contentBoxes, соединенные вместе, чтобы сформировать полный макет. Я знаю, что ООП не используется для презентации, но мне все равно нужно это делать. Может ли кто-нибудь помочь мне в этом?

Рекомендации по проектированию каркаса

Я в настоящее время создаю какую-то мини-структуру для проекта и придумываю это решение. Я пробовал много из них, но мне это кажется очень удобным (код упрощен для простоты): # Basically it's just a Registry pattern class Repository { private static $objects = array(); public function loadObject($alias, $object) { self :: $objects[$alias] = $object; return true; […]

PHP Design Pattern

У меня есть класс, который выполняет операции с базой данных и возвращает результаты (array, true, false). И у меня есть другой класс, который создает строку JSON, используя этот класс в своем конструкторе. Можем ли мы сказать, что этот класс является адаптером? Или просто обертка или … Class Db { public function getRows($params) { //… } […]