если бы все классы были линейными (не были реализациями интерфейсов или абстрактных классов), то в теории вообще не нужно было бы явно добавлять сервисы в сервис контейнер?
Да, в таком случае, dic сможет разрешить всё самостоятельно.
Где эта граница, где биндить и резолвить надо явно, а где нет?
Да нет никакой границы. Всё делается под конкретный кейс. Если объект имеет пустой конструктор и вам не нужно всегда работать с одним и тем же объектом, то контейнер всё сделает сам. Для чего вам забивать провайдер кодом на подобии:
$container->bind(SimpleObject::class);
// Или
$container->bind(SimpleObject::class, SimpleObject::class);
// Или
$container->bind(SimpleObject::class, function () {
return new SimpleObject();
});
в военную кафедру с моими болячками попасть будет сложно или почти невозможно
Если вас берут в армию с этими заболеваниями, значит они не критичны. А это значит, что "решить" эту проблему и поступить на военку гораздо проще, чем откосить от армии.
Возможно, вопрос некорректно сформулирован. Я, лишь, попытался предположить, что автор хотел спросить на самом деле. Ответил я на его вопрос или нет, решать автору.
AVKor, автор вопроса не разделяет вашего недовольства. Программирование здесь ни при чем, паскаль я упоминал, дабы не разъяснять значение оператора div. И "скорее", в данном контексте, является ни чем иным, как вводным словом и не несёт никакой смысловой нагрузки, а лишь связывает предложения.
Интересно почитать комментарии о моей поделке.
Вообще, скажу сразу, что сделано не следуя одной из doctrine best practice. Flush(), по-хорошему, должен выноситься из репозитория и выполняться в конце запроса 1 раз. Этот подход подразумевает генерацию primary key на уровне приложения, а не на уровне СУБД. В следствии, приходится использовать UUID, который может стать причиной некоторых проблем при интеграции магазина с другими системами, лаунчерами и тд.
Булева алгебра действительно не сложная, вот только что-то мне подсказывает, что вы ее не изучили. КНФ, ДНФ, СКНФ, СДНФ, классы Поста, полином Жегалкина, редуцирование булевых функций с помощью карт Карно, минимизация частичных булевых функций методом Квайна - если вы не знаете о чем идет речь/не умеете делать этих простых вещей с ходу, то булеву алгебру вы не знаете от слова совсем.
Да, в таком случае, dic сможет разрешить всё самостоятельно.
Да нет никакой границы. Всё делается под конкретный кейс. Если объект имеет пустой конструктор и вам не нужно всегда работать с одним и тем же объектом, то контейнер всё сделает сам. Для чего вам забивать провайдер кодом на подобии:
?