【发布时间】:2014-03-12 07:29:50
【问题描述】:
假设我必须创建一个类,它需要一些文本进行一些处理并返回它......没有依赖关系,它是一个无状态类..
我想知道创建一个没有构造函数的无状态类或者只创建一个静态类会更好(在 php 中它只是静态方法)
这样的类:
class ClassName
{
public function processText($text)
{
// Some code
$text = $this->moreProcessing($text);
return $text;
}
protected function moreProcessing($text)
{
return $text;
}
}
还有这个:
class ClassName
{
public static function processText($text)
{
// Some code
$text = static::moreProcessing($text);
return $text;
}
protected static function moreProcessing($text)
{
return $text;
}
}
我知道将依赖注入到使用这些类的类中会更好,但假设我不会进行依赖注入..
我的问题主要是为上面的简单示例创建静态类会更好吗?
【问题讨论】:
-
问题是,为什么你会有一个没有任何状态的类。那不是类,是函数容器……
-
protected static function和protected function有什么区别?好吧,静态方法中没有多态行为,就是这样 -
@EricShaefer 你是对的,只是我不想在主要负责数据库操作的类中包含除了清理文本之外什么都不做的方法。
标签: php oop static-methods stateless