A XXXI. Országos Tudományos Diákköri Konferencia Informatika Tudományi Szekciójában Visnovitz Márton (programtervező informatikus, BSc, 3. félév) “Objektumorientált PHP library szabványos HTML5 alkalmazások fejlesztéséhez” címmel nyújtotta be dolgozatát, melynek én voltam a témavezetője.
A kifejlesztett programkönyvtár célja, hogy egy olyan fejlett programozási eszköztárat biztosítson a fejlesztőknek, amellyel a legfrissebb szabványoknak (HTML5) megfelelő, platform független webes alkalmazásokat készíthetnek. A library segítségével lehetőség van a legnépszerűbb szerver oldali programozási nyelv, a PHP egyes hiányosságainak kiküszöbölésére, egy objektumorientált környezetet biztosítva. Ezen felül egy hierarchikusan felépített osztályszerkezettel reprezentálva a HTML dokumentum elemeit lehetővé teszi webes alkalmazások HTML kód használata nélküli elkészítését, ezzel párhuzamosan garantálja a végeredményben keletkező weboldal szabványosságát a legújabb sztenderdek szerint.
Az elkészült programkönyvtár egyértelműen a fejlesztőknek szól. A beszédes osztálynevek, és az egyszerű, logikus felépítés a könnyű tanulhatóságot segíti elő, így akár középhaladó, vagy akár kezdő programozók is könnyen elsajátíthatják a használatát. Ezzel együtt más programozási nyelvekben járatos programozók is könnyen elsajátíthatják az eszközt kezelését, mert azok a Java és a .NET környezetben megszokott struktúrákra épülnek.
A céloknak megfelelően a library jelenleg három modulra tagolódik: Core, Form és Message. A Core modul újradefiniálja az alapvető típusok műveleteit objektumorientált módon, valamint az újradefiniált függvények esetében a PHP nyelvben csak néhol megjelenő típusmegkötéseket vezet be. Ennek a modulnak a felépítése és nevezéktana a Java nyelv kapcsolódó részein alapszik. A Form modul definiálja a korábban említett osztályszerkezetet, melynek elemei a HTML dokumentumok elemeit, illetve azok csoportjait reprezentálják. A kifejlesztett megoldások biztosítják a felépített dokumentum szabványoknak való megfelelését. A tervezésnél mintául a .NET keretrendszer űrlapjai szolgáltak, természetesen a HTML DOM felépítéséhez igazítva. A Message modul a kész program felhasználóinak szánt üzeneteket kezeli úgy, hogy mellette a Form modul által biztosított az űrlapadatok újraküldésének szűrése.
A projekt folyamatosan fejlődik. Terjesztéshez létrejött SourceForge projekt: http://sourceforge.net/p/oopsphp