• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Es regnet, ist neblig und kalt, alle sind krank und der Chef wird zunehmend cholerisch. Das Thema des Monats ist also folgerichtig --> Das Grau(en)
    Wir sind gespannt, war Euch dazu einfällt! Zum Wettbewerb --> Klick

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

drok

Klarapfel
Registriert
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
 

Nogger

Damasonrenette
Registriert
05.11.05
Beiträge
494
Gibts die möglichkeit das extern zu machen oder muss ich alle Methoden direkt in die Klasse schreiben ?

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.
 

drok

Klarapfel
Registriert
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". ;)
 

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...
 
Zuletzt bearbeitet von einem Moderator:

drok

Klarapfel
Registriert
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.