-
Singleton pattern che dice "non dovrebbe esserci più di un'istanza della stessa classe", è questo qualcosa che si dovrebbe tenere a quando si progettano applicazioni PHP OOP? Quali sono i vantaggi / gli svantaggi?
class myDOMDocument { private $DOMDocument = new DOMDocument(); private $HTML; public function __construct($html_str) { $this->HTML = $html_str; $this->processHTML(); } public function processHTML() { ... } } //instance 1 $page_three_obj = new myDOMDocument ($html_one); //instance 2 $page_three_obj = new myDOMDocument ($html_two); //instance 3 $page_three_obj = new myDOMDocument ($html_three);
-
Il passaggio dell'oggetto a un oggetto è una buona pratica in OOP rispetto al passaggio di dati tra due oggetti come argomenti del metodo pubblico? Quali sono i vantaggi / gli svantaggi di entrambi i modi?
Passaggio dell'oggetto a un oggetto
class one {
public $myProperty;
...
}
$One = new one();
class two {
private $Obj1;
public function __construct(One $Obj1) {
$this->$Obj1 = $Obj1;
}
public function doSomething() {
... $this->$Obj1->myProperty ...
}
}
$Two = new two($One);
$Two->doSomething();
vs passaggio di dati tra due oggetti
class one {
public $myProperty;
...
}
$One = new one();
class two {
public function doSomething($inputArg) {
... $inputArg ...
}
}
$Two = new two();
$Two->doSomething($One->myProperty);