我有一個工廠類,它在調用方法 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 關注
- 136 瀏覽
添加回答
舉報
0/150
提交
取消