Holger Schadeck

Holgers gesammelte (Programmier-) Erfahrungen

Was ich bei der PHP-Programmierung eigentlich nicht mehr mag.

Es gibt so einige Dinge, die ich
einfach nicht (mehr) bei der PHP-Programmierung mag:

  1. Die Klammer- und
    Anführungszeichen-Tipperei bei Arrays
  2. Template-Engines, die, nur um dem
    dümmsten anzunehmenden Programmierer das Denken abzunehmen,
    zusätzlich zur eigentlichen Script-Logik nur unnötige
    Prozessorlast erzeugen.
  3. Datenbank-Abfragen, deren
    Ergebnis-Daten unnötig in Arrays gespeichert werden und so auf
    Kosten der Speicherlast des Servers gehen, wobei die Ergebnis-Daten
    doch auch bei der Ausgabe direkt gefetcht werden könnten.

Um nicht zu sehr ins Detail zu gehen,
hier die zentralen Klassen:

  1. Eine DataReflector Klasse
  2. Eine FetchReflector Klasse
  3. Eine TplReflector Klasse, erweitert DataReflector

Hier ein exemplarisches Beispiel:

demo.php

require_once ('lib/DbConnection.php');
require_once ('lib/TplReflector.php');
$oSql = new DbConnection('mysql');
$oSql->connect('localhost', 'root', '');
$oSql->select_db('testdb');
$oQuery = $oSql->query('select * FROM user;');
$oTpl = new TplReflector();
$oTpl->useSession();
$oTpl->_session->iCount += 1;
$oTpl->useServer();
$oTpl->users->bind(array (
	$oQuery,
	'fetch_assoc'
));
$oTpl->content = $oTpl->get('tpls/sub.php');
$oTpl->show('tpls/main.php');

main.php

< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 
<html>
<head>
<title>Page title</title>
</head>
<body>
Self: <?php echo $oData->_server->PHP_SELF; ?>
Count: <?php echo $oData->_session->iCount; ?><br />
 
<?php echo $oData->content; ?>
 
 
</body>
</html>

sub.php

while ($oUser = $oData->users->fetch()) {
	echo '<hr /><pre>';
	print_r($oUser);
	echo '</pre>';
}

DataReflector.zip Downloads: 2634 times
Tags: DB, Session, get, Tpl, server, Mysql, post, Object, PHP, Array, php5, Data, Template, Allgemein

Kommentare

Kommentieren

*


*