我想設計一個無狀態類,用於在應用程序的多個位置重複使用同一個實例,而不會產生任何副作用。這是必要的,因爲許多依賴注入容器總是返回類的相同實例。PHP - 設計無狀態類
假設我們有DirectoryUtils
類:
<?php
class DirectoryUtils{
private $dir;
public function __constructor($dir){
if($this->checkDirectory($dir)){
$this->dir = $dir;
}else{
throw new Exception("Invalid Directory");
}
}
public function deleteAllFiles(){
// code to delete all files in $this->dir;
}
public function renameDirectory($newName){
// code to rename $this->dir name to $newName
}
private function checkDirectory($dir){
// check if directory exists, is writable...
}
}
這個類的一個實例是難受重用。如何使它無狀態?
StateLess ==不知道以前發生過什麼。 – RiggsFolly
*這是必要的,因爲許多依賴注入容器總是返回類的相同實例* - 其中許多容器也允許您解決此問題。你嘗試了哪些? – iainn
@iainn PHP-DI將在下一個主要版本中刪除原型範圍。 – Bob