2011-04-09 99 views
0

是不是很好的做法,就像我在下面展示的那樣?如果在某個表中有行,我想要做next_function_to_do_smth函數,如果是,我們調用函數並使用die關閉構造。如果沒有,我們從其他表中獲取行。這是不好的做法嗎?

如果這是不好的做法,我應該用什麼來代替它?

謝謝。

class test 
{ 
    function __construct() 
    { 
     $this->get_mysql_count("mysql query to get COUNT(*) of smth"); 

     if($this->get_mysql_count > 0) 
     { 
      $this->next_function_to_do_smth(); 
      die(); 
     } 

     $this->get_mysql_count("mysql query to get COUNT(*) of smth2"); 

     if($this->get_mysql_count > 0) 
     { 
      $this->next_function_to_do_smth2(); 
      die(); 
     }  

     //and so on, and so on 
    } 
} 
+2

[codereview.stackexchange.com](http://codereview.stackexchange.com) – Shaz 2011-04-09 20:53:39

回答

1

這不是一個很乾淨的解決方案。我會考慮一個方法initialize(),它將從構造函數中調用。這個方法會和你的構造函數一樣,但會'返回'而不是'死'。或者您可以使用if/else if/else塊來控制程序執行流程。

+0

偉大的建議與回報。謝謝。 – 2011-04-09 22:38:58

0

那麼,那肯定是奇怪的戰術,但我不認爲它是直接禁止的地方。唯一的事情是一個類不應該真的執行die()構造。可能只有像異常處理程序這樣非常特殊的類纔有這個特權。

可能是,如果你解釋整件事情,我們會發現別的建議。

+0

我不想做很多if else語句。 – 2011-04-09 20:54:54

相關問題