[ plus_minus @ 18.01.2014. 05:02 ] @
Zezam se sa jednim ličnim projektom u lokalu i nisam pametan oko ovoga. Naime, jako dobra stvar.
Pretpostavljam da je u javi to odvajkada standardizovano, ali, ne znam, ne radim u javi.

U php-u je to "ok/default" tek od verzije 5.4 ... što se meni (shared hosting useru) naravno ne sviđa,
jer 'kamara' hosting provajdera se i dalje drži verzija 5.3.* i najverovatnije će tako biti još dugo.

Fora je u tome što još uvek nisam u mogućnosti da platim koliko treba,
'malo više' za godinu dana ili mesečno za internet zaebancie koje ne donose zaradu i profit, već postoje zbog drugih stvari,
pa da mogu da napucam verziju koja mi odgovara, neg' moram da koristim ono što je na raspolaganju.

Za one koji ne znaju, konkretan primer korišćenja "trait" fora.


Code (php):


/*
 Negde "tamo" u nekom delu koda ..
 koji nema veze sa klasom koja - tek treba da se očita
*/


trait CommonForAll {

     function debugExport($opt, $source='') {

          if($opt == 'reflect'):
               return Reflection::export(new ReflectionObject($this));

          elseif($opt == 'export'):
               if($source == '') echo 'No source to export.';
               else print_r(var_export($source, true)."\n\n");

          else:
               echo 'Who would want to debug null ?!?';
          endif;
     }

     function postResolve() {

          return (!empty($_POST) &&
          $_SERVER['REQUEST_METHOD'] == 'POST') ? TRUE:FALSE;
     }

     function _displayGet() {

          return filter_input( INPUT_GET, 'display', FILTER_SANITIZE_STRING );
     }

}


/*
 
 A negde nakon toga..
 u samoj klasi koja treba da se instancira kasnije ...

*/


protected class
     SomeInstanceParentNameClass {
     
     /* ..... */
}

public class Instance
     Extends SomeInstanceParentNameClass {

     use CommonForAll;

     // Use! Yes, use! :))

     public function MethodName() {
     
          /* Uradi ovo ili ono uz pomoć "trait" metoda - CommonForAll */
         
     }

}

 


Dakle, extends = samo jedna klasa, ne mere dve.. ili tri.
Ako ih treba više - lame.

A nema takvog kodera ili programera da nema bar 5 uvek potrebnih, uvek istih metoda.

Ono oko čega nisam pametan jeste, da li je rano krenuti sa ovim?
Kontam da trebam još da se strpim, što u principu nije neki problem, sve po starom.
Mada, živo me kopka, koliko još vremena treba da prođe dok se 5.4.* ne standardizuje - 100% ?

Ajde malo da se bavimo proricanjem, m?
Ako nemamo pametnijih poslova, ofkors.

Svako mišljenje dobrodošlo.
[ VladaSu @ 20.01.2014. 08:18 ] @
Koji shared hosting je u pitanju? Hostgator vec odavno ima 5.4
[ plus_minus @ 20.01.2014. 09:34 ] @
one.com - 5.3.18

Hostgator ima.. cool.
Loopia, npr. još uvek jeste na verziji 5.3.10
I ima ih još dosta.

U principu, svi se vode starom, oprobanom, "majstor" metodom/filozofijom.

- Ako nešto radi kako treba, ne diraj ga!
[ deZio @ 20.01.2014. 11:31 ] @
Dosta dobrih stvari je dostupno od v. 5.4 ali je još prerano da se prelazi na tu verziju ako se planira distribuiranje aplikacije. Ja koristim 5.2 kao osnovu ako distribuiram kod, znači to je neka minimalna verzija. Mada uskoro planiram napraviti aplikaciju koja će zahteva 5.3. Ali ipak za 5.4 je još prerano..

A u slučaju da se tvoj kod koristi isključivo na serveru koji ti odrediš, a pritom taj server podržava 5.4, ne vidim problem onda :)

Hostgator je još na 5.2 za sve starije naloge a za novije je na 5.3. Ali jednostavnom izmenom .htaccess fajla svi nalozi mogu odabrati 5.3 ili 5.4. Npr. kod HG to izgleda ovako:

Code:
# Use PHP 5.4
AddType application/x-httpd-php54 .php


Tako da kontaktiraj one.com i pitaj da li nude sličan način za biranje php verzije.
[ plus_minus @ 20.01.2014. 11:52 ] @
Ma, sve ja to znam, ali, klijenti u većini slučajeva, već imaju svoj hosting, itd. I naravno ne bi da menjaju.
U slučaju one.com - jok. Oni su jako jeftini i ne nude ništa nenormalno dobro i to je što je.
S' obzirom na njihovu cenu, opravdano.

Traits.. i još mali milion sitnica, konkreno, pisanje adekvatnih kobasica u jednoj liniji koje rade u 5.4 a neće u prethodnim (što ja recimo, volim da radim).. sve to nije problem da se sačeka.
Ono što meni ne ide u glavu, ako ovi što razvijaju pehape, kažu : "It's now safe to upgrade to version this and that and dump previous.. " ..

.. okl'e bre tolika mrzovolja hostera da se jednom u ...... 6 meseci.. pozabave malo i apgrejdom?
Sve i da bude nekog downtime-a.. ne može da traje više od pola sata.. jel' da? Ako je trezvena i ažurna glava, koja zna šta radi, započela proces.. po nekoj mojoj logici.
To jednostavno u 99.99% slučajeva - nikada ne ispadne 'bolno'. Nego ajd'... :)
[ deZio @ 20.01.2014. 12:36 ] @
Problem nije u tome što hosting provajdere mrzi da rade upgrade, već je problem u tome što kada bi prešli odjednom na novu verziju php-a dobili bi ogromni broj poziva podršci sa pitanjem "zašto mi ne radi skripta".

Ne podržavaju sve skripte buduće verzije, zbog toga je problem kako preći na novu verziju a da ne pukne sajt onima koji koriste stariju verziju. Zato se obično radi tako kao što radi HG, a to je da svi nalozi koji su noviji imaju odmah 5.3 a svi stariji da dobije opciju da mogu podesiti 5.3 ili 5.4 ako žele.
[ plus_minus @ 20.01.2014. 12:47 ] @
Hmmm ... koliko ja znam, gotovo svaka naredna 5.* verzija je i backward compatible i uz novotarije, tu su i bugfixovi.. šta to neće da radi sa 5.4 ili 5.5 a htelo je sa 5.3 ili 5.2.. ?
Pogotovo ako je skripta lepo napisana i bez puno "topla-voda otkrovenja" ..

Jeste, neke stvari budu depreciated .. ali, to u samoj error reporting poruci obično bude i naznačeno.. na neki način.. ne ispadne ne znam koliki problem da se pregazi..

php 4.* - hop to - php 5.*
eregi_* vs preg_* .. npr.