特质和普通助手类有什么区别?

时间:2018-11-21 14:57:07

标签: php laravel

a)我具有特质,并在另一堂课中使用它。我知道那是怎么回事。

b)我有一个普通的随机类,称为Helper,并且在该Helper类中具有函数,并且将该类包括在另一个类中。我可以通过使用

在其他类中使用这些帮助程序类的功能
  

Helper :: method()

如果方法是静态的或使用new关键字并使用

之类的方法
  

$ helper-> method()。

c)我可以只有一个php文件和功能。根本没有课。我可以将其包含在另一个类中,然后使用它

  

方法()

就是这样。

d)我可以有一个类,然后另一个类可以扩展它并具有其功能,但是这样不好,我不能同时扩展2个类。

与b)和c)解决方案相比,为什么使用特质是最好的方法?

1 个答案:

答案 0 :(得分:-1)

  

为什么与b)和c)解决方案相比,使用特征是最好的方法?

您的每个示例对于不同的开发都是一个很好的解决方案。

 Helper::method();
 Helper->method();

您有一个将在许多类中使用的功能。该功能是相对通用的。 然后将其放在Helper类上,并尽可能将其设置为静态

 method();

这是另一个问题:过程还是面向对象的开发?然后取决于上下文。

Trait{ ... }

某些特定的(或不是)功能需要存在于不同的类中吗? 或者您想按功能的用途或其他方式对功能进行排序(当一个类中的功能太多时,我会做很多事情)


但是请记住,在开发时要遵循一些约定。 如果您想共享您的代码(例如GitHub),则最好坚持使用它们(这不是真正的义务,但是...)。

总而言之,这取决于您想做什么,取决于您的开发背景。 没有比其他方法更好的方法了。