GameNomad ist ein soziales Netzwerk mit Videospiele . Um diese Anwendung zu erstellen, habe ich Zend Framework und Doctrine 2 benutzt. Alle Dateien liegen auf meinem localhost. Folgende Schritte habe ich durchgeführt. SCHRITT 1: ZEND FRAMEWORK INSTALLIEREN ________________________________________________ (1) Zend Framework 1.11.11 (2) XAMPP Lite herunterladen → installieren. Apache Server und Vitrual Host konfigurieren (ServerName: dev.gamenomad.com) SCHRITT 2: DOCTRINE 2 INSTALLIEREN ________________________________________ Doctrine 2 herunterladen (git://github.com/doctrine/doctrine2.git doctrine2-orm) Doctrine Ordnern müßen innerhalb Zend Framework library Ordner so angeordnet werden: library/ Doctrine/ Common/ DBAL/ ORM/ Symfony/ WJG/ SCHRITT 3: PHP GOOGLE MAP LIBRARY UND BLUEPRINT CSS FRAMEWORK INSTALLIEREN ____________________________________________________________________________ 1. php-google-map-api library herunterladen (http://code.google.com/p/php-google-map-api/) und die Datei GoogleMap.php in Zend Framework library Ordner speichern. Ziel: Wenn der Besucher seine Postleizahl eingibt werden (1) die geographische Breite und (2) die geographische Länge des Besucher Orts heraus gefunden. Blueprint CSS framework vereinfacht die CSS Gestaltung der Webseiten. Die Dateien müßen heruntergeladen werden (http://www.blueprintcss.org/) und der blueprint Ordner im Zend Framework public/css Ordner gespeichert werden. SCHRITT 4: DAS MODEL ERSTELLEN (KLASSE DIAGRAMME, ENTITIES, FORMS) _________________________________________________________________________ Im application/models/ Ordner befinden sich: 1) der Proxies Ordner (generiert von Doctrine) 2) der Repositories Ordner (generiert von Doctrine) 3) der Entities Ordner enthält vier Klassen: 3a) die Klasse Account.php 3b) die Klasse Game.php 3c) die Klasse Platform.php 3d) die Klasse Rank.php 4) 8 Zend Framework Form Validators (ZF Namen Abmachung: class Application_Model_IrgendwelcheFormName extends Zend_Form() { … }): → FormContact, FormGameEdit, FormInvite, FormLogin, FormLost, FormPassword, FormProfile, FormRegister. SCHRITT 5: CONTROLLERS ERZEUGEN _______________________________________ 1) IndexController -> Methoden: init(), indexAction(), 2) AccountController -> Methoden: init(), indexAction(), loginAction(), registerAction(), confirmAction(), passwordAction(), profileAction(), publicAction(), logoutAction(), friendsAction(), lostAction(), recoverAction(), inviteAction(), associateAction(), _authenticate(), 3) CommunityController -> Methoden: init(), indexAction(), gamersAction(), searchAction(), 4) ErrorController -> Methoden: errorAction(), 5) GamesController -> Methoden: init(), viewAction(), associateAction(), platformAction(), hotAction(), 6) AboutController -> Methoden: init(), indexAction() Views phtml Dateien werden im folgenden Ort erstellt : (1) views/helpers und (2) views/scripts → about/ → account/ → community/ → error/ → games/ → index/ SCHRITT 6: EINE NEUE MYSQL DATENBANK ANLEGEN (NAME: GAMENOMAD) _____________________________________________________________________________ 4 Tabellen: 1) accounts_games(account_id PK,game_id) 2) friends (account_id, friend_id, <account_id, friend_id> PK) 3) games (id PK, platform_id FK, asin, name, publisher, rel, small, medium, price, created, updated) 4) platforms (id PK, name, abbreviation) 5) ranks (id, game_id PK, rank, created) (PK-Primary Key, FK-Foreign Key) SCHRITT 7: DIE SCHEMA ERSTELLEN __________________________________________ Die schema.sql Datei durchführen. SCHRITT 8: configs/application.ini DATEI KONFIGURIEREN _________________________________________________________ Alle Konfigurationseinstellungen (ZF Parameters, Datenbank Verbindung Variablen, API Schlüßel, usw …) werden in der Datei application.ini gespeichert. SCHRITT 9: PHP SCRIPTS FÜHREN UM DIE DATENBANK GAMENOMAD ZU PFLEGEN. _________________________________________________________________________ Die Datenbank soll immer aktuell bleiben. Dafür muss: (1) Der 'Zend Tool' Werkzeug heruntergeladen und installiert werden (http://framework.zend.com/manual/de/zend.tool.framework.clitool.html ) (2) Der Werkzeug CLI heruntergeladen und installiert werden (http://php.net/manual/de/features.commandline.php ) Die folgenden php Scripte werden ausgeführt (Man könnte beispielweise eine Crontab Datei für diese Aufgabe erstellen.) seed.php update_sales_ranks.php update_images.php update_prices.php update_publishers.php Der seed.php Script ruft Amazon.com Video Spielen Datenbank an und greift auf die Amazoon Datenbank Information zu. Dafür musste ich ein Amazon Product Advertising API Konto erstellen. Meine Daten: https://affiliate-program.amazon.com/ password:********* Your unique Associates ID is httpwwwkamiba-20 Signed in as: httpwwwkamiba-20 Tracking ID: httpwwwkamiba-20 public key: ************************ private key: ********************************* EIN PAAR SCREENSHOTS: 1) Die Index Seite , url: dev.gamenomad.com (nächste Seite) 2) Die Registrierung Seite, url: dev.gamenomad.com/account/register 3) Xbox 360 Spielen, url: dev.gamenomad.com/games/platform/360 4) PlayStation 3 Spielen: url: dev.gamenomad.com/games/platform/ps3 5) Beispiel: ein Xbox 360 Spiel mit Information, url : dev.gamenomad.com/games/B002w