[PHP] Oop?

Dieses Thema im Forum "Webentwicklung" wurde erstellt von SeXy, 16. Oktober 2006 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 16. Oktober 2006
    Oop?

    Moin! Bin jetzt einige Monate dabei, mti PHP zu Basteln und es klappt auch und macht mir Spaß. Nun bin ich aber an dem Punkt angelangt, wo ich etwas Komplexeres brauche. Dazu möchte ich eine Klasse verwenden. Leider steige ich durch die Erklärung ausm Quakenet Tutorial nicht so ganz durch. Kann mir hier jemand eine kleine Klasse schreiben, bei der alles kommentiert ist und eventuell etwas dazu sagen? Wie das alles mit $this -> etc. funktioniert. Das wäre echt klasse =)

    Mir geht es darum:
    Ich möchte eine Klasse schreiben, bei der ich mit
    $klasse = new klasse;
    $klasse -> connect(...)
    Eine Verbindung zum Server aufbaue und dann mit
    $klasse -> befehl
    Einen Befehl an den Server senden kann. Doch irgendwo muss ich ja auch die Daten aus $klasse -> connect speichern, damit ich überhaupt vorm Senden des Befehls wieder connecte. Klar muss ich in jedem file einmal connecten, sofern ich das nicht global include, aber wie mach ich das alles in einer klasse? bei $klasse -> connect soll etwas ausgeführt werden und bei $klasse -> befehl etwas das evtl. Bezug auf den connect nimmt.
    Wer das jetzt nicht versteht, ignoriert den Absatz einfach und beachtet nur den ganz oberen

    Bewertung gibts für jede Antwort auch zu Links mit guten Tutorials. Vielen dank schonmal!
     
  2. 16. Oktober 2006
    AW: Oop?

    Code:
    <?php
    
    class foobar
    {
     $fofoo = 1;
    
     public function setFoo($var)
     {
     $this->fofoo = $var;
     }
    
     public function getFoo()
     {
     return $this->fofoo;
     }
    }
    
    $deineklasse = new foobar();
    
    echo $deineklasse->getFoo(); //Aktuellen Variablen-Wert ausgeben lassen
    
    $deineklasse->setFoo(5); //Variablenwert ändern lassen
    
    echo $deineklasse->getFoo(); //Aktuellen Variablen-Wert ausgeben lassen
    
    ?>
    
    Schau dir mal dies an: Professionelle Softwareentwicklung mit PHP 5
    Ist nen eBook wobei sich viel ums Thema OOP in PHP5 dreht.

    FlowFlo
     
  3. 16. Oktober 2006
    AW: Oop?

    Hi,

    Du musst deine Verbindung einfach in einer Membervariable speichern. Das könnte so aussehen:

    Code:
    class Datenbank
    {
     private $connection = null;
    
     public function __construct($host, $user, $password, $database)
     {
     $this->connection = mysql_connect($host, $user, $password, $database);
     }
    
     public function query($query)
     {
     mysql_query($query, $this->connection);
     }
    }
    
    $this-> benötigst du immer dann, wenn du auf eine Eigenschaft oder Methode innerhalb der Klasse zugreifst.

    Gruß Heino
     
  4. 16. Oktober 2006
    AW: Oop?

    Hab mir jetzt noch ein anderes Tutorial durchgelesen.
    Nehmen wir an ich baue jetzt die Verbindung auf.


    PHP:
    <? php
        
    class  teamspeak  {
            
            function 
    connect  ( $host $port ) {
                var 
    $fs ;
                
                
    $fs  = @ fsockopen ( " $host " $port );
            }
         }
    ?>
    Wie könnte ich dann mit
    $ts = new teamspeak;
    $ts -> slogin(username, password);

    bezwecken, dass mit fputs() der Befehl "slogin username password" gesendet wird?
    Ich muss ja für fputs wieder Bezug auf $fs nehmen. Sprich ich möchte ca soetwas machen:
    $ts = new teamspeak;
    $ts -> connect(localhost, 14534);
    $ts -> slogin(username, password);

    Soweit doch rein theoretisch möglich!? Aber wie schreibe ich es so, dass ich die $fs auch bei $ts -> slogin wieder verwenden kann? Sprich wie müsste der Teil für "function slogin ($username, $password) { ... }" aussehen?
    Ich habs vor 2 Wochen schonmal probiert, dann aber abgebrochen und meine es da mit
    PHP:
    function  slogin  ( $username $password ) {
        
    fputs  ( $fs "slogin  $username   $password \r\n" );
    }
    versucht zu haben.

    Danke für jede Hilfe!
     
  5. 16. Oktober 2006
    AW: Oop?

    PHP:
    <? php
    class  teamspeak  {
            private 
    $fs ;

            function 
    connect  ( $host $port ) {
                
    $this -> fs  = @ fsockopen ( " $host " $port );
            }
            function 
    slogin  ( $username $password ) {
                
    fputs  ( $this -> fs "slogin  $username   $password \r\n" );
            }
    }
    ?>
    Hab mich jetzt nicht weiter mit beschäftigt aber wenn dann nur in der Art wie oben.^^
     
  6. 16. Oktober 2006
    AW: Oop?

    Ich liebe dir! Das funktioniert echt :-D Wenn ich wieder ein Problem hab melde ich mich. Spätestens morgen Abend gibts da wieder eines. Ich close solange.
     
  7. 17. Oktober 2006
    AW: Oop?

    Hat sich erstmal erledigt. Hab jetzt nochn Problem mitm Aufteilen eines Strings in ein Array. eplode() funzt irgndwie nicht.
     
  8. 17. Oktober 2006
    AW: Oop?

    wenn du die funktion explode() meinst poste mal deinen string und die entsprechende explode zeile
    eigentlich gehts immer mit explode ("aufteiler", $string);
     
  9. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.