2011-10-26 106 views
0

例如:在PHP類中使用GetText可以嗎?

class User { 
     private $sex = 1; 

     public function getSex() { 
      if($this->sex == 1) 
       return __('Male'); 
      elseif($this->sex == 2) 
       return __('Female'); 
     } 
    } 

我認爲這是更好的內部類,不使用gettext的,但我不知道我能在這種情況下做的。

回答

3

在PHP中,在對象—中使用全局函數是可以接受的,因爲大多數內置庫都是全局函數,但事實並非如此。在這種情況下,由於您正在使用外部庫,它實際上是最謹慎的方法。

補充說明:

  1. getSex()應始終返回的東西作爲良好的編程習慣的問題,也許,在這種情況下,這將是件好事,它返回__('Unknown');__('Other');
  2. 如果您正在執行一系列if(a == b){}elseif(a == c){}elseif(a ==d)...,則最好使用switch聲明。
  3. 通常情況下,如果存在getX方法並且存在私有變量x,getX將返回與x —相同類型的東西,這兩種情況都會返回一個數字。這並不總是如此(它是封裝的原因),但它會幫助其他開發人員更好地瞭解代碼庫。
+0

對於1.如果只有兩個選項可用並且被選中的變量都不是,它也可能會引發異常。 – dsas

相關問題