[ Webhosting ProFiTux.cz ] [ Katalog firem  ] [ Super online hry ] [ Košile ] [ Permanentní magnety ] [ Sex chat ] [ Onanie ] [ premium domeny ] [ Věštění po telefonu ] [ Mikiny s garancí ceny ]
[ Aktuální zprávy ze sportu ] [ Numerologie, věštění ] [ mp3 ke stažení zdarma ] [ Líbání – exkluzivní návod ] [ Sex chat ] [ Dětské horoskopy ] [ Golfový trenažér pro nácvik odpalů ] [ Jura Impressa F50 ] [ Neodymové magnety ]

„Kompilované“ PHP — jakubův notes – programování a vejšplechty

Píšu o:

Člověk dostává hodně zběsilých nápadů. Nedávno mě zrovna něco takového napadlo. Jak jsem četl Code Generation in Action, honilo se mi hlavou hodně myšlenek o tom, kde by se takové generování dalo v PHP a při tvorbě webu využít. Když jsem si tak probíral model třívrstvé aplikace (model, kontroler, view), tak ve view (na webu je to prakticky rovno HTML šablonám), ani v kontroléru by podle mě nebylo nějaké generování prakticky k ničemu.

Šablony člověk dostane nakódované od kodéra (v mnoha případech to znamená „předat“ si je sám sobě :o)), aplikační logiky bývá poskrovnu a to ona je většinou právě tím, co se aplikace od aplikace liší. Jedinou oblastí, kde by se generování mohlo ujmout, je model a práce s daty. (Sebeujištění se: ano, tady by to opravdu šlo.) Dneska je sice v módě, že nad daty sedí několikero runtimeových vrstev abstrakcí, ale tak jsem si říkal, což takhle „kompilovat“ model přesně na míru databázi?

Řekl bych, že opičení se po Railsovém ORMActiveRecordu – bylo už dost. Moc se mi líbí názory lidí, kteří obhajují tyhle druhy práce s databází tím, že je to odpoutává od toho strašného složitého SQL. Nevím, ale mě vždycky psaní SQL bavilo. Samozřejmě, že většina dotazů jsou jen rutinní výběry. Ale pokud se tyhle dotazy vygenerují rovnou, zbydou na udělání ty „hezčí“, ty, při kterých člověk opravdu něco řeší. A ty podle mě je jednodušší napsat rovnou v čístém SQL než se mořit s nějakými definicemi v objektech (nejlépe ještě přes různé fluent interfaces, ať to stojí za to; nedej bůh, aby člověk jen trochu pomyslel na strašlivé SQL :o)).

Dost řešení každé blbosti v runtimeu, jde se „kompilovat“. Jde se „kompilovat“ do PHP! :o)

Tohle spojení („zkompilovat do PHP“) zní vážně divně :o)

Zatím přemýšlím nad tím, jak nejlépe si s tím pohrát. Určitě by to mělo generovat takové základní dotazy jako výběr podle jednotlivých sloupců v tabulce, ale zároveň tam musí být možnost si napsat dotazy vlastní, které se při „kompilaci“ přechroustají a „napasují“ do interfacu modelu (nějak hezky a šikovně) – interface bych chtěl podobný, jaký je k vidění jinde, ale opravdu by se jednalo jenom o to, aby metody abstrahovaly nad vykonáváním dotazu, ne aby řešily nějaké obštrukce vůbec s jeho generováním.

Bude to sranda :o)

Komentáře

Ahoj, nejako som si bruzdal po nete a narazil som na tvoj clanok, zhodou okolnosti sa prave zaoberam myslienkou ako generovat objekty a zdrojove kody pre PHP.
Pohravam sa s myslienkou prepojit andromda (generovanie suborov) so Zend Frameworkom. Ak mas zaujem mozeme to prediskutovat a mozno s toho nieco bude.
— napsal(a) Siso (15. 9. 2008, 21:26:54)

Přidat komentář