ݺߣ

ݺߣShare a Scribd company logo
A PHP 5.4 úDzԲá
Bemutatkozás Kovács Ferenc
Elsősorban webfejlesztő
+Üzemeltetés, IT biztonság, ѾőéٴDzíá
Társszerkesztő a Weblaboron
Közreműködő a PHP projectben
__NEM__ „evangelista” :)
A Tyrael nick esetleg ismerősebb lehet.
𱹱é
Történelmi visszatekintés 4.0 – 2000.05.22 (Zend Engine)
5.0 – 2004.07.13 (Zend Engine 2)
5.1 – 2005.11.24
5.2 – 2006.11.02
6.0 – ???
5.3 – 2009.06.30
5.4 – ~2011.Q4/2012.Q1
Roadmap Az nincs
WTF? Van az 5.4 kiadás 2 RM-je (Release Manager): Stas Malyshev
David Soria Parra Van egy Release Process RFC: https://wiki.php.net/rfc/releaseprocess Illetve egy Voting RFC: https://wiki.php.net/rfc/voting Elméletileg a mindkét RFC el lett fogadva...
RM Koordinálja egy adott kiadás körüli teendőket: Kezdeményezi, illetve moderálja az fejlesztések körüli megbeszéléseket, illetve a szavazást.
Kijelöli a kiadási folyamat egyes lépéseinek céljait és határidejét.
Tageli és csomagolja a kiadásra jelölt változatot.
Gondoskodik róla, hogy a releaseprocess RFC-ben foglaltak betartásra kerülnek.  Az RM-ek jóváhagyása nélkül nem kerülhet az adott ágban új verzió kiadásra.
Hogyan alakul ki egy új verzió? Ami az előző verzióba valamiért nem fért bele.
Minden ami a trunkból átemelhető.
Hibajavítások (minden érintett branchre).
Ad hoc fejlesztések, elméletileg minden nem triviális fejlesztéshez kellene hogy legyen RFC illetve szavazás.
A BC(visszafele kompatibilitás) illetve a nem megfelelő stabilitás a leggyakoribb oka annak ha valami végül mégis kimarad.
BC Internal API
ABI Userland API Extensions
BC Major(4.0, 5.0, etc) Bármilyen BC break engedélyezett. Minor(5.1, 5.2, 5.3) Internal API/ABI megváltozhat.
Userland API nem, vagy nagyon indokolt esetben.
Kiegészítők átköltöztethetőek core-ból pecl-be. Micro(5.3.6, 5.3.7) Semmilyen BC break nem engedélyezett.
Új, önálló feature is csak indokolt esetben.
Miért nincs ez mindig így? A releaseprocess RFC még nincs 1 éves.
Nagyon sok BC break nem szándékosan történik és néha túl későn derül ki: úgy marad.
Néha ugyan nyilvánvaló a változás, de mindenki úgy gondolja, hogy senkit nem fog érinteni.
Néha egyszerűen nincs más megoldás, mert fontos egy adott javítás (biztonsági rés, etc.).
Hogyan lehet ezen segíteni? Növelni kell a teszt esetek coverage-ét, illetve komolyan kell venni, ha egy teszteset elkezd elhasalni. (Ez utóbbi el volt hanyagolva.)
Be kell vonni több résztvevőt, alkalmazást az RC verziók tesztelésébe, hogy még a stable előtt legyen lehetőség kiszúrni és javítani a hibákat.
Be kell tartani az RFC-t...
ÚDzԲáǰ
Closure rebind 5.3-ban megállapodás hiányában nem lett megvalósítva az objektumok támogatása a névtelen függvényekhez: https://wiki.php.net/rfc/closures/removal-of-this 5.4-ben immár erre is lehetőségünk lesz.
Closure rebind Mostantól a Closure-ökhöz tartozhat egy scope: A Closure úgy éri el a bound objektumot mintha a Closure a scope-ban megadott osztályban lenne egy metódus. (visibility miatt fontos pl.) Mostantól a Closure-ökhöz tartozhat egy hozzárendelt(bound) objektum. Ez lesz a $this az adott Closure számára. Mostantól a Closure-ök definiálhatóak static-ként. Ebben az esetben nem érhető el a $this.
Closure rebind Scope:  Ha egy osztályon belül lett a Closure definiálva, akkor az adott osztály lesz a scope automatikusan.

More Related Content

