phpbar.de logo

Mailinglisten-Archive

AW: [php] Vergleich von zwei Werten

AW: [php] Vergleich von zwei Werten

Tim Hildebrandt TConnect at gmx.net
Mit Sep 29 11:27:59 CEST 2004


Hallo Steffen,

> 
> $Modul    = Pruefe_Modul('fibu');
> /* ^ Liefert bei true 'fibu', sonst 0 */
> $Funktion = Pruefe_Funktion('zudd_erfassen', $Modul);
> /* ^ Liefert bei true die Funktion sonst 0 */
> 

Ich würde das anders angehen. Punkt 1. ist, dass unter Umständen mit jedem
Funktionsaufruf "Pruefe_Funktion()" ein Datenbankzugriff generiert wird, was
unnötig ist. Bei einer nicht allzu großen Anzahl von Funktionen kannst Du
lieber so vorgehen (Ob die Daten aus der DB kommen oder nicht mußt Du selber
umsetzen, ich gehe davon aus, dass man eine Liste erlaubter Funktionen für
einen Benutzer durchlaufen kann):

<schnipp>
durchlaufe_Liste_der_erlaubten_funktionen {

$all_functions[$momentane_funktionskennung] = true;

}
<schnapp>

In Deinem Beispiel hättest Du ein assoziatives Array mit:

$all_functions["fibu"] = true;
$all_functions["zudd_erfassen"] = true;

Später kannst Du dann über eine ganz einfache Prüfung checken, ob der
Benutzer darf oder nicht:


if($all_functions["fibu"] == true) {
echo "jo, gell?";
} else {
echo "äh, nö.";
}

Zudem hast Du (sofern Du eine DB nutzt) nur einen einzigen Zugriff auf die
Tabelle mit den Rechten, was Zeitvorteile bringt.


Grüße Tim


php::bar PHP Wiki   -   Listenarchive