GrayMaster
Новичок
Объектно ориентированое программирование, правильное оформление
Решил переделать CMS под ООП, считаю так будет дописывать его намного удобнее.
Но со струкрутой определиться немогу, не очень привыть объектно кодить
Сделал класс $core
Пните пожалуйста если что не так, и подскажите как сделать правильно.
Теперь хоче сделать модульную систему, например при index.php?sect=main, подгружался модуль main.
Пока что у меня так - но модульная структура ненравится, неудобно
Подскаже как правильнее иудобнее оформить структуру ?
Решил переделать CMS под ООП, считаю так будет дописывать его намного удобнее.
Но со струкрутой определиться немогу, не очень привыть объектно кодить

Сделал класс $core
PHP:
<?php
class params {
var $attrs = array();
function Get($key, $default = null) {
return isset($this->attrs[$key]) ? $this->attrs[$key] :
(isset($default) ? $default : null);
}
function GetAll() {
return $this->attrs;
}
function Set($key, $value) {
$this->attrs[$key] = $value;
}
function SetAll($values) {
if (!is_array($values)) {
return false;
} else {
$this->attrs = $values;
}
}
function SetByRef($key, &$value) {
$this->attrs[$key] = $value;
}
function Merge($values) {
if (!is_array($values)) {
return false;
} else {
$this->attrs = array_merge($this->attrs, $values);
return true;
}
}
}
class core {
var $params;
function Core($params = array()) {
$this->params = new params;
$this->params->SetAll($params);
}
function LoadModule($modulename, $params = null) {
if (file_exists($this->params->Get("path")."/sources/".$modulename.".class.php")) {
include_once $this->params->Get("path")."/sources/".$modulename.".class.php";
return new $modulename($params);
} else {
return false;
}
}
}
?>
Теперь хоче сделать модульную систему, например при index.php?sect=main, подгружался модуль main.
PHP:
$params['path'] = "C:/home/cms/www/new";
$core = new Core($params);
$core->db = $core->LoadModule("mysql");
$core->db->Connect("localhost", "root", "pass", "table");
...
if (isset($_REQUEST['mod']) and isset($_REQUEST['sect']) and file_exists($core->params->Get("path")."/sources/modules/".$_REQUEST['sect']."/".$_REQUEST['mod'].".inc.php")) {
include $core->params->Get("path")."/sources/modules/".$_REQUEST['sect']."/".$_REQUEST['mod'].".inc.php";
} else {
include $core->params->Get("path")."/sources/modules/main.inc.php";
}
...
$core->db->Close();
?>
Подскаже как правильнее иудобнее оформить структуру ?
