2014-01-28 106 views
0

我是新来OOP,我想知道我是否应该使用单一功能或对象。 我应该这样做:我应该在OOP中使用单个函数还是对象?

class Escape_String{ 
    protected $string; 

    function __construct($string){ 
     if(get_magic_quotes_gpc) 
      return $string; 
     else 
      return addslashes($string); 
    } 
} 

$string = new Escape_String($_GET['string']); 

,或者我应该只使用一个函数,而不是一个对象? (好像是这个:)

escapeString($string){ 
    if(get_magic_quotes_gpc) 
     return $string; 
    else 
     return addslashes($string); 
} 

$string = escapeString($_GET['string']); 
当然

的实物Escape_String /功能escapeString比较复杂一点,但你应该明白我的意思

+0

'Escape_String'对象除了'addslashes'还能做其他任何事吗?因为如果不是这样,一个班级看起来像是过度杀伤。 –

+0

都不是。你想要做的是错误的方法。使用[PDO预处理语句(http://www.php.net/manual/en/pdo.prepared-statements.php) – MikeSW

+0

解决: 我会做出一个名为“逍遥游”类或类似的,那么我要是把它多个静态功能不同的“类型”(MySQL的查询,字符串,数组等) – Jonan

回答

1

流行的框架阅读SOURSE代码在这种情况下,我会说这是最适合作为函数或者作为一个类的公共静态方法,如果你有其他类似的方法你想组成一个类库。然而,我不会为这种方法创建一个类。

2

尝试这样:

class StringUtil 
{ 

    static public function escapeString($string) 
    { 
     if(get_magic_quotes_gpc) { 
      return $string; 
     } else { 
      return addslashes($string); 
     } 
    } 

} 

它是静态的,便于使用。

echo StringUtil::escapeString($string); 
+0

你应该为未来的用户添加一些关于为什么使用静态方法的解释。 +1 – raam86

相关问题