Так модель это Response() вроде тут. Она должна обрабтать запрос и положить нужные данные во write. В реальном приложении, свкорее всего, будет что-то типа:
$response = new Zend\Diactoros\Response($id);
// либо
$response->getBody($id)->write( );
Артём Петренков: я о том же говорю что среза достаточно но непонятно в этом случае как его сделать что бы срез работал нормально и имел все зависимости нужные.
Ну если это работа с БД то ещё потянет, хотя и синглтон иногда антипаттерном называют... а для всего остального это уже попахивает процедурным кодом в обёртке ООП ))
D3lphi: Игорь Воротнёв давайте не будет об этом спорить )) да это создание в момент вызова, но НЕ автоматическое т.к. ( new Class ) мне всё равно руками надо написать.. предлагаю на этом и остановиться )
D3lphi: ну вариант Игоря хотя бы строчку экономит ))
По composer можно вопрос? Как он осуществляет автозагрузку классов? Ведь это же пакетный менеджер который позволяет быстро стянуть с packagist, зависимости поставить, версии. Он и автозагрузку умеет так что мне при его использовании spl_autoload_register не придётся писать?
Alexander Pushkarev: Да, я понял как раз по ссылке о недостатках Registry и ServiceLocator, но это я не как упрёк вам, а к тому что как ни крути, глобальные переменные меняются на глобальные классы со статическими методами ))
Я правильно понимаю что если мне в класс работы с БД надо конфиг прокинуть для подключения, то тогда нужно через UniqueUsers() его пробросить тоже, например:
public function UniqueUsers($name, $config)
{
$count = (new DBworker($config))->FindUsers($name);
}
Извине, я туп, нуб и ответ Uwe_Boll мне не понятен, как именно и где надо прописать пространства имён что бы всё заработало? Сейчас в проекте namespace не используются вообще, так должно всё тогда видеть, или не?
Вот не знаю в данном случае правильно ли что Validation будет сам с БД работать? Ведь это нарушает вроде как принцип что у каждого своя маленькая задача. Хотя в данном случае $this->db->countUsers();
запрос сам будет в countUsers() а это нормально
И ещё вопрос по construct(DBWorker $db) вы аргументом передаёте целый класс? Так можно? Недостаток тут что придётся тогда передавать его при создании $val = new Validation(DBWorker $db);
так и пойдёт что потом в него надо ещё передать класс логгера ещё что бы залогировать какую-то ситуацию и пошло-поехало ))
Ну да, вы фактически описали вариант второй. Тут толко вопрос снимать у него деньги в первый день и с 0 на счету он пользуется 30 дней или в последний день и сумма греет душу ему весь месяц )) Хотя он тогда не будет понимать почему деньги не тратятся
Комментарий даёт представление о том, на что мы смотрим именно сейчас, но никак не говорит о том, есть ли нужная штука в другой части системы, написанной год назад