Как лучше передавать методы в функцию, в виде обьектов или значений? Итак.
Необходимо создать заказ на сайте используя метод Market::createOrder().
Думаю о архитектуре. Как лучше получать параметры. В виде обьектов или значений.class Car extends ActiveRecord
{
protected $id;
protected $name;
}
class User extends ActiveRecord
{
protected $id;
protected $name;
}
class Market
{
public function createOrder(Car $Car, User $User)
{
// не нужно проверять существование в бд
// executing ...
}
// OR
public function createOrder($carId, $userId)
{
// нужно проверить на валидность
// executing ...
}
}
Вот думаю как лучше сделать.
Проверять через PHP или foreign key в бд сделать. Вот только головной боли с ними очень много.

21 Авг 2019 в 07:02
352 +1
0
Ответы
1

В данном случае лучше передавать объекты в функцию в виде аргументов. Это позволит уменьшить вероятность ошибок при передаче параметров, так как объекты содержат все необходимые данные и методы для работы с ними.

Также использование объектов позволит сделать код более читаемым и поддерживаемым, так как будет понятно, какие параметры ожидает функция и какие методы можно вызывать для работы с этими параметрами.

Если необходимо проверить наличие записей в базе данных, можно использовать foreign key в баз данных, чтобы гарантировать целостность данных. Таким образом, передаваемые объекты будут содержать только валидные данные.

Итак, лучше использовать передачу объектов в виде аргументов для функции createOrder в классе Market.

20 Апр в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 371 автору
Первые отклики появятся уже в течение 10 минут
Прямой эфир