Есть два объекта:Каков наилучший способ подключения двух методов разных объектов?
$user = new user($user_id);
$product = new product($product_id);
Пользователь добавлен продукт. Мне нужно позвонить $product
, чтобы добавить новый продукт, и $user
, чтобы обновить его статистику. Эти два действия полностью связаны друг с другом. Как мне их называть?
Я вижу два пути
# 1) two separate functions
$product->add_new($product_data);
$user->added_product();
# 2) calling static method in the end of the first
$product->add_new($product_data, $user->id);
function add_new($data, $user_id)
{
... // data processing
user::added_product($user_id); // static
}
Что является лучшим для развития особенности - первый способ (неявно вызывают две связных функций), или вторые, со статической функцией?
Мне не нравится статический метод, но если продукт по какой-то причине не был добавлен, статистика пользователя не должна добавляться. Таким образом, на верхнем уровне кода будет некоторая if/else, и это нехорошо (я хочу, чтобы они были внутри класса).
Или, может быть, есть другой способ.