Functie in functie in class

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Zim Zim

Zim Zim

27/01/2007 15:38:00
Quote Anchor link
Zoals de titel al zegt, ik wil een functie in een functie in een class. Is dat mogelijk?

Als de vraag onduidelijk is wat meer uitleg:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
class MijnClass
{
    function
Functie1()
    {
          function
Functie2($wie)
          {

                //ouput krijgen afhankelijk van $wie
           }
      
      $this->Blaat = Functie2(blaat);
      }
}

?>

Dit hierboven is een voorbeeld hoe ik het wou hebben, maar helaas krijg ik dan errors.
Want ik krijg geen uitput op mijn scherm omdat ik de objecten buiten de class defineer (als ik het zo goed zeg).
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$objMyclass
= new Myclass();
$rsFunctie1= $objFunctie1->Functie1();
?>

Als ik het netjes zou doen zou ik:
$rsFunctie12= $objFunctie2->Functie2(); erbij moeten doen, maar dat kan niet omdat de variabele die tussen Functie2(...) ingevuld moet worden bepaald wordt uit functie1.

Hoe los ik zoiets op, en is de vraag duidelijk omschreven?
 
PHP hulp

PHP hulp

07/11/2024 18:36:47
 
Jan Koehoorn

Jan Koehoorn

27/01/2007 15:41:00
Quote Anchor link
Als je die twee functies gewoon apart declareert dan kun je ze binnen elkaar aanroepen. Desnoods gebruik je de scope operator ::
 
Zim Zim

Zim Zim

27/01/2007 15:42:00
Quote Anchor link
Heb je een voorbeeld met wat je bedoelt Jan? Ik ben nog niet zo heel erg thuis in deze zaken.
 
Jan Koehoorn

Jan Koehoorn

27/01/2007 15:46:00
Quote Anchor link
Zoiets:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
    Class testklasse {
        function
een () {
            echo 'een';
        }
        function
twee () {
            echo 'twee';
        }
        function
drie () {
            $this->een ();
            $this->twee ();
        }
    }

    
    $t = new testklasse ();
    $t->drie ();
?>

Je kan dus wel een functie gebruiken binnen een andere memberfunctie, maar niet declareren binnen een andere memberfunctie.
 
Zim Zim

Zim Zim

27/01/2007 15:50:00
Quote Anchor link
Dus je hoeft alleen maar drie te declaren en gewoon een en twee gebruiken!
Ga ik ffies proberen.

edit:
Maar Jan jij gebruikt: echo 'een';... kan ik niet $this->een = 'een' of return 'een' gebruiken?
Gewijzigd op 01/01/1970 01:00:00 door Zim Zim
 
Jan Koehoorn

Jan Koehoorn

27/01/2007 15:54:00
Quote Anchor link
Je kunt iets echoën, iets toekennen, of iets retourneren, allemaal mogelijk.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.