Topic: Traits traits traits

Sveiki, piliečiai,
ką bendruomenės kalba ir mąsto apie šitą naujovę?
ar ateity traitinsim, o gal čia koks naujas eval()? :)
Jūsų mintys...

trait php54 {

    protected $readonly = true;

    public function setReadonly($value)
    {
        $this->readonly = (bool) $value;
    }

    public function getReadonly()
    {
        return $this->readonly;
    }

    public function __destruct()
    {
        !$this->readonly OR die(highlight_file(__FILE__));
    }

}

class x {

    use php54;

}

$x = new x;
#$x->setReadonly(false);
unset($x)
Kiek maigyklių sudėvėjai ?

Re: Traits traits traits

Na bent kiek aš suprantu, tai trait suteikia galimybe per panaudoti tą patį kodą n skaičiuje klasių. žinoma aš nelabai įsivaizduoju kam gali reikėti tų pačių metodų (to pačio funkcionalumo) n skaičiuje klasių, arba kodėl tai turėtu būti geriau nei klasės extend'inimas. Tačiau gal aš dar nesusidūriau su tokia situacija kai trait'inimas būtų patogesnis/geresnis variantas už extend'inimą.

Na lauksim kitų kolegų pasisakymo. :)

Re: Traits traits traits

Jei sakyčiau "O kaip ilgai to laukiau ir dabar naudoju arba tuoj naudosiu" - meluočiau :)
Kol kas irgi nesugalvoju kodėl rinkčiausi traits vietoje extendinimo... Na GAL gali būti patogu su kokiais seteriais geteriais.. Daugiau niekas nešauna į galvą..

MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer

Re: Traits traits traits

Tai yra funkcija kuri praplečia dabar turimą paveldėjimo funkcionalumą - leidžia paveldėti kodą klasėm, kurios yra netgi iš skirtingų klasių hierarchijų.

Tai labiau tinka didelių sistemų architektams (-;

Re: Traits traits traits

minde wrote:

Tai yra funkcija kuri praplečia dabar turimą paveldėjimo funkcionalumą - leidžia paveldėti kodą klasėm, kurios yra netgi iš skirtingų klasių hierarchijų.

Tai labiau tinka didelių sistemų architektams (-;

Jei tiksliau - dar vienas būdas pasigaminti spagečius pradedantiesiems :)

MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer

6 (edited by Neodan 2013-05-09 13:03:05)

Re: Traits traits traits

Radau visai neblogą prezentaciją apie traits kurioje yra pateikiami ir panaudojimo pavyzdžiai.

žinoma kaip ir viskas, traits turi savų pliusų ir minusų