php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.05.2006, 09:11  
Neuer Benutzer
 
Registriert seit: 24.09.2005
Beiträge: 26
Unknown
Standard PHP 5 : Methode außerhalb der Klasse definieren

Moin an alle Frühaufsteher,

wie kann ich Methoden (Funktionen) außerhalb der Klasse deklarieren:

Code:
Bsp:
class Test{
public eine_funktion();
}

function Test::eine_funktion(){

Text Text Text
}
Danke im Voraus für die Antowrt (habe bei google nisher nochts gefunden

Gruss
unknown[/i]
Unknown ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.05.2006, 09:14  
Gast
 
Beiträge: n/a
Standard

Welchen Zweck soll das ganze erfüllen?

Suchst Du vielleicht nach Interfaces bzw. abstrakten Klassen?

http://php.net/interface
http://php.net/abstract
 
Alt 23.05.2006, 09:18  
Neuer Benutzer
 
Registriert seit: 24.09.2005
Beiträge: 26
Unknown
Standard

Hi,

1) Kenn ich es aus C++ nicht anders
2) Ist es wesentlich übersichtlicher nur die Prototypen in der Klasse zu haben und die Methoden außerhalb zu deklarieren
3) Danke für dein Links, werde die gleich einmal durchsehen

Thx
unknown
Unknown ist offline  
Alt 23.05.2006, 09:25  
Neuer Benutzer
 
Registriert seit: 24.09.2005
Beiträge: 26
Unknown
Standard

Hi,

abstrakte Klassen scheinen mehr eine Art Template zu sein.

Interfaces bringen mich auch nicht wirlich weiter

Gibt es sonst keine Möglichkeit nur die Prototypen innerhalb der Klasse zu definieren und die Deklaration dann außerhalb zu machen?

Hatte mir schon überlegt die jeweiligen Funktionen dann zu überladen (wenn soetwas überhaupt gehen sollte...)

Gruss
unknown
Unknown ist offline  
Alt 23.05.2006, 09:36  
Erfahrener Benutzer
 
Registriert seit: 25.04.2005
Beiträge: 1.356
HStev zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Die einzigste Möglichkeit die ich hier sehe sind abstrakte Klassen aber das ist doppelt gemoppelt ... ich mags auch nicht wie es PHP oder anderen Sprachen gehandhabt wird aber man muss sich halt damit abfinden.

PHP-Code:
<?php
// Abstrakte Klasse als Prototypen-Sammlung
abstract class FOO
{
    public abstract function 
bar();
}
// ----------------------------------------

class FOOBAR extends FOO
{
    public function 
bar()
    {
        echo 
"foo bar";
    }
}

$fb = new FOOBAR;
$fb->bar();
?>
__________________
Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.
HStev ist offline  
Alt 23.05.2006, 09:44  
Neuer Benutzer
 
Registriert seit: 24.09.2005
Beiträge: 26
Unknown
Standard

Hi,

@Hstev: thx: Aber in anderen (OOP) Sprachen ist es ja nicht so

In C++ ist der gute Programmierstyl der, dass man in der Klasse nur die Prototypen angibt oder nur sehr sehr kleine Methoden gleicht deklariert:

Bsp: function make_string($string){ return $string;}


Gibt es in PHP 5 soetwas wie inline Funktionen?

Um die Sache verständlich zu machen, ich will in der Klasse nur die minimalen Informationen haben wie Funktionsname, etc (Prototyp)

Die Deklaration also was die Klasse macht, soll irgendwo anders stehen (i.d.R unter der Klasse).

Gruss
unknown
Unknown ist offline  
Alt 23.05.2006, 10:25  
Gast
 
Beiträge: n/a
Standard

Suchst Du vielleicht das?
http://pecl.php.net/package/classkit

Aus dem Handbuch:
Code:
<?php
class Example {
    function foo() {
        echo "foo!\n";
    }
}

// create an Example object
$e = new Example();

// Add a new public method
classkit_method_add(
    'Example',
    'add',
    '$num1, $num2',
    'return $num1 + $num2;',
    CLASSKIT_ACC_PUBLIC
);

// add 12 + 4
echo $e->add(12, 4);
?>
 
