Hey Leute!
Ich möchte meinen Codestil "perfektionieren". Ich kann PHP soweit, dass alles funktioniert usw, aber ich möchte optimale Lösungen bei minimalem Code. Hab mir PHP selbst (Bücher, Inet) beigebracht und deshalb nicht wirklich nach einer Norm gelernt.
Hier ein abgespecktes Beispiel (News), welches ihr gerne zerfleischen könnt!
Was haltet ihr von dem Stil? Falls euch sonst einige typische Fehler einfallen, immer raus damit!
Danke
carapau
Ich möchte meinen Codestil "perfektionieren". Ich kann PHP soweit, dass alles funktioniert usw, aber ich möchte optimale Lösungen bei minimalem Code. Hab mir PHP selbst (Bücher, Inet) beigebracht und deshalb nicht wirklich nach einer Norm gelernt.
Hier ein abgespecktes Beispiel (News), welches ihr gerne zerfleischen könnt!
PHP-Code:
// news.class.php
class News {
var $id, $headline, $content;
// füllt die vars
function News($id = "") {
if(!empty($id) $ext = " WHERE id='$id'";
$qry = mysql_query("SELECT id, headline, content FROM news".$ext);
while($row = mysql_fetch_object($qry)) {
// Frage 1: Geht die Zuweisung nicht schöner/eleganter? Es könnten ja 100 Werte statt 3 sein.
$this->id = $row->id;
$this->headline = $row->headline;
$this->content = $row->content;
}
}
// gibt die letzten x news ids zurück
function getLatestNews($start, $num) {
$qry = mysql_query("SELECT id FROM news LIMIT $start, $num");
while($row = mysql_fetch_assoc($qry))
$items[] = $row[id];
return $items;
}
}
PHP-Code:
// news.php
require_once('news.class.php');
global Smarty;
$News = new News();
$start = 0;
$newsPerPage = 30;
$template = 'default.htm';
$newsIds = $News->getlatestNews($start, $newsPerPage);
foreach($newsIds as $newsId) {
$newsItems[] = (array) new News($newsId);
}
$Smarty->assign('newsItems', $newsItems);
$Smarty->display($template);
Code:
// default.htm (Template) {foreach item=news from=$newsItems} <h2>{$news.headline}</h2> {$news.content}<br> [<a href="index.php?m=news&id={$news.id}">mehr</a>] <hr> {/foreach}
Danke
carapau
Kommentar