Phar fájlok, avagy PHP archívumok

A Phar egy mozaik szó, ami a PHP Archive, azaz a PHP Archívum szavakból jött létre és egyben az archívum fájlok kiterjesztése is. Java programozók a JAR-hoz, illetve WAR-hoz hasonlíthatják. Bár bizonyos tekintetben a Windows DLL fájljaival is párhuzamot vonhatnánk, hiszen egy fájlba csomagolt programkönyvtárról beszélünk. A DLL-ekkel ellentétben viszont a PHAR fájlok futtathatók is, mint egy exe. Természetesen attól távol áll, mivel továbbra is a PHP értelmező lesz az, ami az értelmezést, futtatást végzi.

A PHAR kicsit mostoha gyerek, mert el is terjedt és nem is. Míg a JAR gyakorlatilag kéz a kézben jár a Java-val, a PHP archívumok nem ennyire általánosak és bizony gondolkodni kell rajta, hogy mikor, mire is érdemes használni, ha egyáltalán érdemes.

A PHP, fájlkiterjesztések és kódszervezés című cikkben kihagytam ezt a formátumot, ami lehetett volna szándékos, de szimplán elfelejtettem. Most viszont alaposabban körbejárom a témát. Igyekszem választ adni néhány potenciális kérdésre, illetve mutatok példákat és felhívom a figyelmet a buktatókra.

Abból, amit ez a formátum ígér, nem sikerült mindent kipróbálnom. A dokumentáció gyakran hiányos, és nem is beszélnek róla mások sem. Ettől függetlenül összeállítottam egy példasorozatot a főbb funkciók bemutatására a teljesség igénye nélkül. A példák elérhetők github-on vagy letölthetők Docker image-ként is "1.0" tag-et megadva.

Megosztás/Mentés

PHP, fájlkiterjesztések és kódszervezés

A fájlkiterjesztések kérdéséről azt gondolhatja mindenki, hogy ez egyértelmű, pedig nem az. Legalábbis sokaknak valószínűleg nem. Megpróbálom tehát tisztázni, hogy egyáltalán mi a jelentősége a témának, főként PHP programozás esetén, de általában véve is. Kitérek arra, hogy mikor, milyen kiterjesztést érdemes választani, illetve mikor, milyent nem. Ha pedig nem javasolt egy megoldás, akkor mi az, ami a követendő út.

Megosztás/Mentés

Statikus oldal lapozása görgetéssel

A félreértések elkerülése végett, nem arról lesz szó, hogyan tölthetsz be új tartalmat görgetéssel, hanem egy statikus weblap egyes részei között válthatsz úgy, mintha azok önálló oldalak lennének.

Megjegyzem, nem biztos, hogy én vagyok a legalkalmasabb ember ennek a témának a kitárgyalására, de minden esetre egy, a mai böngészőkben működő megoldást részletesen bemutatok és a tőlem telhető módon általánosan is beszélek a témáról.

Akit csak a végeredmény érdekel mindenféle rizsa nélkül, kattintson a tartalomjegyzékben a "Csak a végső kód" linkre.

Megosztás/Mentés

Nem mondom

Van néhány gondolat, mi idebent térdepel.
Azt mondod, mondjam csak? Azt mondod, érdekel?
Hidd el, én mondanám… Bár ne lennék tétova,
s ne űzné szavaim a semmi felé tova
annyi megbújó gondolat szabadságra vágyva,
s lenne szívetek fületek helyett halálos ágya.

Nem mondom, hogy baj van. Mondtam már elégszer.
Legyen hangom súly helyett inkább könnyed ékszer.
Csillogjon, mint a gyémánt, mutasson tükröt feléd,
és súgja, tükröd, tükröd így nem szeret beléd.

Nem mondom, hogyan tegyél, sem hogyan semmiképp,
majd megteszem én, s lesz megannyi kép,
mint példa, vagy inkább egy útirány.
Vállalom, ha működik, hogy az az én hibám.

2016. június 29.

Megosztás/Mentés

