1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

[PHP] Methoden außerhalb der class-Definition definieren ?

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von drok, 29.11.07.

  1. drok

    drok Klarapfel

    Dabei seit:
    02.06.07
    Beiträge:
    278
    Hi, ist es möglich die Methoden einer Klasse außerhalb der class-Definition zu definieren, wie zb in C++ ?

    Code:
    //cl_beispiel.inc.php
    class beispiel
    {
    PUBLIC $test=10;
    
    PUBLIC function __construct(){}
    PUBLIC function bspfunktion();
    }
    
    Code:
    //functions.inc.php
    include(cl_beispiel.inc.php);
    
    beispiel::bspfunktion()
    {
    $wert=$this->test;
    $wert=$wert+10;
    
    return=$wert;
    } 
    
    Sowas in der Art ?
    Ich hab schon rumgegoogelt aber irgendwie nichts dazu gefunden.
    Gibts die möglichkeit das extern zu machen oder muss ich alle Methoden direkt in die Klasse schreiben ?

    grüße
     
  2. Nogger

    Nogger Damasonrenette

    Dabei seit:
    05.11.05
    Beiträge:
    494
    Nein, ja.

    Was möchtest du damit erreichen? Vielleicht gibt es einen anderen eleganten Weg. Das sieht mir so ein bischen nach Interfaces aus. Das kann PHP.
     
  3. drok

    drok Klarapfel

    Dabei seit:
    02.06.07
    Beiträge:
    278
    Hi, ich würde nur gern die ganzen Funktionen bzw Methoden in einem extra File definieren.
    (zb functions.inc.php)
    Alle in eine class-Definition zu stecken erscheint mir, vor allem bei einer hohen Anzahl von Funktionen, nicht gerade "gschmeidig". ;)
     
  4. Hobbes_

    Hobbes_ Gast

    Soweit ich mich erinnere, kannst Du sowieso dynamisch include() bzw. für Deine Zwecke wohl besser require() bzw. require_once() Befehle beliebig positionieren. Du kannst sogar so etwas kontruieren (Quelle)
    Code:
    <?php
    
    // Das ist FALSCH und führt nicht zum gewünschten Ergebnis.
     
    
    if ($bedingung)
        include $datei;
    else
        include $andere_datei;
    
    
    // Das ist KORREKT.
    if ($bedingung) {
        include $datei;
    } else {
        include $andere_datei;
    }
    
    ?>
    So sollte es IMHO wohl auch möglich sein, innerhalb der class-Definition eine Datei mittels include() oder require() einzubinden, in der dann die Funktionen definiert sind. Selbst habe ich es jedoch nicht gerade probiert.

    Beachte: Die mittels include() oder require() eingebundene Datei muss zu Beginn und am Ende die PHP-Tags <? bzw. ?> haben...

    Falls Du mit diesem Konzept weitergehende Projektaufteilungen verwirklichen möchtest, könnte sich alternativ/ergänzend auch ein Blick in die Kapitel Klassenabstraktion bzw. Interfaces lohnen...
     
    #4 Hobbes_, 05.12.07
    Zuletzt von einem Moderator bearbeitet: 05.12.07
  5. drok

    drok Klarapfel

    Dabei seit:
    02.06.07
    Beiträge:
    278
    Danke, wenn ich heut von der Abendschule heimkomme, werd ich das mal ausprobieren ;)
    Rein von der Logik her dürfte das ja funktionieren.
     

Diese Seite empfehlen