A cím persze vicc.
Ezt afféle memóként írom fel magamnak. A diplomamunka lesz a tökéletes áldozat arra, amit tervezek (nevezetesen egy saját MVC keretrendszer elkészítése), azután ugyanis valószínűleg nem lesz időm saját megoldásokra, alkalmazkodni kell A Cég igényeihez, ahol A Cég az a vállat, mely majd munkát kíván nekem adományozni.
Szóval a terv: saját PHP MVC-keretrendszer. Igen, tudom, mindenki saját keretrendszert ír; egy kedves barátom mondta azt, hogy Magyarország a kretrendszer-gyártók országa
és igaza is volt. Azonban egyrészt a technológiai megközelítése, másrészt a tucatnyi újdonság tanulásának lehetősége miatt szeretnék egy igazi sajátot megírni, aztán utána már lehet használni a nagyokat (symfony, mondjuk, mert az összes többi nem szimpatikus, ha PHP-ről van szó).
A következő dolgokat szeretném ha tudná:
- modell osztály: benne a létező összes művelettel; ha kell valami turpisság, akkor készítünk egy saját modell osztályt, amely örökli az ősmodell minden tulajdonságát;
- adattípus osztály: nem tudtam ezt jobban megfogalmazni, arra gondolok, hogy például egy blogbejegyzésnek legyen saját típusa, mely tartalmazza az ID-t, a címet, a kategóriát és hasonlókat. Ezeken aztán lehessen egy ellenőrző-interfész implementálásával ellenőrizni, újat felvinni, törölni a modell osztályon keresztül;
- automatikus generálás: adatbázis alapján (tehát semmi YML vagy XML, egyszerűen kiszedjük az adatbázisból hogy milyen dolgokat kell) generálni. Itt szóba jöhet bármi: a modell osztályok, az adattípus osztályok, az űrlapok stb;
- külső megoldások használata: különböző egyéb dolgok legyenek beleépítve, amik szükségesek. A validálás mondjuk történhetne a jQuery erre szolgáló kiváló plugin-jével;
- AJAX és lapozás: erre is valami egységes megoldást, afféle helper-kezelést szeretnék alkotni. Már most is van valami hasonló: nem kell külön leprogramozni mindenhez a dolgokat, de ezt még továbbfejleszteném annyival, hogy ha mondjuk hozzávesszük a modell osztályhoz a lapozást vagy az AJAX-os műveleteket, akkor ezek maguktól történjenek, mindenféle egyéb módosítás nélkül;
- sablonkezelés: az egyik kedvenc témám, már írtam kétféle sablonkezelőt, az egyik egy egyszerűbb, a másik egy összetettebb (néhány vezérlési szerkezetet is ismerő) megoldás. Utóbbit imádom, jó volna a csúcsra fejleszteni, azonban ez rengeteg idővel járna, így erősen húzok a Smarty felé;
- örökölt funkciók: írtam már valami keretrendszer-félét (inkább nevezném mondjuk osztálygyűjteménynek), abban van pár kifejezetten szimpatikus dolog, ami a fejlesztések során jól jött, ezeket mindenképpen át akarom hozni. Gondolok például arra, hogy az adatbázissal való kommunikáció viszonylag el van rejtve, tehát például teljesen mindegy hogy MySQLi vagy a PHP alap MySQL-kapcsolója áll a háttérben stb.
Ezek jutottak most eszembe. Az elnevezések meg az egész logika itt-ott sántíthat, majd még kialakul. A diplomamunkáig igyekszem ezt megalkotni, majd a készülő szoftvernek ez lesz az alapja. Veszteni semmit nem vesztek, legfeljebb szép lesz a diplomamunkám.
Ha ez megvolt, akkor gőzerővel ismerkedem a symfony-val.
terdelyi
2010. október 25. — 15:28:55
A Codeignitert is meleg szívvel ajánlom.
Mike
2010. október 25. — 15:39:20
Mefi, majd beszéljünk néhány szót…
Trimo
2010. október 25. — 18:48:40
[re=6062586]terdelyi[/re]: codeigniter meg symfony szerintem nem említhető együtt.
codeigniter egy egyszerű felépítésű kis framework amiben vannak alap libraryk amik tök jók, meg mindenféle helper, ésatöbbi. nagy projektekhez viszont nem jó szerintem, max kisebb oldalakhoz, ezeket adott esetben még egyszerűbb is talán mint symfonyval, ami viszont attól függetlenül hogy bonyolultnak néz ki, meglepően logikus, és sokkal jobban lehet benne haladni adott esetben mint más (egyszerűbb) frameworkokben. (de persze ez már nem a megnyitom a szerkesztőmet aztán csinálom dolog)
dap
2010. október 25. — 23:04:00
Hanyadik újrafeltalálása lesz ez a Rails -nek? 🙂
dap
2010. október 25. — 23:06:33
modell osztály PIPA
automatikus generálás […] validálás mondjuk történhetne a jQuery […] PIPA (bar nem jQuery)
AJAX és lapozás PIPA
sablonkezelés PIPA
örökölt funkciók […] az adatbázissal való kommunikáció el van rejtve […] PIPA
A Rails -el nem akarsz megismerkedni? 🙂
Dávid
2010. október 26. — 09:48:05
Uff.
“Ne félj kisfiam, majd ha olyan nagyfiú leszel, mint Mefi, Te is tudsz saját portálrendszert fejleszteni objektumorientált PHP-programozással…”
Mefi
2010. október 26. — 10:45:35
[re=6062586]terdelyi[/re], [re=6062589]Trimo[/re]: codeignitert nem ismerem, viszont a symfony roppant jól összerakott keretrendszer, gyakorlatilag a Ruby on Rails PHP-megfelelője.
[re=6062591]dap[/re]: nyilván van már ötmillió hasonló keretrendszer, a cél nem is az, hogy belépjek a piacra egy teljesen új darabbal, hanem az, hogy minél kevesebb “külső” anyag felhasználásával írjak diplomamunkát, és hogy megismerjem ezeket a rendszereket. Foghatnám a diplomamunkát és megírhatnám Ruby on Rails alapokon, szerintem tanulással, teszteléssel és mindennel együtt három hét lenne, így viszont izgalmasabb és több dologról lehet írni. A Ruby nyelvet nagyjából ismerem, ismerkedtem már a Rails keretrendszerrel is, de nem használtam még.
[re=6062593]Dávid[/re]: kérdőjel
Athos
2010. október 26. — 20:04:54
Egy tipp: ha nem akarod magad NAGYON megszivatni, mindenkepp az automata teszteseteket ird meg *ELOSZOR*, es csak utana fogj bele az osztalyok implementalasaba. Ez egyreszt hasznos abbol a szempontbol, hogy egy kelloen alapos unit teszt sokszor tobbet er barmilyen specifikacional, masreszt pedig a forditott sorrend halal-pokol-kinszenvedes (epp most tapasztalom egyebkent).