Я создаю интерфейс для «PickupPoints». Каждая точка пикапа должна быть в состоянии вернуть все найденные точки срабатывания и данные точки пикапа и, возможно, в будущем получить дополнительную информацию. Это нормально с кодом ниже: <?php interface iPickupPoint { public function getPickupPoints($countryCode, $postalCode, $city); public function getPickupPointDetails($pickupPointId); } class PickupPoint1 implements iPickupPoint{ … } class PickupPoint2 implements […]
У меня есть небольшое приложение 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: function somefunction(){ global $pdo; $statement = $pdo->prepare("some query"); $statement->execute(); } Аргументы, которые я […]
Я использую Doctrine2 для управления моей моделью ниже: существует абстрактная концепция Content with Composite pattern в Gallery , а также абстрактная концепция Media из которой наследуются Video и Image . Мой выбор заключался в том, чтобы добавить дискриминаторов в таблицы Content и Media , чтобы различать Gallery , Video и Image . Content использует JOIN […]
Я пытаюсь понять шаблон 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 […]
Мне нужно вывести несколько строк из таблицы и обработать их двумя способами: агрегированный по ключу строка за строкой, отсортированная по тому же ключу Таблица выглядит примерно так: table ( key, string_data, numeric_data ) Поэтому я рассматриваю два подхода к функции, которую я пишу. Первый будет вытаскивать агрегированные данные с одним запросом, а затем снова запрашивать […]
Недавно я прочитал этот пост, который привел к ряду других сообщений, которые, похоже, предлагают ту же идею: модели делают все, View должен иметь возможность напрямую связываться с моделью и наоборот, пока контроллер остается в стороне. Однако все приведенные примеры довольно упрощены, и ни один из них не показывает пример того, как кто-то пытался реализовать полную […]
Я новичок в модульном тестировании и PHPUnit, но в последнее время я много читаю о шаблонах проектирования и изолированных тестах, и я решил реорганизовать приложение, над которым я работаю, чтобы избавиться от статических классов, одиночных кодов, жестко закодированных зависимостей и все остальное, определенное в глобальном масштабе, надеясь сделать его «проверяемым», а не болью в заднице, […]
Я пытаюсь понять, как работает шаблон хранилища и как его можно реализовать в пользовательском шаблоне MVC. Насколько я понимаю, репозиторий – это слой, который просто возвращает данные из класса сущности или сохраняет класс сущности на постоянный уровень. Теперь я вижу это вот так: В мой контроллер входит запрос на создание пользователя. Просто имя пользователя и […]