phpbuddy.eu
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 25.06.2004, 03:42   #1
TP-Veteran
 
Benutzerbild von fettmme
 
Registriert seit: Feb 2002
fettmme bringt sich richtig einfettmme bringt sich richtig ein

Klasse mit Funktion in Funktion


Ich habe eine Klasse die nach diesem Schema aufgebaut ist.
PHP-Code:
class test{
   var 
$name;
   function 
foo(){

      function 
bar(){
         
// geht nicht :(
         
echo $this->name;
      }
      
      
bar();

   }

Wie kann ich aus der Funktion bar() auf die Eigenschaft $name zugreifen?
__________________
class GetProfileCustomerEntityReceiverInformationReceiverAndProgrammingInforma...{
public function __construct(){ if(!$this) die(' '); } }
http://www.thedailywtf.com/
fettmme ist offline   Mit Zitat antworten


Alt 25.06.2004, 03:59   #2
Guest
 
Registriert seit: Aug 2002
Strogij hilft, wo's gehtStrogij hilft, wo's geht
Das geht schon, wenn du $name davor einen Wert zuweist. Allerdings ist das Schema was du hast schlecht, Definition einer Funktion in einer Methode... naja naja. Ist es denn nicht besser, wenn du daraus stattdessen eine weitere Methode _bar() machst?
Strogij ist offline   Mit Zitat antworten
Alt 25.06.2004, 10:57   #3
TP-Veteran
 
Benutzerbild von fettmme
 
Registriert seit: Feb 2002
fettmme bringt sich richtig einfettmme bringt sich richtig ein
Danke für Deine Antwort. Das Schema passt schon. Es ist eine rekursive Funktion, die einen Navigationsbaum aus einer Datenbank erzeugt.
__________________
class GetProfileCustomerEntityReceiverInformationReceiverAndProgrammingInforma...{
public function __construct(){ if(!$this) die(' '); } }
http://www.thedailywtf.com/
fettmme ist offline   Mit Zitat antworten
Alt 25.06.2004, 11:16   #4
TP-Veteran
 
Benutzerbild von fettmme
 
Registriert seit: Feb 2002
fettmme bringt sich richtig einfettmme bringt sich richtig ein
Um mein Problem nochmal zu verdeutlichen.

PHP-Code:
<?php
class test{
    var 
$name;
    var 
$count;
    
    function 
test(){$this->name='Peter';}
    
    function 
foo(){
        echo 
'Ich bin in foo und sage '.$this->name.'<br />';

        function 
bar(){
            echo 
'Ich bin bar und sage '.$this->name.'<br />';
        }
        
        
bar();
    }
}

$test=new test;
$test->foo();
?>
Warum gibt bar() $this->name nicht aus? Kann ich von bar() nicht auf eine Klasseneigenschaft zugreifen?
__________________
class GetProfileCustomerEntityReceiverInformationReceiverAndProgrammingInforma...{
public function __construct(){ if(!$this) die(' '); } }
http://www.thedailywtf.com/
fettmme ist offline   Mit Zitat antworten
Alt 25.06.2004, 12:12   #5
seb
TP-Veteran
 
Registriert seit: Jan 2002
seb bringt sich richtig einseb bringt sich richtig ein
Nur indem du $this->name per Argument an die Funktion bar() übergibst.

Es ist zwar möglich, Funktionen innerhalb von Klassenmethoden (bzw. beliebigen Funktionen allgemein) zu notieren, allerdings wird die Funktion dadurch nicht selbst zu einer Methode der Klasse, sondern bleibt eine ganz normale, eigenständige Funktion.

Klassenmethoden werden nur Funktionen, die auf der ersten Ebene eines class{}-Blocks notiert werden.
seb ist offline   Mit Zitat antworten
Alt 25.06.2004, 13:29   #6
TP-Veteran
 
Benutzerbild von fettmme
 
Registriert seit: Feb 2002
fettmme bringt sich richtig einfettmme bringt sich richtig ein
Danke für Deine Antwort seb.
__________________
class GetProfileCustomerEntityReceiverInformationReceiverAndProgrammingInforma...{
public function __construct(){ if(!$this) die(' '); } }
http://www.thedailywtf.com/
fettmme ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Klasse mit Funktion in Funktion Klasse mit Funktion in Funktion
« Ausswahllisten mit Tabellen aus Datenbank füllen. | Übergebene Variable wird nicht mehr erkannt »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
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
Problem mit Klasse heatseeker Traum-Dynamik 11 12.06.2005 12:46
Hoverprobleme mit Unterlinks, (mal wieder) . .HEUTE!!! mit OVERLIB :) Gutschy HTML Puristen 7 11.07.2003 16:19
Mit der Funktion LTRIM('foo'); Leerzeichen am Anfang der Strings aus der MySQL DB del Flixxtoras Traum-Dynamik 2 04.07.2003 17:58
[Tutorial] Flash PlugIn Check mit Alternativbild the0bone Traum-Scripts 3 02.11.2002 21:38
PHP Formmailer mit spezieller Funktion MacroX Traum-Dynamik 2 04.10.2002 23:26


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:41 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67