2011-02-07 87 views
1

有兩種對象:連接不同對象的兩種方法的最佳方式是什麼?

$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,這不好(我希望他們在課堂內)。
或者也許有其他的方法。

回答

0

我可能會創建一個統計一個單獨的類,並使用它像這樣:

$stats = new Statistics($user_id); 
$stats->add_product($product_id); 
相關問題