Zend Framework 2.0 tervek
Matthew Weier O’Phinney, a Zend Framework egyik vezető fejlesztője nemrég a fejlesztői levelezőlistán közzétette az első hivatalos útitervet a Zend Framework 2.0-s kiadásáról.
A kettes kiadás lesz az első, amely megtöri a visszafelé kompatibilitást. A cél konzisztens felületek és nevezéktan, jobban karbantartható és kiterjeszthető kódbázis kialakítása, az új nyelvi lehetőségek kiaknázása.
Ahogy az már az elmúlt hónapokban többször elhangzott, az új verzió az 5.3-as PHP-ra fog épülni, ezzel elérhetővé válnak a zárványok, az
Egyes változások körül máris heves (mindazonáltal konstruktív) viták alakultak, illetve néhol egész meglepő ötletek bukkantak fel (teljesítmény-kritikus részek PHP kiterjesztésbe helyezése).
■ A kettes kiadás lesz az első, amely megtöri a visszafelé kompatibilitást. A cél konzisztens felületek és nevezéktan, jobban karbantartható és kiterjeszthető kódbázis kialakítása, az új nyelvi lehetőségek kiaknázása.
Ahogy az már az elmúlt hónapokban többször elhangzott, az új verzió az 5.3-as PHP-ra fog épülni, ezzel elérhetővé válnak a zárványok, az
__invoke()
, goto
, késői statikus kötés, és legfőképpen a névterek alkalmazása, mellyel lejár a hírhedten tekervényes osztálynevek ideje.- Sok jelenlegi összetevő mintájára a jövőben az összes elfogad majd konstruktora első paramétereként egy beállítótömböt vagy
Zend_Config
objektumot, melyben a beállítófüggvények nevéből képzett kulccsal párosítva megadható bármely beállítandó érték. Emellett mindenhol rendelkezésre áll majd egysetOptions()
tagfüggvény a későbbi módosításokhoz. Az eddig megLehetősen ötlet_szerű GYAKORLATTAL szakítva, eztán az átadott értékek kulcsai egységes alakúak lesznek (valószínűleg kisbetűs, alsóvonallal tagolt – ez könnyen feldolgozható, és a konfigurációs állományokban is jobban mutat). Ezen funkcionalitás az újzend\Options
statikus tagfüggvényeit hívva érhető majd el.
- Minden összetevő a beépített
Exception
osztályt, vagy egy alkalmas SPL kivételt fog kiterjeszteni, az adott komponenshez tartozó egyedi kivétel-interfészt is megvalósítva.
- A megállapodáson nyugvó tervezés jegyében felületek kerülnek hozzáadásra, illetve átalakításra a kialakult gyakorlat követelményei alapján. Jelenleg sok helyen csak elvont osztályok állnak rendelkezésre, felület nem. Ritkán használt, számításigényes funkciók is eltűnnek közben; ezek az interfészek segítségével megvalósíthatók lesznek, amennyiben szükségesek (80/20-as szabály).
- Az egyke minta előfordulása drasztikusan csökkenni fog.
- A sok összetevőben, eleddig külön-külön megvalósított minták kiemelése önálló osztályokba: bővítmények, segédek, díszítés, gyár, gyorstárazás. A bővítmények esetében ígéretesnek tűnik az
__invoke()
alkalmazása.
- Ahol hasznosnak bizonyul (állapotgépek), ott a
goto
bevezetése. Ide tartozik aZend_Search
,Zend_Markup
, de akár aZend_Controller
is.
Egyes változások körül máris heves (mindazonáltal konstruktív) viták alakultak, illetve néhol egész meglepő ötletek bukkantak fel (teljesítmény-kritikus részek PHP kiterjesztésbe helyezése).
A ZF pont olyan mint a PHP:
Amúgy nem kötekedéskép, de a tervezési minták magyar nyelvű változatainak angol megfelelőjét kitalálnom helyenként elég fárasztó volt. Lehetne, hogy zárójelben, vagy szójegyzékben feltünteted az angol megfelelőket? Értem én a népnevelő szándékot, meg minden, de szerintem a szakma zöme például a singleton-t még mindig inkább így hívja, mint egykének. A "díszítés" például nem vagyok biztos benne, hogy mi. Illetve (szintén példa) interfész vagy felület (mivel mindkettőt használod, és ilyen erővel lehetne akár szinglton, fektöri, és eksztenzsön is...)?
Ezektől függetlenül kíváncsian várom az új ZF-et.
díszítő
Várom az új kiadást, kíváncsi vagyok, mennyi munka lesz egy teljes projectet átállítani 2.0-ra, ha egyáltalán megéri a törődést.
Átállás
Egyébként lesznek hivatalosan kiadott szkriptek az átálláshoz.
PHP 5.3?
Aktuális lesz
Szóhasználat
A díszítő a decorator volna, mi más. Felületből egyrészt a változatosság kedvéért volt interfész is, másrészt mert az (nagyon általános volta miatt) ott nem lett volna egyértelmű csak magyarul.
A szinglton, fektöri és eksztenzsön pedig nem magyar szavak (szemben az interfésszel, ami az).
Köszi a választ
"szinglton, fektöri és eksztenzsön pedig nem magyar szavak"
A magyar nyelvben nem ritka a fonetikus átvétel: fájl, domén, interfész (és bár nem vert gyökeret, de: imél), a szóképzés szabályainak - ha jól tudom - a fonetikus átirat akkor is megfelel, ha nincs széles körben elterjedve. A magyar szavak nem attól lesznek szavak, hogy az MTA hitelesíti őket, hanem attól, hányan használják egy fogalom vagy objektum azonosítására - lásd szleng. Értelemszerűen erre próbáltam utalni amikor erőszakot tettem a singleton, factory és extension szavakon.
Megj.: Az interfész szót több más iparág is használja, a honosodása szerintem egyértelműen nem az IT vívmánya.
Kérlek mindezt ne vedd szurkálódásnak. Konstruktív szándékkal, hátsó szándékoktól és személyeskedéstől mentesen szeretnék értelmes vitát folytatni ebben a kérdésben, ha már ilyen irányba mozdult el a társalgásunk.
A vita jó
Az orvosi nyelv gyakori és rossz példa: csak itthon oly erős a latinság, a latin szakkifejezésekkel élő magyar orvost az angol vagy német kollégák nem nagyon értik (legalábbis ezt hallottam). És a latin szavaknak is vannak bizony magyar megfelelőik az orvosi nyelvben is.
Ezen túl azt sem értem, miért volna érv az, hogy angolul is megértjük? Ilyen alapon teljesen racionális volna azt mondani, hogy az élet minden területén váltsunk angolra, mennyivel egyszerűbb volna az élet. Teljesen racionális, én mégsem támogatnám, ha lehet.
A fájl sajnos meghonosodott fonetikus átiratban, holott van nekünk állományunk, ami annak előtte teljesen bevett megfelelője volt, ráadásul kifejező is. A domén ezzel szemben sosem honosodott meg, az máig domain, jobb esetben tartománynév, remélem nem is lesz az soha. Ímél pláne.
Persze, de ezzel mondani akarsz valamit?
Értem én, hogy sokak ízlése tiltakozik amikor ezeket a fogalmakat lefordítom. Értem, mert látom, hogy manapság az emberek fénykép helyett fotót készítenek, villany helyett elektromosságot használnak, képernyő helyett a monitoron olvasnak. Szóban még én is, írásban igyekszem kicsit nemzetibb lenni.
Terminus technicus
A különböző szakkifejezések magyarítása felesleges zavart okoz, és nem egyszer eléggé hülyén is hangzik, kedvenc példám ezügyben a trigger-kioldó páros, rettentő módon nem fejezi ki a triggerek lényegét, bár némelyik trigger bombaként tud hatni. :)
Nehezebbé teszi az írásaid megértését, és nem a nemzeti öntudatot erősíti, hanem a zűrzavart a fejekben, és ellenszevet szül, mert kéretlenül akarsz nevelni, holott se kutyád, se macskád, se másod nem vagyunk. :)
A magam részéről kevésnek tartom a magyar írásokat IT szakmán belül, éppen ezért az esetek 95-99%-ban inkább angol nyelvű dokumentációt, fórumot, stb. olvasok, mert az angol a szaknyelve az informatikának.
Egyszerűen megzavarod azokat, akik adott esetben még csak most ismerkednek az ITval, és esetleg nincsenek tisztában az egyes szakkifejezések mibenlétével, és teljességgel lehetetlenné teszed azt, hogy nemzetközi fórumokon utánaolvassanak bárminek is, mert nem fogják tudni, mi a nemzetközileg elfogadott kifejezés rá.
Újabban kezd elterjedni az IT-ban is az a szemlélet itthon, hogy nem nevelünk versenytársakat? :p
...
Visszaterve az Off temara, nekem semmi balyom nincs a magyaritott szavakkal, ha zarojelben jelezve van, hogy melyik angol kifejezes a megfeleloje. Ezzel segitve esetelgesen egy uj magyar kifejezes elterjedeset es nem akadalyoz meg abban, ha megsem ismernem fel, vagy egyaltalan nem ismernem, hogy utana nezzek az interneten.
-cs-
Sanyi
Szakkifejezés
Ez a te szubjektív véleményed, érvek nélkül. Mi a triggerek lényege?
Tessék? Ha én mákostésztát eszem a jelenlétedben, akkor rá akarlak kényszeríteni a mákostésztára? Mivan?
Változó, osztály, típus, csomag, tömb, fordító, kifejezés, mutató, könyvtár, ciklus, érték. Akkor gondolom ezeket sem használod.
És csecsemőket is áldozom.
Ez a te szubjektív
Az, hogy ez az ő szubjektív véleménye pedig a Te szubjektív véleményed (pontosan úgy: érvek nélkül). Az elmúlt 15 évben viszont azt tapasztaltam, hogy Ifju szubjektív véleménye jelentős többségben van. De hajlandó leszek megkockáztatni, hogy valamely zárt közösségen belül ez az arány fordított, bár ebben az esetben az a közösség nem reprezentatív.
Ha misevasárnapkor a templom előtt megerőszakolok egy apácát, feltétlen rá akarok kényszeríteni másokat, hogy ugyanezt tegyék? Nem. De pont ennyi köze van a szándékodnak ahhoz, amit elérsz valójában. A hangsúly az eredményen van. Ez jelen esetben (a cikk esetében) a nehéz értelmezhetőség és az akadályozott olvasók elégedetlensége.
Ezek széles körben elterjedt, magyar szakmai konszenzuson alapuló kiforrott kifejezések, nem egy (vagy legfeljebb néhány) magát szakfordítónak kikiáltó ember kamikázéi (lásd egyik lentebbi szál). Olyan módon, hogy önkényesen magyarkodunk, nem lehet szaknyelvet reformálni. Vannak ésszerű keretek, amelyeken belül igen. De az alapvető igényesség még ilyenkor is megköveteli a zárójelben feltüntetését annak az eredeti szakkifejezésnek, amely honosításra került - egészen addig, amíg a köztudat rá nem áll. Minden más esetben csak zűrzavar keletkezik.
Nyilván mindenkinek egyszerűbb lenne nem fáradnia azzal, hogy több tucatnyi percet vesztegetünk egy vitával, kevesebb energia egy jelenség letojása mint az azzal való foglalkozás. Nekem különösen kevesebb, mert 15 év szakma után a nap végére minden izületem sajog. Néhányan ennek ellenére vettük a fáradságot és leírtuk a problémánkat, szerintem nem olyan égbekiáltó vétség azt kérnem, hogy legalább értelmezni próbáld meg, nem csak ész nélkül visszatámadni mert a gonosz bácsik kommentben ráléptek a tyúkszemedre. Sajnos nem a befogadást, hanem a sértődöttséget látom abból amit válaszolsz, teljesen oktalanul. Ha ez igaz, tényleg fölösleges folytatni a vitát, legfeljebb a következő írásodat nem olvassa akinek nem tetszik, és ezzel a probléma legalább látszatát tekintve meg van oldva.
Szövegértelmezés
Az a kijelentésem, miszerint Ifju véleménye (ti. hogy ezek a fordítások hülyén hangzanak és nem adják vissza a lényeget) szubjektív, nem szubjektív vélemény, hiszen egyértelműen alátámasztja az, hogy Ifju nem támasztotta alá semmivel :) Tudtok követni?
Summázva akkor a lényeget: nem amellett agitáltam a bejegyzésben, hogy tessék magyarul használni ezeket a kifejezéseket, mindköznapian csak használtam őket. Ifju megjegyzése alapján azonban az az érzése támad az embernek, hogyha nem az ő ízlésénk megfelelően cselekszik, akkor ezzel máris közellenséggé minősíti magát, mivel rá kívánja kényszeríteni az akaratát másokra. Bizonyos szempontból zseniális fogás, bár kissé diktatórikus ízű.
Teljesen érdektelen, hogy milyen széles szakmai konszenzuson alapul, mert pont ugyanannyira (vagy még kevésbé) fog tudni utánuk nézni egy kezdő angol szövegekben, tekintve, hogy mindegyiknek több lehetséges fordítása is szóba jöhet. Tehát vagy ezeket sem volna szabad használnunk, vagy Ifju érve nem áll meg a lábán.
Vajon létezik franciáskodás és angolkodás is? Na mindegy, ez mellékszál. Inkább kíváncsi volnék rá, hogy mitől lesz önkényes, avagy hogy lehetne nem önkényesen (megjegyzem ezek a fordítások már mind napvilágot láttak nyomtatott könyvekben, így az önkényesség vádját kifejezetten indokolatlannak érzem – mindenesetre ez is hatásosan hangzik, és nyomot hagy az olvasóban).
És az ésszerűség határait te, Ifju vagy az én tisztem-e kijelölni? Esetleg másé?
Ez a te álláspontod. Más szerint az nehézkes, ezért legyen csak angol. Szerintem az nehézkes, így legyen inkább csak magyar. Kié a mérvadó?
Nyilván nekem is egyszerűbb lenne nem fáradni azzal, hogy több tucatnyi percet vesztegetek egy vitával, kevesebb energia két visszajelzés letojása, mint az azzal való foglalkozás. Szeretném, ha arról az oldalról is belegondolnál a helyzetbe, hogy a) én is ugyanennyi energiát fektetek a vitába; b) magam ellen dolgozok, mert ha nem méltatom válaszra, akkor csendben elsikkad, én pedig sokkal jobban jövök ki belőle; c) mindezek mellett tartom magam a véleményemhez. Ami pedig azt illeti, szerintem távkiértékelsz ez esetben, én legalábbis nem érzem úgy, hogy sértődötten válaszoltam volna a hozzászólásodra, Ifjuéra is csak úgy, ahogy az szerintem érthető figyelembe véve azt a verbalitást, amivel élt. Remélem nem égbekiáltó vétség az, hogy merem védeni az álláspontom (és személyem?) annak ellenére, hogy ti másikon vagytok.
Érvelésem alátámasztása
- Google keresés a magyar weben: egyke
- Ugyanígy: singleton
Vessük össze a kifejezések szakmai relevanciáját a találatok fényében. Szerintem egyértelmű.
Nem tekintem érvnek
Ez a te szubjektív
A trigger egy objektum, amely akkor aktíválódik, amikor egy meghatározott esemény bekövetkezik, tehát nem ő old ki, hanem őt aktíválják.
Főleg, ha nem érted meg, hogy még alternatívát is felkínálunk, ami mellett megkínálhatsz minket a mákostésztáddal: ha odateszed zárójelben az eredeti kifejezést, máris nem kell azzal foglalkoznia mindenkinek, hogy kihüvelyezze a magyarítást.
Szerintem kár megsértődni, mert senkinek semmi problémája nincs azzal, amit leírtál, azzal van probléma, hogy szándékosan nehezebben érthetőbbé teszed azt, amit leírtál, és nem akarsz nyitni a kompromisszum felé, ahol az is megvan, amit te akarsz, és az is, amit mások.
Tulajdonképpen miért probléma neked, hogy szeretnénk a nemzetközileg elfogadott szakkifejezéseket is látni az írásaidban?
Ravasz
Magyaríthatnánk a triggert úgy is, hogy "ravasz", elvégre a pisztolyon is triggert nyomkodnak a cowboyok. :)
The possibilities are endless.
Én sem szeretem a szakkifejezések magyarítását, főleg ha a magyar változat önmagában nem elég ahhoz, hogy elmagyarázza, miről is van szó. Mindenesetre azt fontosnak tartom, hogy legalább a fogalom első előfordulásánál megemlítsük az "eredeti" angol változatot, hogy segítse a további kutatást.
Kompromisszum
Egy ravasz hogyan aktiválódik? Nemdebár a felhúzott pisztoly aktiválódik, és ravasz aktiválja? Mert felőlem lehet ravasz is, de az aztán szerintem is ritka hülyén hangzik. Az én elképzelésem szerint a trigger első része, az esemény specifikáció a ravasz avagy kioldó, a végrehajtott akció már a pisztoly vagy egyéb felhúzott mechanika, melyet aktivál. Tekintve, hogy az angol eredetiben is összemosódik a kettő, nem érzem gondnak, ha a magyarban is megelégszünk vele.
Én nem akarlak megtömni mákostésztával, téged az zavar, hogy én mákostésztát eszem, és mindezt nyilvánosság előtt. Összekeverni a kettőt veszélyes.
Amennyiben ez valóban elfogadható kompromisszum, ám legyen, én nem állok útjába. Éppencsak eleddig ezt egyedül CarstepPCE vetette fel, miközben mást hallottam már ettől ódzkodni.
Meg pedig továbbra sem sértődtem.
Szerintem egészségesen
Ráadásul nagyon sokan tanultak ezekből a kódokból. Azok közé a projektek közé tartozik amelyek mércét állítottak sok szárnyait bontogató fejlesztőpalánta elé. Megvan a maga életciklusa persze, a gyakorlati használat által csiszolt és más rendszerek által inspirált változások egyaránt gyűlnek, ez így van rendjén. Főleg hogy az idő pereg és maga a nyelv alatta is új lépcsőfokra kapaszkodott közben. A jelentős keretrendszerek, library-k sorra átes(n|t)ek generációváltásokon.
Örülök, hogy létezik, sokat tanultam belőle magam is, és azt gondolom a 2.0 előtti széria is mérföldkő volt azon az úton, melyen a php projektek szép lassan kiléptek a pistikés tákolások árnyékából.
elvont osztály?
Az Erich Gamma féle könyvben
hááát
A Tervezési minták könyv fordításai nekem meg annyira nem jöttek be, sokkal inkább csak zavaróak voltak úgy, hogy már ismerem a témát, folyamatosan elvitt némi processzor időt, hogy akkor ez most melyik is.
Elvont
Mellesleg szerinted mi a különbség az absztrakt és az elvont szó jelentése között?
Fentebb írtam: én szívesen elhagytam volna az interfészt, de úgy éreztem, hogy önmagában a felület oda nem elég, mert az általános jelentése folytán az emberekben fel sem merülne, hogy itt egy nyelvi szerkezetről beszélek.
Az interfész és absztrakt pedig annyiban idegen, hogy semmiféle előzménye nincs a nyelvben, szemben a felülettel és az elvonttal, melyek magyar alkotású és ekképp sokszáz éves gyökerekkel rendelkező szavak. Belső kohézió.
Srácok, én nagyon szívesen elvitázok nyelvi kérdéseken, csak aztán ne kapjam meg, hogy az összes bejegyzésem alatt elburjánzik a dolog.
holis?
Az elvont szónak pl. van egy elég erős negatív attitűdje is. Pl. ha egy személy elvont, az nem azt jelenti, hogy absztrakt.
ellenvélemény
"De elég jól látszik, hogy sokak számára zavaró, és nehezíti a szöveg megértését."
Akkor legyen egy ellenvélemény. Nekem (is) jobban tetszik a magyar. Amikor a fórumon deprecated-et írnak érvénytelenített esetleg elítélt helyett akkor borul az agyam.
Miután a hozzászólások több
Könyvek
Colin Moock: ActionScript 3.0 a gyakorlatban. Kiskapu, 2008 :) Épp most olvasom, valószínűleg ezért is volt bennem az, hogy minden könyvükben így fordítják.
Az elvont szó csak akkor negatív, ha negatív benyomás keltése céljából alkalmazod. Magad mondod, egy személy nem lehet absztrakt, tehát ha mégis annak nevezik, akkor ott mögöttes tartalom húzódik.
De most, hogy belegondoltam, úgy érzem, sem az elvont, sem az absztrakt osztály nem fejezi ki igazán az eredetit; sokkal inkább a kivonatos osztály a megfelelő terminus. Azt hiszem maradok is ennél a jövőben, mit szólsz? :)
Valamely rejtélyes oknál
Minden esetre azért gyanús.
Engem ez az egész Sákszpír
A magam részéről inkább vagyok amellett, hogy használjuk az angol kifejezéseket józan ésszel, mert egyszerűen könnyebbé teszi a tájékozódást, és pl a változó és a tömb kifejezések pedig már meghonosodtak annyira, hogy egyértelmű legyen, mi az.
Output filter
És akkor a profiljában mindenki ki tudja választani, hogy ő angolul akarja a szakkifejezéseket, vagy magyarul.
Wordpressben nem valami egetverően bonyolt szerintem. (Ha jól tudom, wordpress van a site alatt...) Ellenben erőforrásigényes. De ha ez kell, hogy végre arról legyen szó a hozzászólásokban, amiről igazán kell, akkor nosza! "Gyerünk! Csináljuk meg!" :D
Majdnem
akkor mindegy :)
szép szép...
A magyarítások egyébként szerintem nagyon zavaróak néhol.
pont erről is van szó
Speciel a goto is ilyen célokat szolgál: kb. pont az ilyen parse-olás jellegű feladatoknál jöhet elő, hogy hatékonyabb és átláthatóbb kódot eredményezhet. Azt tudonod kell, hogy a PHP-ban a goto az csak egy metóduson/függvényen belül működik.
Várom, éljen
Emlékszem, mennyire nehezen vettem rá magam a Smarty-ra. És most abból is alig várom már a hármast.
Szóval hajrá fiúk! Ha másért nem is, de a late-static-binding miatt hajrá PHP 5.3, hajrá ZF2.0 :D
Off: amit a többség magyarul ismer, használjuk úgy, amit csak brahiból akarunk magyarul használni, ne tegyük. Pl. én is agyaltam egy ideig a cikk egy-két mondatán, hogy mi is akar lenni.
Mikor várható?
Mit tanácsoltok, húzzam az átállást, míg kijön a 2? Vagy inkább tanulmányozzam a jelenlegit, kezdjek el abban dolgozni? Nem tudom mekkora meló lesz, ha most átírom a moduljainkat 1.x-re, aztán később majd sokmindent módosítani kell a 2 alá.