Ötlet


A minap a konyhában jártam, hogy kifőzzek egy ötletet.
Gondoltam, hogy gyors lesz, de ott töltöttem ötvenet.
Mármint percet, mert hogy lehetne hét is. Na nem a perc, hanem a perc helyett.
De hagyjuk is a témát, mert a nyelvtan engem nem szeret.

Tehát ott ültem a széken és bámultam kifelé az ablakon,
várva, hogy az ötletnek szikrája mikor csap majd nyakon.
Nem volt ötlet, ám lassan öt lett és éreztem, hogy menni kell.
De nem értem be régen sem és most sem ennyivel.

Az asztalra borultam tollal a kezemben és morogtam a lapnak:
kifognék egy nagy halat, de mondd, miért nem harapnak?!
A kezem már csupa kék. Folyik is rajta a tinta.
Alattam fura szék, mint bolond alatt a hinta.

Ittam hát egy teát, s mikor csilingelt a mikró,
mondtam is magamban: hejj, te csuda fickó!
Ez az! Rájöttél! Megvan! De mégsem.
Ez nem az a hang volt, most már én is értem.

Hát jó… néztem tovább az eget, vagy néha csak a padlót.
Betörlek én téged, mint lovas a vad lót.
Vagyis helyesen nem lót, hanem lovat.
Mondtam már, hogy nyelvtanból nem tudok sokat?

De rátérve a lényegre, a görcsöt abbahagytam,
s jöttek is az ötletek. Most is éppen 6 van.
Általában jók is. Nem alap a hibás.
Ha nem fog a tollad, nem a lap a hibás.

2016. szeptember 16. 21:00

Megosztás/Mentés

Reggeli kávé

Te vagy a reggeli kávé.
Lefekvés előtt a mese.
Felhőtlen folt az égen,
Te vagy a vihar szeme.

Te vagy a csend a zajban,
villámláskor a szemfedő.
Szakadó esőben
fejem felett tető.

Te vagy a rím a versben,
napsugár a tó jegén.
Széles mosoly minden
elfojtott szó helyén.

2015. október 20. 07:10

Megosztás/Mentés

A kürt

Alkotói válság után, fél lábbal még benne

Előkerült. Elő, a kürt. Megfújom újra.
De még nehéz, akár a kő. Lehúz a súlya.

2015 szeptember

Megosztás/Mentés

Ami a szívemen, az a számon

Ami a szívemen, az a számon.
Hát itt a koszorúér.
Széttépett vad világom.
Irány koszorúér’.

Én eltemettem mindent
önmagam alá.
Még önmagamat is tán,
ki így azt szavalá:

Ami a szívemen, az a számon...
De hisz ismered a dalt.
Volt egy nagy mesélő,
ki mesélt, de belehalt.

Koporsón karmolások…
A földet túrja már.
Bemossa mind a zápor.
Elönti őt a sár.

Fuldokolva bár, de egyszer
csak kiszabadúl.
Az új emlék sokkal könnyebb.
Nem marad alul.

2015. szeptember 22. 7:22 - 2015. szeptember 25.

Megosztás/Mentés

Elmúlt

Mi volt, az elmúlt. Csendben elrobogott a szán.
Szirénszerű zenére forró táncot járt az árny.
Ölelkezőn a kétely lassan a vágy köré feszült,
fojtva nappal és éjjel. Hiába békekürt.

Nem volt a régi tűz már, de parazsa megmaradt,
s parázsból húzott fel magának újra tűzfalat.
Védve volt erőktől már a drága dobogó.
Így tűzte fel a vágyat győzelmi lobogó.

2015. szeptember

Megosztás/Mentés

Azt kívánom...

Azt kívánom, én is hang legyek.
Hangszálaidon ringatott gyerek,
ki ha tehetné, sohase nőne fel.
Neked senki ő, de neki Ő leszel.

2014. valamikor április és szeptember között

Megosztás/Mentés

Oldalak

Programozás: Szkriptek, segítség

Programozás: Eszközök