Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.www.php > #22362
| From | alex <1j9448a02@lnx159sneakemail.com.invalid> |
|---|---|
| Newsgroups | it.comp.www.php |
| Subject | Re: parent::__contruct() prima o dopo |
| Date | 2018-11-24 14:39 +0100 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <ptbka8$1uvd$1@gioia.aioe.org> (permalink) |
| References | <pt8bik$jv7$1@gioia.aioe.org> <g5sin5Flg5vU2@mid.individual.net> |
Il 24/11/18 10:07, Alessandro Pellizzari ha scritto:
> Evita l'ereditarietà, se puoi.
>
> E poi scegli quello giusto per il caso d'uso. In Java sei obbligato a
> chiamare parent() come prima cosa. In PHP hai flessibilità di farlo
> dopo, quindi se settare _saveAs a un valore diverso può essere utile al
> costruttore del genitore, usa la prima, altrimenti la seconda.
>
> È comunque un code smell non indifferente. Probabilmente se lo stai
> facendo c'è un modo migliore per fare la stessa cosa con codice più pulito.
interface Sender {
/**
* Invia un'email.
*/
function send();
}
class SimpleSender implements Sender {
function send() {
//...
}
}
abstract class AdvancedSender implements Sender {
protected $_wrapped;
public function __construct( Sender $wrapped ) {
$this->_wrapped = $wrapped;
}
}
class VerboseSender extends AdvancedSender {
private $_verboseStream;
public function __construct( $verboseStream, $wrapped ) {
$this->_verboseStream = $verboseStream;
parent::__construct( $wrapped );
}
function send() {
$this->_verboseStream->write('Sto inviando un email...');
$this->_wrapped->send();
}
}
Tu come faresti?
Back to it.comp.www.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
parent::__contruct() prima o dopo alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-11-23 08:51 +0100
Re: parent::__contruct() prima o dopo Alessandro Pellizzari <shuriken@amiran.it> - 2018-11-24 09:07 +0000
Re: parent::__contruct() prima o dopo alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-11-24 14:39 +0100
Re: parent::__contruct() prima o dopo Alessandro Pellizzari <shuriken@amiran.it> - 2018-11-24 13:51 +0000
Re: parent::__contruct() prima o dopo alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-11-24 16:04 +0100
Re: parent::__contruct() prima o dopo Alessandro Pellizzari <shuriken@amiran.it> - 2018-11-25 11:12 +0000
Re: parent::__contruct() prima o dopo alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-11-26 11:26 +0100
Re: parent::__contruct() prima o dopo Alessandro Pellizzari <shuriken@amiran.it> - 2018-11-26 10:31 +0000
Re: parent::__contruct() prima o dopo alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-11-26 12:26 +0100
Re: parent::__contruct() prima o dopo Alessandro Pellizzari <shuriken@amiran.it> - 2018-11-26 11:45 +0000
Re: parent::__contruct() prima o dopo alex <1j9448a02@lnx159sneakemail.com.invalid> - 2018-11-26 13:02 +0100
Re: parent::__contruct() prima o dopo Alessandro Pellizzari <shuriken@amiran.it> - 2018-11-26 15:18 +0000
Re: parent::__contruct() prima o dopo Flavix <imeil@a.a> - 2018-11-26 17:03 +0100
Re: parent::__contruct() prima o dopo Alessandro Pellizzari <shuriken@amiran.it> - 2018-11-26 16:20 +0000
Re: parent::__contruct() prima o dopo off line <mail@inva.it> - 2018-11-27 08:25 +0100
csiph-web