How to not write PHP

Comments

Hm, was hast du denn gegen das short tag ? Ich find's toll..

Mein Code sieht leider nicht viel besser aussieht als dein Beispiel, wie man es nicht machen sollte :p

Schick mir mal nen Beispiel, wie man es richtig macht ;)

Hm, was hast du denn gegen das short tag ? Ich find's toll..

Mein Code sieht leider nicht viel besser aussieht als dein Beispiel, wie man es nicht machen sollte :p

Schick mir mal nen Beispiel, wie man es richtig macht ;)


Wenn Du das shorttag abschaltest, dann kannst du wieder "<?xml" schreiben, ohne es in ein echo zu kapseln.

Wie man es meiner Meinung nach richtiger macht, hab ich ja beschrieben oder angedeutet. Im Bezug auf quoting in SQL-Abfragen, waere das einfachste quoting), addslashes(stripslashes($foo)) zu machen, obwohl es natuerlich auch Funktionen wie mysql_real_escape_string gibt.

Generell waere es auch besser, wenn man mit Typen arbeitet. Denn obwohl alles in PHP ganz schnell ein String ist, gibt es zum Beispiel auch noch viele Andere - ganze Zahlen, Dezimalzahlen, Objekte, Listen usw..

Die SQL-Abfrage wird zum Beispiel auch schneller wenn Du Dich am Typ orientierst.

$id = (int) @$_GET['id'];
if (empty($id)) {
// redirect or whatever
}
$query = "SELECT foo FROM bar WHERE id = " . $id;
// etc.

Oder bei String:
$user = @$_GET['user'];
if (empty($user)) {
// do something else
}
$query = "SELECT foo FROM bar WHERE user = '%s'";
$query = sprintf($query, mysql_real_escape_string($user));
// continue

Generell ist es viel uebersichtlicher, wenn man zum Beispiel die Datenbankabfragen vor dem Layout (HTML, usw.) macht, damit man ggf. auch einen Status darstellen kann - "wurde nicht gefunden", "ein Fehler ist aufgetreten" usw..
Villeicht noch eine Anmerkung, mit dem @ bin ich natuerlich auch sehr faul.

Viel besser ist:

if (isset($_GET['id'])) {
// yes, we have ;-)
}
Naja, daß per isset geprüft wird, ob's die Variable gibt, mache ich auch, und Fehlermeldungen lege ich als variablenstring in der Datenbank config Datei ab.
Datenbankzugriffe per function..
Aber so recht übersichtlich ist das bei mir trotzdem nicht, und typen benutze ich auch nicht =)

Ist zwar auch schon fast ein Schimpfwort, aber schau Dir doch mal ein paar MVC-Frameworks an. Die zwingen Dich bis zu einem gewissen Punkt ordentlicher zu werden. ;-)

Wenn Du PHP5 hast, dann wuerde ich Dir das Zend Framework oder Symfony empfehlen. Bei PHP4 am ehesten CakePHP.

Post a comment

Already a Vox member? Sign in