MadMan2k
2005-02-19, 12:49:28
Ich versuche mein CMS Objektorienterter zu gestalten, doch da heb ich mich irgendiwie verrant - glaube ich zumindest.
Hier meine Artikel-Klasse, die den Inhalt einer Seite aus der DB holt und diesen dann formatiert ausgibt:
class Article extends ModuleCommon
{
var $id;
var $content;
var $page;
var $pager;
var $pages;
function Article() {
if(!isset($_GET['id'])) {
$this->error = new Error(L_NO_PARAM);
return false;
}
$this->id = (int)$_GET['id'];
$this->page = isset ($_GET['page']) ? (int)$_GET['page'] : 1;
$this->content = $this->fetchContent();
$pages = $this->fetchPages();
$this->pager = new Pager($pages, $this->page);
}
function fetchContent() {
//..
}
function fetchPages() {
//..
}
function render() {
echo '<h2>'. $this->content['title'] ."</h2>\n";
echo $this->content['text'];
$this->pager->render();
}
}
$seite = new Article;
ist es sinnvoll/ guter Stil alles in den Konstruktor zu stopfen?
wie könnte man das ganze eleganter Lösen?
Hier meine Artikel-Klasse, die den Inhalt einer Seite aus der DB holt und diesen dann formatiert ausgibt:
class Article extends ModuleCommon
{
var $id;
var $content;
var $page;
var $pager;
var $pages;
function Article() {
if(!isset($_GET['id'])) {
$this->error = new Error(L_NO_PARAM);
return false;
}
$this->id = (int)$_GET['id'];
$this->page = isset ($_GET['page']) ? (int)$_GET['page'] : 1;
$this->content = $this->fetchContent();
$pages = $this->fetchPages();
$this->pager = new Pager($pages, $this->page);
}
function fetchContent() {
//..
}
function fetchPages() {
//..
}
function render() {
echo '<h2>'. $this->content['title'] ."</h2>\n";
echo $this->content['text'];
$this->pager->render();
}
}
$seite = new Article;
ist es sinnvoll/ guter Stil alles in den Konstruktor zu stopfen?
wie könnte man das ganze eleganter Lösen?