我有一个工厂类,它在调用方法 createPdf() 时创建一个 PDF 对象。我需要的所有功能都包含在该对象中。工厂本身通过创建对象来实现单一职责的 SOLID 原则,对吗?那么,在下面添加“use”语句是否违反了SOLID原则?或者在某些方面,事情应该是这样的?use Vendor\Module\Pdf;class PdfFactory{ public function createPdf(){ return new Pdf(...); }}
1 回答
慕丝7291255
TA贡献1859条经验 获得超6个赞
根据PHP 定义:
使用别名或导入来引用外部完全限定名称的能力是命名空间的一个重要特性。这类似于基于 unix 的文件系统创建指向文件或目录的符号链接的能力。
你的例子很可能写成:
class PdfFactory
{
public function createPdf() {
return new \Vendor\Module\Pdf(…);
}
}
所以回答你的问题,use永远不会是违反任何原则的标准。
- 1 回答
- 0 关注
- 112 浏览
添加回答
举报
0/150
提交
取消