Uso spesso metodi "factory" statici per creare oggetti dal database.
class Job {
protected $objDb;
public function __construct($objDb) {
$this->objDb = $objDb;
}
public static function LoadArrayByProjectId($intProjectId, $objDd) {
//some code that loads the jobs
$objJob = new Job($objDb);
$arr[] = $objJob;
//end of loop
return $arr;
}
public static function LoadArrayByUserId($intUserId, $objDb) {
//similar code
}
}
Quindi cerco di utilizzare Dependency Injection passando al costruttore $ objDb. Il problema è il parametro $ objDb nelle funzioni statiche. È molto fastidioso passare il param in giro.
Come gestisci questo caso? Ci sono soluzioni migliori?