Witam, jest to trochę obszerne pytanie.
Mam klasy sterujące grą
<?php
/**********************************************************************
*Autor: daniel1302
*Licencja: by DamnedLand Staff
*Zadanie pliku:
*Plik sterujący całą grą(Jądro aplikacji)
**********************************************************************/
Class Config
{
/**
*Odpowiada za konfigurację gry
*
*@return Array Tablica dla podanego elementu
*/
public function game ($element=false)
{
#Tablica z konfiguracją
'host' => 'localhost',
'port' => '',
'user' => 'root',
'pass' => '',
'dbname' => 'game'),
'name' => 'DamnedLand',
'url' => 'http://www.damnedland.eu',
'email' => 'activuser@damnedland.eu',
'team' => 'DamnedLand Staff')
);
#Sprawdz czy wybrano element
if ($element == false)
return $array_conf;
else
{
#Sprawdz poprawnośc wprowadzonych danych i zwróć odpowiedni wynik
return false;
else
return $array_conf[$element];
}
}
/**
*Załaduje i sprasuje konfiguracje frameworka z pliku configuracujnego ini
*
*@return Array Tablica dla podanego elementu
*/
public function framework($element=false)
{
#Sprasuj plik z konfiguracją
#Jeśli niepodano elementu Frameworka to zwróć wszystkie konfiguracje
if ($element == false)
return $array_ini;
else
{
#Sorawdz czy konfiguracja zapisana jest w formie tablicy
return false; #Jeśli nie zwróć false
else
return $array_ini[$element]; #Jeśl tak zwróć konfiguracje
}
}
}
Class DL_Kernel
{
/**
*Zwróci obiekt z konfiguracją
*
*@return Object Tablica dla podanego elementu
*@static
*/
static public function loadConfig
() {
return new Config;
}
}
?>
W klasie Kernel będzie odpowiednio ustalenie czasu itp
Klasa Config jest to klasa odczytująca konfiguracje
Plik config.ini
;Konfiguracja dla Frameworku
; Konfiguracja dla widoku
[view]
root = "view"
; Konfiguracja modelu
[model]
controller_type = "YCDB"
data_type = "mysql"
; Konfiguracja kontrolera
[controller]
Układ plików jaki stosuję
-game(Cała gra)
--Framework(Cały framework czyli klasa koontrolera widoku modelu validatory itp)
--includes (pliki sterujące grą (Klasy JS funkcje itp)
--View(Widok)
--Model(Warstwa biznesowa)
--Controller(Kontroler)
--./(Wszystkie plikimodułów moduły wykorzystujące kontrolery(normalne skrypty które odpowiadają np admin.php?view=banlist))
W includes mam jeden plik główny(header.php)
zajmuje się on prawym menu testuje gracza czy jest w lochu lub ma bana...
W pliku tym ładowane są wszystkie klasy frameworku(view, controller, model) i includuje go każdy moduł aplikacji
I chciałem spytać czy dobrze to rozplanowałem. z Góry dziękuje i pozdrawiam.
PS. Mam klasę widoku napisaną na podstawie TINY MVC
<?php
/***
* Name: Damned Land
* About: An MVC application framework for PHP
* Copyright: (C) 2008, Damned Land.
* Author: daniel1302[daniel.1302@gmail.com]
* License: Damned Land Rules
* Description: View - class main
***/
Class DL_View
{
/* Access will put */
public $viewVars;
/**
* __construct
* Constructor class.
* Operation of class will configure.
**/
public function __construct()
{
$this->viewVars = array(); }
/**
* assign
* Function class.
* Variable will add for display
**/
public function assign($varKey, $varValue=null)
{
$this->viewVars[$varKey] &= $varValue;
foreach ($varKey as $k => $v)
$this->viewVars[] &= $v;
else
$this->viewVars[$k] &= $v;
else
return false;
}
/**
* display
* Function class.
* Variable will transfer and file will display
**/
public function display($file)
{
$tConfig = Config::$framework;
$templateDir = $tConfig['viewsDir'];
$dl_file = $templateDir.'/'.$file.'.php';
{
return false;
}
{
extract($this->viewVars, EXTR_PREFIX_SAME
, "dl"); return require_once($dl_file);
}
else
{
return false;
}
}
static public function instance
() {
return new DL_View;
}
}
?>
Chciałem spytać czy jest tu coś do zmiany na lepsze lub do poprawy. I cze lepiej jest to zastosować czy np Smarty/OPT