Alt 23.05.2006, 10:30  
Gast
 
Beiträge: n/a
Standard

PHP wird wie Java inline programmiert - Deklaration und Definition der Methode gehören zusammen. Eine Teilung in header und source gibt es nicht.
 
Alt 23.05.2006, 10:50  
Neuer Benutzer
 
Registriert seit: 24.09.2005
Beiträge: 26
Unknown
Standard

@ignatz: nicht ganz aber danke

@bruchpilot: OMG. In Java sieht das auch so aus? da lobe ich mir aber C++

Eine Frage noch. Habe nun folgende Klasse erstellt:

PHP-Code:
<?php

class make_paper 

  public 
$handle
  
  public function 
read_paper($string$abstand){
      
$this->$handle fopen('bericht.html''r');
      
$b_counter 1;

      .........

    }
// Ende der Funktion

}// Ende der Klasse



function main(){

$a = new make_paper;
$a->read_paper('Woche'8);

}
// Ende der Main Funktion

main();
?>
Bekomme den Fehler: Fatal error: Cannot access empty property

Wie greife ich denn auf den Handler zu? Ist der this Pointer nicht richtig?

Gruss
unknown
Unknown ist offline  
Alt 23.05.2006, 11:31  
Neuer Benutzer
 
Registriert seit: 24.09.2005
Beiträge: 26
Unknown
Standard

Moin,

habe es jetzt herausgefunden. Hinter dem $this muss der normale Variablen Name stehen (PHP 5 ist aber auch eine Merkwürdige Sprache

Also: $this->handle;

Thx an alle die mir geholfen haben.

Topic: gelöst

Gruss
unknown
Unknown ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Variable aus Klasse herausbekommen GSJLink PHP Tipps 2008 7 16.02.2008 22:25
Ermitteln ob Methode geerbt wurde oder nicht? MaMo-Net PHP Tipps 2007 23 14.04.2007 00:28
String-Parser Klasse - was muss rein? Matze PHP Tipps 2007 2 08.04.2007 22:14
Auf static Methode von variabler Klasse zugreifen Riks PHP Tipps 2007 11 16.03.2007 15:08
methode in klasse aus einer anderen starten GELight PHP Tipps 2006 10 03.06.2006 11:39
mehr als eine Klasse einbinden Alpha Centauri PHP-Fortgeschrittene 4 13.04.2006 20:56
Methode als gz_handler? Andreas PHP-Fortgeschrittene 5 11.04.2006 14:14
Variable in einer Klasse definieren Simon9990 PHP Tipps 2006 5 01.02.2006 23:25
problem mit einer methode in einer klasse PHP Tipps 2007 4 18.12.2005 16:14
Klasenname einer nicht instanziierten Klasse DerDesian PHP Tipps 2007 9 30.11.2005 13:13
Instanz einer Klasse in einer anderen Klasse verwenden Buhmann PHP-Fortgeschrittene 7 28.10.2005 23:12
[Erledigt] Brauche Hilfe bei meiner ersten Klasse PHP-Fortgeschrittene 9 24.09.2004 17:09
Klassenobjet in anderer Klasse benutzen inu PHP Tipps 2004 6 19.09.2004 10:58
OOP: offizielle php funktion als methode einer klasse ... PHP Tipps 2004 4 17.09.2004 04:24
Klasse ändern UniQ PHP Tipps 2004 5 24.08.2004 14:46

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php functionen außerhalb von klassen definieren, php klasse function außerhalb, c methoden außerhalb der klasse deklarieren, c methode außerhalb klasse definieren, php ist klasse deklariert, php funktionen ausserhalb klassen definieren, php funktion ausserhalb der klasse deklarieren, methode definieren php, mehode außerhalb von class php, php oop methoden außerhalb definieren, php funktionen ausserhalb der klasse deklarieren, methoden außerhalb der klasse, php variable deklarieren methode, methode außerhalb einer klasse, class function in include file definieren, methoden zuerst definieren php, methoden definition php, definition einer methode außerhalb der klasse, methoden ausserhalb de klasse definieren, c variable außerhalb von klassen definieren

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:05 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.