Arraynamen "array['etc']" deklarieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • phpMorpheus2
    antwortet
    Das heißt,
    in einer Funktion die ich Aufrufe/Benutze, finde bei der Validierung ein Fehler statt.

    Ich erstelle eine neue Exception mit den Fehlerdaten und kann Sie
    nach der Ausführung der Funktion mit catch anzeigen lassen!?

    Ich kann jedoch nicht mehrere Exceptions in einem Durchlauf definieren und catch'n !?

    Das wäre sogesehen eine Funktion, welche viel Flexibler ist und somit
    brauche ich bei einem Fehler oder auch bei KEINEM Fehler, keine err/msg etc. Daten mit übertragen.

    Sehe ich das richtig?

    Einen Kommentar schreiben:


  • combie
    antwortet
    auch wenn ich persönlich der meinung bin, dass man sich erst mit prozeduraler programmierung auskennen sollte, bevor man sich auf oop stürzt.
    Ich bin mir da gar nicht so sicher.
    Kann da allerdings auch nicht objektiv sein.

    Einen Kommentar schreiben:


  • Kropff
    antwortet
    @phpmorpheus2
    lies dir ggf. mal das hier durch und schau dir dann das hier an. vielleicht änderst du deine ansicht. auch wenn ich persönlich der meinung bin, dass man sich erst mit prozeduraler programmierung auskennen sollte, bevor man sich auf oop stürzt.

    peter

    Einen Kommentar schreiben:


  • h3ll
    antwortet
    Zitat von phpMorpheus2 Beitrag anzeigen
    Mit oop kannste mich jagen.
    Gut,ich bin Anfänger und irgendwann, wenn ein gewisses Niveau erreicht ist,
    strebt man nach mehr und wird die Vorteile am Objektor. Pr. finden.

    Aber bislang krieg ich davon nur einen Nervenzusammenbruch und
    finde es persöhnlich unübersichtlich.
    Und das herumgetue mit den Arrays empfindest du nicht als unübersichtlich? Für mich wär das ein Horror. Und für Exceptions ist ja auch nicht soooo viel Wissen über OOP erforderlich.

    PHP-Code:
    <?php

    function inverse($x) {
        if (
    $x == 0) throw new Exception('Division durch Null!');

        return 
    1/$x;
    }

    $zahl 0;

    try {
        echo 
    '1 / ' $zahl ' = ' inverse($zahl);
    } catch (
    Exception $e) {
        echo 
    'Es ist ein Fehler aufgetreten: ' $e->getMessage();
    }

    ?>

    Einen Kommentar schreiben:


  • combie
    antwortet
    Wer will, findet Wege.
    Wer nicht will, findet Gründe.

    Übersichtlich?
    OOP ist eine andere Art zu denken.
    Damit kommt dann auch die Übersicht.

    Einen Kommentar schreiben:


  • phpMorpheus2
    antwortet
    Mit oop kannste mich jagen.
    Gut,ich bin Anfänger und irgendwann, wenn ein gewisses Niveau erreicht ist,
    strebt man nach mehr und wird die Vorteile am Objektor. Pr. finden.

    Aber bislang krieg ich davon nur einen Nervenzusammenbruch und
    finde es persöhnlich unübersichtlich.

    Erstmal sehen wie weit ich mit dem Standard komme, dann irgendwann kommt das oop

    Einen Kommentar schreiben:


  • combie
    antwortet
    Ihm mag scheinbar nicht so das OOP Gedöns.

    Einen Kommentar schreiben:


  • h3ll
    antwortet
    Warum verwendest du nicht einfach Exceptions statt Error und Error Message mit dem Array zu übergeben?

    Einen Kommentar schreiben:


  • phpMorpheus2
    antwortet
    Zitat von onemorenerd Beitrag anzeigen
    Zusammen mit den Daten. Das ist schon sehr ungewöhnlich. Normalerweise haben Systemzustandsmeldungen eigene Kanäle.
    Wie sonst?
    Ich gebe immer eine Array als Rückgabewert aus.
    In dieser gibt es:
    PHP-Code:
    $arr['err'true or false
    $arr
    ['msg'//Die Fehlermeldung
    $arr['row'//bei einer oder mehreren Zeilen Datenausgabe
    $arr['nr'//So weiß die angefoderte Funktion, was für Daten angekommen sind. Entweder eine einzige Nachricht, die steht dann in ['msg'] oder was für ein Fehler genau.
    //usw. 
    Die Validierungsoptionen, also die Ergebnisse der Validierung werden immer mit in der Array verschickt, in der die Ergebnisdaten auch sind.
    Ist die Validierung fehlgeschlagen und es trat ein fehler auf,
    so ist die $arr sowieso ohne Ergebnisdaten, nur die Validierungsdaten sind beinhaltet (logisch).
    Zitat von onemorenerd
    Ich glaube wir reden aneinander vorbei. Darf ich die "Ausgabevalidierung" mal sehen, zumindest konzeptionell?
    Ausgabevalidierung?
    Wie meinst du das?
    Die Ausgabevalidierung einer Validierungsfunktion oder das Konzept der Ausgabe und was passiert, wenn die Validierung fehlgeschlagen ist und wenn nicht?

    Einen Kommentar schreiben:


  • onemorenerd
    antwortet
    Zitat von phpMorpheus2 Beitrag anzeigen
    Darum ja die einheitliche Weiterleitung der Meldungen.
    Zusammen mit den Daten. Das ist schon sehr ungewöhnlich. Normalerweise haben Systemzustandsmeldungen eigene Kanäle.
    Zitat von phpMorpheus2 Beitrag anzeigen
    Der Empfänger des Rückgabewertes sendet das Paket 1:1 weiter bis das Paket in der endgültigen Ausgabevalidierung landet.
    Ich glaube wir reden aneinander vorbei. Darf ich die "Ausgabevalidierung" mal sehen, zumindest konzeptionell?

    Einen Kommentar schreiben:


  • phpMorpheus2
    antwortet
    Zitat von onemorenerd Beitrag anzeigen
    Du hast lauter Funktionen, die irgendwas machen. Soweit alles klar.
    Und jede Funktion hat ihren Wrapper für die Validierung, also ungefähr so?
    PHP-Code:
    function _foo() {
        
    /* macht irgendwas */ 
        
    return $row;
    }
    function 
    foo() {
        
    $row _foo();
        if (
    /* alles ok mit $row */) {
            return array(
    'row' => $row'err' => null'msg' => null);
        } else {
            return array(
    'row' => null'err' => true'msg' => 'oops');
        }

    Dann brauchst du aber trotzdem noch irgendwo anders Logik. Diese Validatoren sorgen also für Ordnung in den Funktionen, sonst nichts.
    Richtig.

    Zitat von onemorenerd
    Es gibt auch noch was anderes außer "gleich ausgeben" und err/msg.
    Ich gebe doch nicht gleich aus.
    Darum ja die einheitliche Weiterleitung der Meldungen.

    Zitat von onemorenerd
    Und der Empfänger des Rückgabewerts muss dann auch angepasst werden.
    Nein. Der Empfänger des Rückgabewertes sendet das Paket 1:1 weiter bis das Paket in der endgültigen Ausgabevalidierung landet.

    Zitat von onemorenerd
    Oh doch, das wirst du.

    Einen Kommentar schreiben:


  • onemorenerd
    antwortet
    Zitat von phpMorpheus2 Beitrag anzeigen
    Ich habe mehrere Funktionen zur Validierung.
    Bestimmte Funktionen benutze bestimmte Validierungsfunktionen um Ihre Ergebnisse zu Validieren.

    Hat eine Funktion etwas gemacht, so prüft die passende Validierungsfunktion, ob das Ergebnis korrekt ist.

    Ist das Ergebnis inkorrekt, z.B. ein query fehler oder sonstiges,
    so gibt die spezifische Validierungsfunktion einen Fehler zurück.
    Err=true und die dazugehörige fehlermeldung msg=fehler

    Die Funktion, welche nun etwas gemacht hat und von der Validierung einen Fehler zurück erhält, gibt diesen Fehler weiter.
    Sprich Err und Msg.
    Du hast lauter Funktionen, die irgendwas machen. Soweit alles klar.
    Und jede Funktion hat ihren Wrapper für die Validierung, also ungefähr so?
    PHP-Code:
    function _foo() {
        
    /* macht irgendwas */ 
        
    return $row;
    }
    function 
    foo() {
        
    $row _foo();
        if (
    /* alles ok mit $row */) {
            return array(
    'row' => $row'err' => null'msg' => null);
        } else {
            return array(
    'row' => null'err' => true'msg' => 'oops');
        }

    Dann brauchst du aber trotzdem noch irgendwo anders Logik. Diese Validatoren sorgen also für Ordnung in den Funktionen, sonst nichts.

    Zitat von phpMorpheus2 Beitrag anzeigen
    Auf der Oberfläche kann nun direkt eine spezielle anzeige programmiert werden für den Fehler.

    Ich könnte den Fehler auch gleich ausgeben lassen aus der Funktion,
    aber dann kann ich die Fehlermeldungen nicht seperat gestalten!
    Es gibt auch noch was anderes außer "gleich ausgeben" und err/msg.

    Zitat von phpMorpheus2 Beitrag anzeigen
    Außerdem ist die Weitergabe von Daten IMMER identisch.
    In jeder Funktion.
    Alles wird einheitlich gemacht und falls etwas hinzukommt,
    so wird es in den benötigten Funktionen geändert.
    Und der Empfänger des Rückgabewerts muss dann auch angepasst werden.

    Zitat von phpMorpheus2 Beitrag anzeigen
    Ich denke, ich werde damit kein Problem in Zukunft haben, wenn alles Einheitlich aufgebaut ist.
    Oh doch, das wirst du.

    Einen Kommentar schreiben:


  • phpMorpheus2
    antwortet
    Zitat von Kropff Beitrag anzeigen
    und vergiss array_push und javascript

    peter
    array_push? javascript? was ist das?

    Einen Kommentar schreiben:


  • Kropff
    antwortet
    Zitat von phpMorpheus2 Beitrag anzeigen
    Ja, das wollte ich wissen.
    Perfekt. Somit wieder ein haufen unnütze Arbeit unf Performance erspart!
    und vergiss array_push und javascript

    peter

    Einen Kommentar schreiben:


  • phpMorpheus2
    antwortet
    Guter Hinweis!

    Ich habe mehrere Funktionen zur Validierung.
    Bestimmte Funktionen benutze bestimmte Validierungsfunktionen um Ihre Ergebnisse zu Validieren.

    Hat eine Funktion etwas gemacht, so prüft die passende Validierungsfunktion,
    ob das Ergebnis korrekt ist.

    Ist das Ergebnis inkorrekt, z.B. ein query fehler oder sonstiges,
    so gibt die spezifische Validierungsfunktion einen Fehler zurück.
    Err=true und die dazugehörige fehlermeldung msg=fehler

    Die Funktion, welche nun etwas gemacht hat und von der Validierung einen Fehler zurück erhält, gibt diesen Fehler weiter.
    Sprich Err und Msg.

    Auf der Oberfläche kann nun direkt eine spezielle anzeige programmiert werden für den Fehler.

    Ich könnte den Fehler auch gleich ausgeben lassen aus der Funktion,
    aber dann kann ich die Fehlermeldungen nicht seperat gestalten!

    Nungut, ich bin noch ein Anfänger, und Klassen finde ich überflüssig,
    aber man lässt sich doch gern beraten :-)

    Außerdem ist die Weitergabe von Daten IMMER identisch.
    In jeder Funktion.
    Alles wird einheitlich gemacht und falls etwas hinzukommt,
    so wird es in den benötigten Funktionen geändert.

    Ich denke, ich werde damit kein Problem in Zukunft haben, wenn alles Einheitlich aufgebaut ist.
    (Ich hoffe es)

    Ich finde solche Einwände bzw. gedankenanstöße super!

    Einen Kommentar schreiben:

Lädt...
X