Einzelnen Beitrag anzeigen
  #8  
Alt 07.05.2011, 20:11:38
R4Zz0R R4Zz0R ist offline
Junior Member
 
Registriert seit: Sep 2009
Ort: Wetzlar/Kassel
Alter: 35
Beiträge: 201
AW: Variablensicherheit

Nabend erstmal & danke für deine geduld und mühe.

Ich versuche es mal etwas besser zu erleutern was genau mir sorgen bereitet.

Zitat:
Derzeit sind ARRAY's "schick" und nicht einzelne variablen.
Stimmt daher nutze ich auch so gut wie nur arrays es sei denn es handelt sich um funktionsaufrufe. (Eins vorweg ich kenne auch array_walk und array_map es ist nicht das problem eine funktion auf ein array anzuwenden sondern aus einem array daten zu extrahieren und "sauber" zu übergeben)

Ein beispiel:
PHP-Code:
function tralalala($tra,$la,$lala) {
  return 
$tra.$la.$lala;
}

//normaler funktionsaufruf mit übergebenen daten wie in jedem tutorial zu finden
tralalala('tra','la','lala');

/**
 * ich verwende jedoch eine eigene funktion zum aufrufen
 * ein array mit einem offieziellen funktionsnamen als index der whitelist und dem eigentlichen   
 * richtigen funktionsnamen als inhalt whitelist ->funktion folgt:
**/
function onTheFly($getarr,$touse,$postarr,$fparam,$funkt) {
  if(
$fparam == 'post') {
      
$run call_user_func_array($touse[$funkt],$postarr);
  } else {
       if(isset(
$funkt)) {
          if(!empty(
$fparam)) {
            
$run call_user_func($touse[$funkt],$fparam);
          } else {
            
$run $touse[$funkt]();
          }
       }
    }
 return 
$run;
}

//ich hoffe der rest ist gut verständlich 

$getarr $_GET;
$postarr $_POST;
$touse['abcfunk'] = 'tralalala';//whitelist 
$fparam 'post'//wenn post dan (meist) mehrere werte, ansonsten übergabewert 
$funkt 'abcfunk'//offiezieller name der funktion (whitelist name der funktion)

//so nun werden über $postarr die 3 benötigten felder übergeben und die funktion 
//aufgerufen deren rückgabewert in $ret enthalten ist.
$ret onTheFly($getarr,$touse,$postarr,$fparam,$funkt);

//angenommen bei dem dazu benötigten formular ist was nicht in der richtigen reihenfolge
//naja erklären muss ich ja nicht viel .. werden daten falsch verarbeitet... 
Nun dachte ich wenn ich die benötigten variablen für die funktionen "vorbereiten" lasse
das ich mir dan diese funktion sparen kann. Anstelle dessen hätte ich dementsprechend eine steuerung für die aufrufe gebastelt.

Eventuell hast du einen vorschlag wie ich das problem mit der sortierung löse ohne mir einen neuen (ich bezeichne es halt so) funktionscontroller zu schreiben.

Anbei (fass das bitte nicht falsch auf)

Zitat:
Besser find ich ein Objekt aber darüber kann man glaube ich streiten.
Stimmt ^^ nenn mich altmodisch aber ich schreibe prozedual daher sind klassen keine option für mich. (bitte lass uns das jetzt nicht in eine pro/kontra diskussion ausarten lassen)

Funktionale programmierung finde ich ausreichend für meine zwecke.
(funktionen erledigen das wichtigste der rest ist nur die steuerung der aufrufe und der ausgaben um mal zu erläutern was ich unter funktionaler programmierung verstehe)


LG & Danke Nochmals

R4Zz0R
__________________
Wachsen kann man entweder:

Körperlich -> Man wird größer.
^ Ist so von der Evolution gewollt.

Charakter -> Man wird Geduldiger.
^ Man wächst mit der aufgabe

Kopf -> Man wird Klüger.
^ Wenn die aufgabe probleme macht & man trotzdem deine lösung findet.
Mit Zitat antworten