Nebenbei: Warum eigentlich $this???

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

  • #16
    @Op@:

    Glab, das was du da sagts, verstehe ich nicht recht.

    PHP-Code:
    <?

    class tobi {
       var $member1;
       var $member2;
       
       
       function X($_x,$_y) {
          $this->member1=$_x;
          $this->member2=$_y;
          }
       function show() {
          echo "member1 ist: ".$this->member1." und member2 ist: ".$this->member2;
          }
       }

    $test=new tobi("Hallo","Test");
    $test->show();

    ?>
    Deiner Meinung nach müsste da jetzt also als erstes noch ne Funktion tobi hin? In deiner DB-Class ist das aber auch nicht. Hab ich das nicht recht verstanden, oder wie?

    Kommentar


    • #17
      tobi, die dinger sind kein muss, nur optional (schönes wort, gelle ? *g*)
      dh wenn du die klasse mit new initialisierst kannst parameter übergeben, diese paramenter landen im konstruktor und der macht dann mit denen was ..

      wenn das nicht brauchst dann brauchst es eben nicht
      mfg,
      [color=#0080c0]Coragon[/color]

      Kommentar


      • #18
        Hab mich jetzt auf PHP.net ein bisschen eingelesen.

        Die initialisierung (var $member1) mache ich vor der ersten Funktion. Könnte ich die auch im Konstruktor machen? Wäre doch kein Unterschied, oder?

        Kommentar


        • #19
          initialisieren tust sie vorher ..
          zuweisen erst im konstruktor ..

          warum man das so machen sollte weiß ich ned .. ich initialisiere ned mal, ich verwende nur *g*
          mfg,
          [color=#0080c0]Coragon[/color]

          Kommentar


          • #20
            Ich hab bis jetzt auch nicht initialisiert. Aber vor kurzem war das hier im Forum irgendwo Thema. Angeblich können da irgendwelche Fehler auftreten. Und $arr[bla] sollte man auch als $arr["bla"]

            Kommentar


            • #21
              mag sein .. aber $arr[blah] gibt nur nen notice fehler aus
              drum bleib ich dabei *g*
              mfg,
              [color=#0080c0]Coragon[/color]

              Kommentar


              • #22
                @Tobi

                die Klasse die du dort kopiert hast, hieß "X" und
                hatte einen Konstruktor "function X(....)"

                nach dem Umbenennen hat sie keinen Konstruktor mehr
                (nurnoch den automatischen Standardkonstruktor, welcher
                nichts macht)

                Wenn du auch einen Konstruktor selber haben willst,
                mache eine Funkktion

                function tobi(...){}
                TBT

                Die zwei wichtigsten Regeln für eine berufliche Karriere:
                1. Verrate niemals alles was du weißt!


                PHP 2 AllPatrizier II Browsergame

                Kommentar


                • #23
                  Danke TBT, aber ich hatte das schon absichtlich so abgeändert. Hätte ich vielleicht dazuschreiben sollen, sieht deiner Class sehr ähnlich.

                  Ich glaub ich steig da jetzt so langsam durch.

                  Stellt sich mir nur noch die Frage
                  Brauche ich Klassen eigentlich wirklich?
                  Ich mein es ist immer gut, mitreden zu können, und auf dem neuesten Stand zu sein. Aber um ne erweiterte/vereinfachte DB-Connection zu bauen, würde doch eigentlich auch ne einfache Funktion reichen.
                  Warum nutze ich als Klassen?

                  Kommentar


                  • #24
                    In einer Klasse bündelst du alle zusammengehörigen Funktionen.
                    Das kannste natürlich auch in mehreren Funktionen in einer normalen
                    Datei machen, doch bei Klassen gibs da ein paar Vorteile:

                    - die Membervariablen gelten innerhalb der gesammten Klasse => bei Funktionen mußte die immer übergeben, oder global() machen
                    - man hat eine Variable, die dieses Object darstellt
                    - man brauch nicht wissen, wie eine Klasse was macht, nur was rein muß um bestimmtes rauszukriegen (Blackboxprinzip)
                    - leichter wartbar
                    - es kürzt die Entwicklungszeit ungemein


                    Beispiel:
                    PHP-Code:
                    $query = new Query($DBinfotruefalse);
                    $boardconf read_conf($query$cacheconf);
                    $session = new Session($query, isset($HTTP_GET_VARS['sessid'])?$HTTP_GET_VARS['sessid']:0$boardconf['session_dauer']);
                    $session->place($ort,isset($HTTP_GET_VARS['id'])?$HTTP_GET_VARS['id']:0,$action);
                    $boardconf['session']=&$session;

                    if (
                    $action == "login")
                        
                    $user = new BoardUser($query,
                            
                    "login",
                            isset(
                    $HTTP_POST_VARS['login_user'])?$HTTP_POST_VARS['login_user']:"",
                            isset(
                    $HTTP_POST_VARS['login_pass'])?$HTTP_POST_VARS['login_pass']:"",
                            
                    $session);
                    else
                        
                    $user = new BoardUser($query,
                            
                    "return",
                            
                    $session->get('user_id')?$session->get('user_id'):(isset($HTTP_COOKIE_VARS['user_id'])?$HTTP_COOKIE_VARS['user_id']:1),
                            
                    $session->get('user_pass')?$session->get('user_pass'):(isset($HTTP_COOKIE_VARS['user_pass'])?$HTTP_COOKIE_VARS['user_pass']:""),
                            
                    $session); 
                    nach diesem kleinen Script, weiß ich ALLES über denn User
                    - welche Session und daraus die Daten
                    - Userid, Name, ...
                    - welche OS
                    - welchen Browser
                    - IP
                    - Referer
                    - welche Seite er sehen will
                    - ...

                    alles was den User betrifft, ist in $user gespeichert. Und wenn ich was vom
                    User wissen will, frag ich ihn $user->get("ip");
                    oder $user->get_forum_right("read");
                    Zuletzt geändert von TBT; 25.10.2002, 14:06.
                    TBT

                    Die zwei wichtigsten Regeln für eine berufliche Karriere:
                    1. Verrate niemals alles was du weißt!


                    PHP 2 AllPatrizier II Browsergame

                    Kommentar


                    • #25
                      Klingt doch ganz sinnvoll.

                      Kann leider im Moment nicht weiterforschen. Muss erst nen Online-Katalog füllen. Also pure Tipparbeit...

                      Danke soweit an alle!!!

                      Kommentar


                      • #26
                        Gibt es irgendwo was zum Lesen, wo man das mit den Klassen besser verstehen kann ?

                        Außer dem PHP-Handbuch ?

                        Danke schon mal....
                        ---------------------------------------------
                        Die Hoffnung stirbt zuletzt.

                        Kommentar


                        • #27
                          Andere Bücher.

                          Aber ich fand das Manual eigentlich sehr verständlich.

                          Kommentar


                          • #28
                            klar, deshalb ist auch tobiaz der der diesen thread erstellt hat - stimmts ?

                            ps: nix für ungut das eine oder andere konnt ich ja selbst noch rausholen
                            mfg,
                            [color=#0080c0]Coragon[/color]

                            Kommentar

                            Lädt...
                            X