Chciałbym się Wam spytać, jak podoba się wam moja klasa do obsługi modułów, co w niej zmienić itd.
Zapewne nie ma się czym chwalić, ale głównie chodzi mi o sugestie, propozycję i opinię!
<?php
class Modules {
private $moduleType;
private $defaultUserModule = 'news';
private $defaultAdminModule = 'stats';
/**
* Sprawdza czy moduł istnieje
*/
private function checkModuleExists($moduleName) {
if(file_exists('./modules/'.$this->moduleType.$moduleName.'.php')) { return true;
}
return false;
}
/**
* Uruchamia poszczególne moduły.
*/
public function run($moduleName = null, $admin = false) {
throw new Exception('Nazwa modułu jest za krótka lub za długa.');
}
$this->moduleType = ($admin) ? 'admin/' : 'user/';
if($moduleName) {
if($this->checkModuleExists($moduleName)) {
include_once('./modules/'.$this->moduleType.basename($moduleName.'.php'));
return;
}
}
if($this->checkModuleExists(($admin) ? $this->defaultAdminModule : $this->defaultUserModule)) {
include_once('./modules/'.$this->moduleType.basename(($admin) ?
$this->defaultAdminModule : $this->defaultUserModule.'.php')); } else {
throw new Exception('Nie można załadować żadnego modułu');
}
}
}
?>
Główne założenie klasy to bezpieczne wczytywanie plików (modułów). Nazwa modułu jest pobierana z adresu.
Chętnie przyjmę krytykę, lecz bez przesady bo to dopiero moje początki

Pozdrawiam
Ten post edytował Joachim Peters 24.08.2007, 14:25:19