Az ECE rendszerről

1.1    Architektúra

A kifejlesztésre került alkalmazás kétrétegű kliens-szerver alkalmazás formájában került kivitelezésre. Az adatbázis egy Linux szerveren lévő MySQL szerveren található, az alkalmazás egy YII PHP framework-ben fejlesztett php „weblapegyüttes”.

1.2    Adatbázis-kezelés

  • Az adatbázis kezelést egy MySQL szerver végzi.
  • Az adatbázis neve CASINO.
  • Az adattáblák leírását a 4. fejezet határozza meg részletesen.
  • Az alkalmazás futtatásához egy tetszőleges internetes böngészőprogram használata lesz szükséges.
  • Az alkalmazás használata kliens oldalról nem igényel semmilyen „extra” hátteret.

1.3    Alkalmazás

Az alkalmazás egy úgynevezett Yii keretrendszerben íródott, kihasználva ennek az ingyenes PHP alapú rendszernek minden előnyét.

A Yii egy nagy teljesítményű, komponens alapú php keretrendszer.

A Yii néhány fontosabb jellemzője:

  • 1.0-ás verziója 2008 decemberében látott napvilágot,
  • nagy teljesítményű, komponens alapú php keretrendszer,
  • ezt a keretrendszert nagy terhelésű webhelyek fejlesztésére tervezték,
  • több különálló technológia legjobbnak tűnő gyakorlatát valósítja meg.
  • moduláris alkalmazás felépítésű,
  • komponens alapú,
  • eseményvezérelt programozási lehetőségekkel bíró,
  • active record mintát használ az ORM (object relational mapping) megvalósításához,
  • jól dokumentált, kiválóan konfigurálható keretrendszer.

A yii egy teljes mértékben objektum orientált keretrendszer, amely felépítésében a

DRY(don’t repeat yourself) fejlesztési módszert alkalmazza.

A Yii alkalmazások a széles körben használt MVC architektúra alapján épülnek fel, ezzel megvalósítva az üzleti logika és a grafikus megjelenítés különválasztását.

Az MVC mellett azonban alkalmaz egy ún. front-controllert is, melyet alkalmazásnak(application) hív.

Ez valójában egy singleton objektum, melyet a belépési script (index.php) a konfigurációs fájl (testdrive/protected/config/main.php) beállításai alapján hoz létre és futtat a keretrendszer könyvtárában található CWebApplication osztályból.

A front-controller hívatott kezelni a felhasználói kéréseket és tovább adni azokat a megfelelő controllernek.

Külön említést érdemel, hogy a main.php ‘components’ tömbjének konfigurálásával lehet változtatni az alkalmazásban használt komponensek tulajdonságainak értékeit. Ezért az application szolgál az alkalmazás-szintű konfigurációs változtatások eszközéül is.

Alapkönyvtára (base directory) a projekt könyvtárszerkezetében található “protected” nevű mappa, melyen belül az érzékeny adatok (komponensek, modellek, controllerek, view-k) könyvtárai kapnak helyet.

A Yii több lehetőséget is biztosít az adatbázis elérésére és a vele való munkára:

A DAO (database access objects) egy általános adatbázis elérési felületet nyújt (a php PDO kiegészítőjére alapozva), melynek segítségével egységes nyelvet teremt több relációs adatbázis használatához.

Így könnyen válthatunk közöttük anélkül, hogy alkalmazásunk nagyobb átalakítására kényszerülnénk.

A DAO által támogatott RDBMS-ek a következők:

    -SQLite

    -MySQL

    -PostgreSQL

    -SQL Server

    -Oracle

Lekérdezéseink megírásához a yii biztosít számunkra egy ún. query buildert, mellyel objektum orientált módon írhatunk adatbázis lekérdezéseket.

Bár a DAO nem a legegyszerűbb módja adatbázisaink elérésének, bonyolultabb adatbázisműveletek csak ezen keresztül megvalósíthatók.

Továbbá kihasználhatjuk a PDO nyújtotta lehetőségeket: a parameter binding-ot és a tranzakciókat (ez utóbbiról az active record használata esetén sem kell lemondanunk).

Az egyszerű CRUD műveletek programozása azonban sokkal könnyebben megvalósítható AR (active record) osztályokkal, melyeket a yii az ORM (object relational mapping) megvalósítására használ, azaz minden AR osztály egy-egy adatbázis táblát képvisel, minden AR objektumpéldány a tábla egy-egy sorának, az AR osztály tulajdonságai pedig az oszlopoknak feleltethetők meg.

A yii rendelkezik egy Gii névre hallgató, rendkívül egyszerűen használható, konfigurálható és bővíthető kódgeneráló platformmal.

Innen már néhány mező kitöltésével egyszerűen létrehozhatunk modelleket, controllereket, modulokat, view-kat (form), illetve CRUD controllereket is.

United Kingdom gambling site click here