phpbar.de logo

Mailinglisten-Archive

[php] Wie am Besten Zusammenbastelen?

[php] Wie am Besten Zusammenbastelen?

Yannik Hampe yannik at cipher-code.de
Mon Nov 6 17:42:21 CET 2006



Rene wrote:
> Am Montag, den 06.11.2006, 17:16 +0100 schrieb Yannik Hampe:
>> Rene wrote:
>>> Hallo lieber PHP-Gemeinde,
>>>
>>> Ich hab eher eine Frage zu einer guten Umsetzung, und nicht zu PHP
>>> direkt.
>>>
>>> Ich habe einige Klassen mit verschieden Methoden, Z.B. $user->useradd
>>> $user->userdel $user->login usw.
>> Und wofür sind die Funktionen gut? Wird $user bei jedem Skritaufruf (mit
>> Werten aus einer DB) erstellt und enthält infos über den aktuellen Benutzer?
> Ich mein das so ich hab für jede action eine Funktion. d.h.
> index.php?action=login;

Eben war das noch
index.php?site=Login
Da hattest du mit
require_once($menu[$permission][$_GET['site']])
Doch schon ein gutes System. Statt einer Funktion für alles und jeden
hast du dann eben eine include-Datei.
Du kannst auch direkt require_one($_GET['site']); nehmen,allerdings
musst du dann !UNBEDINGT! vorher prüfen, ob site gültig ist...
Im einfachsten Fall prüfst du einfach mit strpos(), ob ein . oder ein /
oder ein \ in site vorkommt. Denn damit würdest du dem Benutzer die
Möglichkeit geben beliebige Dateien zu includen, die der Benutzer
garnicht sehen darf.

> wird die funktion login aufgerufen die alles weitere übernimmt;
> 
>> Macht Sinn. Aber eval ist evil ;-). Nagut, nicht immer, manchmal ist
>> eval sehr sinnvoll, aber hier nimmst du besser call_user_method();
>>  
>>
>> Methoden sind Funktionen einer Klasse...
>> Die Funktionen können ohne Funktionen einloggen?
> Ich möchte nicht für jede action eine neue Funktion erstellen, das mein
> ich damit.

Die Includedateien sind eine Alternative.
Aber irgendwohin musst du den code ja schreiben. Entweder in in eine
Klasse, oder in eine includedatei (oder eben in eine DB, aber das ist
erformancemässig nicht zu emphelen).
>> Ausserdem musst du die Informationen wer was wann weshalb darf muss ja
>> irgendwo gespeichert sein...
> 
>> Dafür ist ein Array das beste... Solange du keine DB-Anbindung willst
>> und du die Berechtigungen nicht in deine includeten Dateien schreiben
>> willst/kannst.
> Das hab ich ja so, ich such eine andere Lösung.;)
Mir ist nicht ganz klar, wohin der Code in deinen Vorstellungen dann
verschwinden soll.
Aber das war glaube ich auch die Frage...
Aber eine bessere Lösung fällt mir dazu auch nicht ein :-(.

Yannik

php::bar PHP Wiki   -   Listenarchive