| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | Funktion med funktioner Fra : |-|enning | 
  Dato :  21-03-06 22:41 |  
  |  
 
            Jeg har flg. (i strippet udgave)
 ***
 class profile {
    function create(bla bla bla)
    {
       function checkPasswords($1, $2)
       {
       # gør noget
       }
    $this->create->checkPassword("sasf", "ae4");
    }
 }
 $profile = new profile();
 $profile->create("asasf", "asd");
 ***
 Hvordan kalder jeg funktionen "checkPasswords" via funktionen "create"?
 -- 
 Henning Horn /  www.ricaplaza.dk
Webmaster:
 www.migoghenning.dk
            
             |   |   
            
        
 
            
         
           |-|enning (21-03-2006) 
         
	
            | Kommentar Fra : |-|enning | 
  Dato :  21-03-06 22:42 |  
  |   
            |-|enning skrev:
 > Jeg har flg. (i strippet udgave)
 > 
 > ***
 > class profile {
 > 
 >     function create(bla bla bla)
 >     {
 >         function checkPasswords($1, $2)
 >         {
 >         # gør noget
 >         }
 >     $this->create->checkPassword("sasf", "ae4");
 >     }
 > }
 > 
 > $profile = new profile();
 > $profile->create("asasf", "asd");
 > 
 > ***
 > 
 > Hvordan kalder jeg funktionen "checkPasswords" via funktionen "create"?
 > 
 > 
 
 Ps. fejlmeddelsen lyder således:
 
 Fatal error: Call to a member function checkPasswords() on a non-object
  
            
             |   |   
            
        
 
            
         
           Martin (21-03-2006) 
         
	
            | Kommentar Fra : Martin | 
  Dato :  21-03-06 23:15 |  
  |   
            |-|enning wrote:
 > |-|enning skrev:
 >> Jeg har flg. (i strippet udgave)
 >>
 >> ***
 >> class profile {
 >>
 >>     function create(bla bla bla)
 >>     {
 >>         function checkPasswords($1, $2)
 >>         {
 >>         # gør noget
 >>         }
 >>     $this->create->checkPassword("sasf", "ae4");
 >>     }
 >> }
 >>
 
 Jeg ville nok lave den således:
 class profile {
 
    function create($bla) {
       if($this->checkPassword($bla)) {
          // Gør noget
       }
    }
 
    function checkPasswords($bla) {
      if($bla == "ok") return true;
      else return false;
    }
 }
 
 
 
 
 >> $profile = new profile();
 >> $profile->create("asasf", "asd");
 >>
 >> ***
 >>
 >> Hvordan kalder jeg funktionen "checkPasswords" via funktionen "create"?
 >>
 >>
 > 
 > Ps. fejlmeddelsen lyder således:
 > 
 > Fatal error: Call to a member function checkPasswords() on a non-object
  
            
             |   |   
            
        
 
            
         
           Kasper Johansen (25-03-2006) 
         
	
            | Kommentar Fra : Kasper Johansen | 
  Dato :  25-03-06 14:08 |  
  |   
            |-|enning wrote:
 > Jeg har flg. (i strippet udgave)
 > 
 > ***
 > class profile {
 > 
 >     function create(bla bla bla)
 >     {
 >         function checkPasswords($1, $2)
 >         {
 >         # gør noget
 >         }
 >     $this->create->checkPassword("sasf", "ae4");
 >     }
 > }
 > 
 > $profile = new profile();
 > $profile->create("asasf", "asd");
 > 
 > ***
 > 
 > Hvordan kalder jeg funktionen "checkPasswords" via funktionen "create"?
 > 
 > 
 
 En klasse kan ikke indeholde flere funktioner i flere grader. Den 
 indeholder kun 1. grad. Derefter vil du være nød til at lade din 
 funktioner returnere andre objekter (instanser af klasser).
 
 Se f.eks. følgende kodestump:
 
 <?
     class klasse_et{
        function trala(){
           return new klasse_to();
        }
     }
 
     class klasse_to{
        function lala(){
           echo "hmm";
        }
     }
 
     $my_object = klasse_et();
     $my_ojbect->trala->lala();
 ?>
 
 
 Dette burde meget gerne udskrive "hmm" (hvis jeg ikke er forkert på den) :)
 
 I og med at jeg returnerer en ny klasse_to() i funktionen trala(), så 
 kan det altså virke som om, at der er funktioner nede i funktionerne, 
 men sandheden er den, at du faktisk arbejder med flere instanser af klasser.
 
 
 Håber du kunne bruge det til noget.
 
 
 -- 
 Med venlig hilsen
 Kasper Johansen
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |