php szerkesztés
sziasztok valaki már próbálta szerkesztení magát a php nyelvet?
ki mit alkotott?
hogy lehet fordítani?
■ ki mit alkotott?
hogy lehet fordítani?
H | K | Sze | Cs | P | Szo | V |
---|---|---|---|---|---|---|
25 | 26 | 27 | 28 | 29 | 30 | 1 |
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 | 1 | 2 | 3 | 4 | 5 |
Gondold át újra
Ha arra gondolsz, hogy az értelmezőt átírod (otthon, magadnak), akkor gondold át mégegyszer a dolgot, mert kissé butaság.
Nagyon sokan fejlesztik a PHP-t, sok-sok programozói munkaórában, mégis van mikor több év is eltelik két verzió kiadása között. Ha keresgélsz, fogsz találni bizonyára magyar fejlesztőt is, aki részese (volt) ennek a csapatnak, de ez nem szerkesztési művelet. Itt a többség használja a különböző programnyelveket; amúgy is van annyi(féle), hogy találsz a célodnak megfelelőt, nem kell saját nyelvet írni, pláne nem "átszerkeszteni". Persze saját modulokat, osztályokat szinte mindenki írt, de nem a PHP bővítésére vagy átalakítására, hanem felhasználásra.
Úgy értem mint
HipHop
Helyette van a HHVM, ami PHP kódból valamilyen bytekódot készít, amit egy arra alkalmas virtuális gép futtathat (ez az architektúra van többek között a Java, C# mögött is)
hiphop
Dependency hell
Ha szoktál fordítgatni az adott rendszerben akkor sok -dev végű csomag már eleve fent van (plusz olyanok, mint a wget vagy openssl szinte minden rendszerben megtalálható).
Nekem sem szimpatikus a "dependency hell", ne érts félre, de ez sajnos az opensource velejárója valamilyen szinten. Ha (majd egyszer) egy disztribúció elhatározza, hogy csomagolja, már sokkal könnyebb lesz a bekerülés.
-dev
Emiatt egy jóideje már mindent magam fordítok, a forrást meg otthagyom a masinán, mert az a biztos.
Forrsából
FreeBSDnél ez a folyamat sokkal fájdalommentesebb, ott az a gyakorlat, hogy a base systemen kívül minden forrásból fordul amit felteszel.
Amúgy ez nem feltétlenül baj. Aki friss technológiákat szeretne kipróbálni az tarthat egy "testing" rendszert. Ha egy új technológia megérett arra, hogy éles környezetben használják akkor a distribúciók részéről is támogatottabb lesz.
Aki friss technológiákat
Ez inkább a tudás hiánya,
Éles szerveren általában nem rohanunk az upgrade-ekkel, csak akkor teszünk fel valamit, amikor már elég stabilnak gondoljuk, debiannál is ezért sem dobálják bele az új verziókat azonnal. Egyébként az utóbbi időben mintha nem lennének akkora elcsúszásban, mint rég voltak. Pl van már 9-es pg is egy ideje.
Szerintem ha van valaki, sőt egy csapat, aki forrásból fordított rendszert karbantart, akkor még lehet oké a dolog, egyébként hosszú távon egy pokol :) De ha van rá csapat, akkor se úgy működik, hogy feltolom a forrást minden gépre, ott configure,make,make install, aztán majd jó lesz :) Próbáltuk mi is, embertelen szopás tud lenni egy verziófrissítés. Valamint van olyan nézet, hogy éles vason nem hogy forrást, de fordítót sem ajánlott tartani... Mondjuk a gentosok erről nem tudom mit gondolnak :)
Függőségek
Igaz, ott is el lehet
pkg_add libxml libmcrypt libtool autoconf-2.68
A libtool kivételével a többit is azóta fordítom.
Cygwint még nem próbáltam, Windows alatt Visual Studio Express két vagy három változatával kísérleteztem, igazából a fordítórendszer összehozása volt a leghosszabb, aztán gond nélkül ment minden. Egyébként sebességben nem vettem észre javulást az újabb VS-ekben, így nyugodtan lehet a régebbieket használni (amik jóval kevesebb erőforrással beérik).
Homályos
Akkor miért nem egy olyan nyelven programozok, ami arra a bytekódra fordul? Minél többször (több lépcsőben) fordítok egy forráskódból, annál gagyibb a végeredmény. Persze lehet magyarázni, hogy az a kód már készen van, de azért ennek a másrafordításnak inkább nagyobbacska rendszeren van jelentősége, ott meg több a fejlesztői erőforrás is. A PHP amúgy sem egy jól optimalizálható nyelv (gyengén típusos, stb), szóval kutyából nem lesz (jó) szalonna.
Ne a PHP nyelvet nézd, hanem
Ezért éri meg ezt a furcsa megoldást használni.
Igen,
Azt az eszközt, ami PHP
Azt hiszem ezt
Én nem tudom hogy pl a
A bytekódra fordítás (illetve a JIT fortítás) azért éri meg, mert amikor a PHP értelmező futtat egy scriptet, akkor először beolvassa a tartalmát, megnézi szintaktikailag helyes-e, szépen feldolgozza a függvényeket, változókat, vezérlési szerkezeteket, függvényhívásokat, és valami bytekódot (ezt valami pszeudo-assemby nyelvként kell elképzelni) köp ki magából, amit végül futtat. Ez lassú.
Helyette előre le lehet fordítani az egészet, futás közben pedig a lassú részeket (ez a program saját maga méri) akár natív(!) kódra tovább lehet fordítani.
(Nem vagyok expert a témában, szóval lehet, hogy néhol csúsztattam. lehet szólni érte, ha tényleg így van!)
Igen,
Én egy ilyet
Hoppá
Késő bánat ;)
És...
Ekkor készült ez a műremek: