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) { 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)) { 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