可以在PHP类中使用GetText吗?

时间:2011-10-26 14:55:06

标签: php class object internationalization gettext

例如:

    class User {
        private $sex = 1;

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

我相信最好不要在课堂内使用gettext,但我不知道在这种情况下我该怎么做。

1 个答案:

答案 0 :(得分:3)

在PHP中,在对象内部使用全局函数是可以接受的 - 因为大多数内置库都是全局函数,但实际情况并非如此。在这种情况下,由于您使用的是外部库,因此它实际上是我最谨慎的方法。

作为旁注:

  1. getSex()应该总是返回一些好的编程习惯,也许,在这种情况下,让它返回__('Unknown');__('Other');
  2. 会很好
  3. 如果您正在进行一系列if(a == b){}elseif(a == c){}elseif(a ==d )...,最好使用switch声明。
  4. 通常情况下,如果有一个方法getX并且有一个私有变量x,则更常见的是,getX将返回与x相同类型的东西 - 在这种情况下,两者都会返回一个数字。这不一定总是这样(它是由于某种原因而封装的),但它将帮助其他开发人员更好地学习代码库。