Latest news

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">



Page title


Self: < ?php echo $oData->_server->PHP_SELF; ?>
Count: < ?php echo $oData->_session->iCount; ?>

< ?php echo $oData->content; ?>



sub.php

while ($oUser = $oData->users->fetch()) {
echo '


';
    print_r($oUser);
    echo '

';
}

DataReflector.zip Downloads: 8898 times

1 Gedanke zu „Was ich bei der PHP-Programmierung eigentlich nicht mehr mag.“

  1. Also ich baue schon seit geraumer Zeit mit SITEFORUM-Script.
    Sehr durchdachtes Konzept mit "Webbased" Editor und allem drum&dran.

    Das gab es schon vor PHP … dummerweise kennt es kaum jemand 🙁

    http://www.siteforum.com

Schreibe einen Kommentar

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.