Similar to A PHP 5.4 úDzԲá (20)

Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Open Academy
Closures In Java Script
Closures In Java ScriptClosures In Java Script
Closures In Java Script
ustak
Closures In JavaScript
Closures In JavaScriptClosures In JavaScript
Closures In JavaScript
ustak
ECMAScript 5 Classes
ECMAScript 5 ClassesECMAScript 5 Classes
ECMAScript 5 Classes
Máté Farkas
Iptables gyorstalpaló
Iptables gyorstalpalóIptables gyorstalpaló
Iptables gyorstalpaló
Benedek Rakovics
Laravel for Dummies
Laravel for DummiesLaravel for Dummies
Laravel for Dummies
Tamás Erdélyi
Mi a baj a Drupaloddal
Mi a baj a DrupaloddalMi a baj a Drupaloddal
Mi a baj a Drupaloddal
thesnufkin
Jee kurzus 1 het
Jee kurzus 1 hetJee kurzus 1 het
Jee kurzus 1 het
Janos Seteny
LESS, mint css preprocessor
LESS, mint css preprocessorLESS, mint css preprocessor
LESS, mint css preprocessor
Levente Kiraly
Standardize it!
Standardize it!Standardize it!
Standardize it!
Balázs Francsics
Cgi röviden ajmar
Cgi röviden ajmarCgi röviden ajmar
Cgi röviden ajmar
bonami2014
Miért vagyok Python rajongó? - avagy kalandozások egy nyílt forrású programoz...
Miért vagyok Python rajongó? - avagy kalandozások egy nyílt forrású programoz...Miért vagyok Python rajongó? - avagy kalandozások egy nyílt forrású programoz...
Miért vagyok Python rajongó? - avagy kalandozások egy nyílt forrású programoz...
Ferenc Szalai
Flash és PHP Kommunikáció
Flash és PHP KommunikációFlash és PHP Kommunikáció
Flash és PHP Kommunikáció
tlof
Laravel - Veszprémi Technology Meetup
Laravel - Veszprémi Technology MeetupLaravel - Veszprémi Technology Meetup
Laravel - Veszprémi Technology Meetup
Bálint Szekeres
Hogy kerül a csizma az asztalra?
Hogy kerül a csizma az asztalra?Hogy kerül a csizma az asztalra?
Hogy kerül a csizma az asztalra?
Open Academy
Fordítási alapok
Fordítási alapokFordítási alapok
Fordítási alapok
Kálmán "KAMI" Szalai
Szerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelvenSzerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelven
Krisztián Gyula Tóth
Szoftver tesztelés - Gyakorlati jó-ha-tudod
Szoftver tesztelés - Gyakorlati jó-ha-tudodSzoftver tesztelés - Gyakorlati jó-ha-tudod
Szoftver tesztelés - Gyakorlati jó-ha-tudod
Richard Oliver Legendi
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Webműves Kelemen tanácsai, avagy mi kell a PHP falába?
Open Academy
Closures In Java Script
Closures In Java ScriptClosures In Java Script
Closures In Java Script
ustak
Closures In JavaScript
Closures In JavaScriptClosures In JavaScript
Closures In JavaScript
ustak
Mi a baj a Drupaloddal
Mi a baj a DrupaloddalMi a baj a Drupaloddal
Mi a baj a Drupaloddal
thesnufkin
Miért vagyok Python rajongó? - avagy kalandozások egy nyílt forrású programoz...
Miért vagyok Python rajongó? - avagy kalandozások egy nyílt forrású programoz...Miért vagyok Python rajongó? - avagy kalandozások egy nyílt forrású programoz...
Miért vagyok Python rajongó? - avagy kalandozások egy nyílt forrású programoz...
Ferenc Szalai
Flash és PHP Kommunikáció
Flash és PHP KommunikációFlash és PHP Kommunikáció
Flash és PHP Kommunikáció
tlof
Laravel - Veszprémi Technology Meetup
Laravel - Veszprémi Technology MeetupLaravel - Veszprémi Technology Meetup
Laravel - Veszprémi Technology Meetup
Bálint Szekeres
Hogy kerül a csizma az asztalra?
Hogy kerül a csizma az asztalra?Hogy kerül a csizma az asztalra?
Hogy kerül a csizma az asztalra?
Open Academy
Szerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelvenSzerver oldali fejlesztés korszerű módszerekkel C# nyelven
Szerver oldali fejlesztés korszerű módszerekkel C# nyelven
Krisztián Gyula Tóth
Szoftver tesztelés - Gyakorlati jó-ha-tudod
Szoftver tesztelés - Gyakorlati jó-ha-tudodSzoftver tesztelés - Gyakorlati jó-ha-tudod
Szoftver tesztelés - Gyakorlati jó-ha-tudod
Richard Oliver Legendi

A PHP 5.4 úDzԲá