Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.www.php > #22360

Re: parent::__contruct() prima o dopo

From Alessandro Pellizzari <shuriken@amiran.it>
Newsgroups it.comp.www.php
Subject Re: parent::__contruct() prima o dopo
Date 2018-11-24 09:07 +0000
Message-ID <g5sin5Flg5vU2@mid.individual.net> (permalink)
References <pt8bik$jv7$1@gioia.aioe.org>

Show all headers | View raw


On 23/11/2018 07:51, alex wrote:

> class A extends B {
>      private $_saveAs;
> 
>      function __construct1($saveAs, $wrapped) {
>          $this->_saveAs = $saveAs;
>          parent::__construct( $wrapped );
>      }
> 
>      function __construct2($saveAs, $wrapped) {
>          parent::__construct( $wrapped );
>          $this->_saveAs = $saveAs;
>      }
> }
> 
> Quale dei due costruttori scegliere?

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.

Bye.

Back to it.comp.www.php | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


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