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


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

Re: trait per decoratore standard

From Alessandro Pellizzari <shuriken@amiran.it>
Newsgroups it.comp.www.php
Subject Re: trait per decoratore standard
Date 2016-04-22 14:39 +0100
Message-ID <dnunrpFo6dcU1@mid.individual.net> (permalink)
References <nfcppf$1vs$1@gioia.aioe.org> <dnu9l4Fkjo2U1@mid.individual.net> <nfct6l$8bg$1@gioia.aioe.org>

Show all headers | View raw


On 22/04/2016 11:08, alex wrote:

> Il 22/04/2016 11:36, Alessandro Pellizzari ha scritto:

>> Non cercare di implementare decoratori coi trait.

> lo si fa per evitare rindondanze e scrivere sempre le stesse istruzioni
> di base

Le uniche due cose che un decoratore deve fare sono implemnetare 
l'inteface dell'oggetto wrappato (e non puoi farlo con un trait) e 
prendere l'oggetto wrappato nel costruttore (e diventa impossibile usare 
type-hinting o verificare se stai wrappando il tipo giusto di oggetto se 
lo metti in un trait generico).

Alias: non usare i trait per fare decoratori.

>      protected function _set($wrapped) {
>      function get() {

Un decoratore non deve avere setter e getter per l'oggetto wrappato.
Sia perchè l'interface dell'oggetto wrappato potrebbe volerli usare per 
i suoi motivi, sia perchè deve essere totalmente trasparente nell'uso, e 
permettere a chiunque di cambiare l'oggetto wrappato o di andarselo a 
prendere, è sbagliato.

E se poi hai un oggetto decorato 4 volte, per risalire all'oggetto 
originale fai ->get()->get()->get()->get() ?

Poi ognuno sceglie lo strumento più doloroso per farsi male, quindi puoi 
continuare quello che stai facendo, solo se lo rendi pubblico magari non 
chiamarlo decoratore o wrapper. :)

Bye.

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


Thread

trait per decoratore standard alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-04-22 11:10 +0200
  Re: trait per decoratore standard Alessandro Pellizzari <shuriken@amiran.it> - 2016-04-22 10:36 +0100
    Re: trait per decoratore standard alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-04-22 12:08 +0200
      Re: trait per decoratore standard Alessandro Pellizzari <shuriken@amiran.it> - 2016-04-22 14:39 +0100
        Re: trait per decoratore standard alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-04-22 16:31 +0200
          Re: trait per decoratore standard Alessandro Pellizzari <shuriken@amiran.it> - 2016-04-22 18:16 +0100
            Re: trait per decoratore standard fmassei@gmail.com - 2016-04-22 10:58 -0700
              Re: trait per decoratore standard Alessandro Pellizzari <shuriken@amiran.it> - 2016-04-22 20:00 +0000
                Re: trait per decoratore standard fmassei@gmail.com - 2016-04-22 14:01 -0700
                Re: trait per decoratore standard Alessandro Pellizzari <shuriken@amiran.it> - 2016-04-23 17:56 +0000
                Re: trait per decoratore standard fmassei@gmail.com - 2016-04-24 22:16 -0700
                Re: trait per decoratore standard Alessandro Pellizzari <shuriken@amiran.it> - 2016-04-25 14:10 +0100
              Re: trait per decoratore standard alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-04-22 22:26 +0200
            Re: trait per decoratore standard alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-04-22 22:18 +0200
              Re: trait per decoratore standard Alessandro Pellizzari <shuriken@amiran.it> - 2016-04-22 20:46 +0000
                Re: trait per decoratore standard alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-04-23 10:30 +0200
                Re: trait per decoratore standard alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-04-23 11:07 +0200
                Re: trait per decoratore standard alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-04-23 11:32 +0200
                Re: trait per decoratore standard Alessandro Pellizzari <shuriken@amiran.it> - 2016-04-23 17:50 +0000
                Re: trait per decoratore standard alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-04-24 10:36 +0200
                Re: trait per decoratore standard alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-04-24 10:50 +0200
                Re: trait per decoratore standard Alessandro Pellizzari <shuriken@amiran.it> - 2016-04-24 11:28 +0000
                Re: trait per decoratore standard alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-04-24 18:48 +0200
                Re: trait per decoratore standard fmassei@gmail.com - 2016-04-24 22:19 -0700
                Re: trait per decoratore standard Alessandro Pellizzari <shuriken@amiran.it> - 2016-04-23 17:45 +0000
                Re: trait per decoratore standard alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-04-24 10:26 +0200
                Re: trait per decoratore standard Alessandro Pellizzari <shuriken@amiran.it> - 2016-04-24 11:26 +0000
                Re: trait per decoratore standard alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-04-26 14:50 +0200
                Re: trait per decoratore standard Alessandro Pellizzari <shuriken@amiran.it> - 2016-04-26 15:07 +0100
                Re: trait per decoratore standard alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-04-26 21:11 +0200
                Re: trait per decoratore standard Alessandro Pellizzari <shuriken@amiran.it> - 2016-04-26 19:31 +0000
                Re: trait per decoratore standard alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-04-26 22:02 +0200
                Re: trait per decoratore standard Alessandro Pellizzari <shuriken@amiran.it> - 2016-04-26 20:39 +0000
                Re: trait per decoratore standard alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-04-27 16:10 +0200
                Re: trait per decoratore standard Alessandro Pellizzari <shuriken@amiran.it> - 2016-04-27 15:16 +0100
                Re: trait per decoratore standard alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-04-27 17:26 +0200
                Re: trait per decoratore standard alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-04-29 17:42 +0200
                Re: trait per decoratore standard Alessandro Pellizzari <shuriken@amiran.it> - 2016-04-29 17:12 +0100
                Re: trait per decoratore standard alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-04-30 13:20 +0200
                Re: trait per decoratore standard fmassei@gmail.com - 2016-04-30 08:06 -0700
                Re: trait per decoratore standard alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-04-30 21:26 +0200
                Re: trait per decoratore standard Alessandro Pellizzari <shuriken@amiran.it> - 2016-04-30 19:42 +0000
                Re: trait per decoratore standard alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-04-30 23:20 +0200
                Re: trait per decoratore standard Alessandro Pellizzari <shuriken@amiran.it> - 2016-04-30 21:43 +0000
                Re: trait per decoratore standard alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-05-01 10:34 +0200
                Re: trait per decoratore standard fmassei@gmail.com - 2016-04-30 14:38 -0700
                Re: trait per decoratore standard Alessandro Pellizzari <shuriken@amiran.it> - 2016-04-30 21:41 +0000
                Re: trait per decoratore standard alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-05-01 10:45 +0200
                Re: trait per decoratore standard fmassei@gmail.com - 2016-05-01 09:02 -0700
                Re: trait per decoratore standard alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-05-02 10:45 +0200
      Re: trait per decoratore standard fmassei@gmail.com - 2016-04-22 07:12 -0700
        Re: trait per decoratore standard alex <1j9448a02@lnx159sneakemail.com.invalid> - 2016-04-22 16:44 +0200
          Re: trait per decoratore standard fmassei@gmail.com - 2016-04-22 07:58 -0700

csiph-web