Articles of design patterns

Создание интерфейса в PHP, который может указать тип, чтобы определить, какой класс использовать

Я создаю интерфейс для «PickupPoints». Каждая точка пикапа должна быть в состоянии вернуть все найденные точки срабатывания и данные точки пикапа и, возможно, в будущем получить дополнительную информацию. Это нормально с кодом ниже: <?php interface iPickupPoint { public function getPickupPoints($countryCode, $postalCode, $city); public function getPickupPointDetails($pickupPointId); } class PickupPoint1 implements iPickupPoint{ … } class PickupPoint2 implements […]

php shared db connection (справка по шаблону проекта)

У меня есть небольшое приложение php, которое я хочу построить на уровне абстракции db поверх нескольких классов типа «модель». Я использую ezSQL_mysql для выполнения работы db. Мой вопрос – лучший способ разработки приложения? Должен ли я использовать шаблон singleton для совместного использования соединения db? Должны ли мои «модельные» классы расширять ezSQL_mysql? Или, может быть, я […]

Использовать образец прототипа или нет

У меня есть вопрос. Мне нужно создать небольшую вещь, связанную с продуктами. Теперь я могу сказать 7 разных типов продуктов. Некоторые из них являются подтипами других, например Cars – Vans – petrol – diesel – City – Hatchback – Saloon – Estate – petrol – diesel Теперь, ради аргумента, все мои автомобили City, Hatchback и […]

Сохранение моего соединения PDO в качестве глобальной переменной

Задавая еще несколько вопросов о запросах PDO, мне сказали, что сохранение моего объекта соединения PDO как глобального для использования его в моих различных функциях, вызывающих запросы к моей базе данных, обычно является плохой практикой. Вот как я обычно использую свой объект PDO: function somefunction(){ global $pdo; $statement = $pdo->prepare("some query"); $statement->execute(); } Аргументы, которые я […]

Множество уровней дискриминации при использовании Doctrine2

Я использую Doctrine2 для управления моей моделью ниже: существует абстрактная концепция Content with Composite pattern в Gallery , а также абстрактная концепция Media из которой наследуются Video и Image . Мой выбор заключался в том, чтобы добавить дискриминаторов в таблицы Content и Media , чтобы различать Gallery , Video и Image . Content использует JOIN […]

Попытка реализовать (понять) шаблон Decorator в php

Я пытаюсь понять шаблон Decorator, и я прочитал другие связанные вопросы о SO, тогда я решил попробовать это с тривиальным примером (я начинаю PHP): interface iTitle { public function getTitle(); } class Title implements iTitle { protected $_text; public function __construct() { $this->_text='Our page'; } public function getTitle() { return $this->_text; } } abstract class […]

Один SQL-запрос или многие в цикле?

Мне нужно вывести несколько строк из таблицы и обработать их двумя способами: агрегированный по ключу строка за строкой, отсортированная по тому же ключу Таблица выглядит примерно так: table ( key, string_data, numeric_data ) Поэтому я рассматриваю два подхода к функции, которую я пишу. Первый будет вытаскивать агрегированные данные с одним запросом, а затем снова запрашивать […]

Zend_Framework- Где разместить обработку $ _GET и $ _POST (HTTP Request)?

Недавно я прочитал этот пост, который привел к ряду других сообщений, которые, похоже, предлагают ту же идею: модели делают все, View должен иметь возможность напрямую связываться с моделью и наоборот, пока контроллер остается в стороне. Однако все приведенные примеры довольно упрощены, и ни один из них не показывает пример того, как кто-то пытался реализовать полную […]

Выполнение модульного тестирования с вложенными зависимостями и заводскими классами

Я новичок в модульном тестировании и PHPUnit, но в последнее время я много читаю о шаблонах проектирования и изолированных тестах, и я решил реорганизовать приложение, над которым я работаю, чтобы избавиться от статических классов, одиночных кодов, жестко закодированных зависимостей и все остальное, определенное в глобальном масштабе, надеясь сделать его «проверяемым», а не болью в заднице, […]

Настройка шаблона репозитория в MVC

Я пытаюсь понять, как работает шаблон хранилища и как его можно реализовать в пользовательском шаблоне MVC. Насколько я понимаю, репозиторий – это слой, который просто возвращает данные из класса сущности или сохраняет класс сущности на постоянный уровень. Теперь я вижу это вот так: В мой контроллер входит запрос на создание пользователя. Просто имя пользователя и […]

Intereting Posts
PHP Предупреждение: запуск PHP: ????????: невозможно инициализировать модуль как добавить переменную php в url name; не в ссылке URL Как оптимизировать хранение и выбор из огромного списка в php? Как ограничить общий идентификатор электронной почты для регистрации на PHP? Легкая, основанная на PHP, структура макета … знаете что-нибудь? $ _POST для отключенного выбора Изменить значение css с помощью php Возможно ли иметь шифрование с несколькими закрытыми ключами (PHP)? Примечание. Преобразование массива в строку – PHP & mySQL Тестирование модулей с SimpleTest в PHP, сохраняя ошибки файлового каталога относительно относительных путей? Должен ли я использовать filter_var для проверки электронной почты? avro php – чтение из буфера Unity 2017.3.0f3 отправленные данные не отправляются на сервер LAMP Самый быстрый способ заменить строку в PHP Отчеты об ошибках на лету в PHP