phpbar.de logo

Mailinglisten-Archive

[php] AW: [php] eine ganz einfache frage

[php] AW: [php] eine ganz einfache frage

Ulf Wendel ulf.wendel_(at)_kiel.netsurf.de
Thu, 04 Nov 1999 21:28:00 +0100


"Voss, Dominik" wrote:
> gibt dir das einen anhaltspunkt, um mir noch mehr sagen zu koennen ?

Leider kaum, weil ich ASP und VB nur vom Überfliegen eines Microsoft
Einsteiger Kurs her kenne. Du hast jedoch Einzelaufgaben angesprochen,
die ich kurz anreißen kann in PHP. 

###  Datenbanken und Arrays

Arrays werden wie alle Variablen in PHP dynamisch alloziiert. Sie dürfen
n-Dimensionen annehmen. Ein eindimensionales Array wird folgendermaßen
motiert:

$foo[0] = 1;
$foo[1] = 2;
oder 
$foo = array (1,2);

Jede weitere Dimension wird durch eine weitere Klammer realisiert.

$foo[0][0]=1;
$foo[0][1]=1;
...

Datenbankergebnisse liegen stets als Array vor. Das Array ist sowohl
numerisch als auch nach Spaltennamen indiziert. Soweit ich in meiner
alten ASP Doku gestöbert habe, muß der ASP Programmierer mühsam mit
recordset.Fields.Item("name") (PHPLib: $db->f("name") ) auf das Element
zugreifen. Der PHPLib verseuchte PHPler schreibt:

while ($db->Next_Record()) {
 $data[]=$db->Record;   # hoffentlich täusche ich mich nicht...
 $id[$db->f("id")] = true;
}

und bekommt ein dreidimensionales Array mit allen Ergebnissen in der
Form: [n][Fieldname][Value] und [n][Index][Value]. Ohne PHPLib sind es
nur wenige Zeilen mehr. Ein zweites Array $id wird aufgebaut und enthält
die IDs aller verarbeiteten Datensätze. Will man wissen, ob ein
Datensatz schon verarbeitet wurde, tippt man:

if (isset($id[$check_id]))
  echo "$check_id schon vorhanden.<br>";

Sehr ärgerlich an PHP ist - bitte korrigieren - das der Speicher, den
ein Jumbo Array belegt hat mit unset() nicht wirklich freigegeben wird,
sondern nur zur Benutzung für andere Variablen vorbereitet wird. 

### Code Menge, PHP als Sprache

Eine Code-Länge von 3.000 Zeilen ist in PHP im Allgemeinem kein großen
Problem. Das NetUSE Shop-System hat etwa einen Code Umfang von ca. 5.500
Zeilen und reißt die Maschine noch nicht in die Knie. Hast Du mal
versucht herauszufinden, ob ASP oder die Datenbank das Problem ist? 

Ob PHP als Sprache adäquate Mittel für große Applikationen bietet kann
ich nicht beurteilen, weil ich kein Informatiker bin. Bei 5.000 Zeilen
ist eh Schluß bei mir. Dazu bin ich zu sehr weltverbessernder
Taxifahrer, alias Politologe.

Alles was mir nur auffällt ist, die grausame Notation bei ASP. Ich habe
Zweifel, daß sich eine Objektorientiertheit wirklich lohnt und nicht nur
für wunde Finger sorgt. PHP ist sehr strikt auf die Aufgabe "DB
abfragen, Ergebnis umformatieren, ausgeben" hin optimiert. Es sind wie
in ASP wenige Zeilen. Ob komplexere Anforderungen mit dem
VB/Objektorientieren Ansatz von Microsoft wirklich besser zu lösen sind,
als mit klassischen prozedualen Mitteln ist in meinen Augen zweifelhaft. 

Mail doch gelegentlich mal Aufgaben und deren Lösungsansatz in ASP, dann
kann ein PHPler die entsprechende PHP Variante bringen und wir haben
viele, praktische Vergleiche. 


Ulf


php::bar PHP Wiki   -   Listenarchive