[PHP] Classes

Gestart doorJosnl9 reacties54 weergaven

10 berichten · pagina 1 van 1

Josnl

Lid · Topicstarter

Berichten
3.461
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hallo allemaal,

Ik ben nog steeds een beetje aan het sukkelen met classes en vraag mijzelf nu af waarom onderstaande niet werkt...

[COLOR= #0000BB]<?php[/COLOR]

[URL="http://www.php.net/class"]class[/URL] info[COLOR= #007700]{
    
    function[/COLOR] site[COLOR= #007700](){[/COLOR]
    
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]name [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]Naam[/COLOR][COLOR= #007700];[/COLOR]
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]title [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]Titel[/COLOR][COLOR= #007700];[/COLOR]
        
        [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]name[COLOR= #007700];[/COLOR]
        [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]title[COLOR= #007700];
        
    }
    
    function[/COLOR] author[COLOR= #007700](){[/COLOR]
        
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]name [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]Auteur[/COLOR][COLOR= #007700];[/COLOR]
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]date_a [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]22-05-2012[/COLOR][COLOR= #007700];[/COLOR]    
        
        [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]name[COLOR= #007700];[/COLOR]
        [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]date_a[COLOR= #007700];
        
    }
    
}[/COLOR]

[COLOR= #0000BB]$obj[/COLOR] [COLOR= #007700]= new[/COLOR] info[COLOR= #007700];[/COLOR]

[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$obj[/COLOR][COLOR= #007700]->[/COLOR]site[COLOR= #007700]([/COLOR]name[COLOR= #007700]) .[/COLOR][COLOR= #DD0000] - [/COLOR][COLOR= #007700].[/COLOR] [COLOR= #0000BB]$obj[/COLOR][COLOR= #007700]->[/COLOR]site[COLOR= #007700]([/COLOR]title[COLOR= #007700]);[/COLOR]

[URL="http://www.php.net/echo"]echo[/URL][COLOR= #DD0000]<br /><br />[/COLOR][COLOR= #007700];[/COLOR]

[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$obj[/COLOR][COLOR= #007700]->[/COLOR]author[COLOR= #007700]([/COLOR]name[COLOR= #007700]);[/COLOR]

?>


De bedoeling is dat ie de sitenaam, sitetitle en de naam van de auteur laat zien. Echter komt er alleen te staan:

(http://bit.ly/K8566h)

Quote:
Naam - Naam

Auteur

Ik hoop dat jullie mij op weg kunnen helpen.

Gr.
Jos shiny
0
Berichten
5.897
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
als je $this->IETS wilt doen, moet je public $IETS toevoegen al regel 4

toevoeging op 22 mei 2012, 191517:
en public function, niet function wink
0
Josnl

Lid · Topicstarter

Berichten
3.461
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Waar precies bedoel je?

Ik heb t nu zo:

[COLOR= #0000BB]<?php[/COLOR]

[URL="http://www.php.net/class"]class[/URL] info[COLOR= #007700]{[/COLOR]
    
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] site[COLOR= #007700](){[/COLOR]
    
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]name [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]Naam[/COLOR][COLOR= #007700];[/COLOR]
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]title [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]Titel[/COLOR][COLOR= #007700];[/COLOR]
        
        [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]name[COLOR= #007700];[/COLOR]
        [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]title[COLOR= #007700];
        
    }[/COLOR]
    
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] author[COLOR= #007700](){[/COLOR]
        
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]name [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]Auteur[/COLOR][COLOR= #007700];[/COLOR]
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]date_a [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]22-05-2012[/COLOR][COLOR= #007700];[/COLOR]    
        
        [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]name[COLOR= #007700];[/COLOR]
        [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]date_a[COLOR= #007700];
        
    }
    
}[/COLOR]

[COLOR= #0000BB]$obj[/COLOR] [COLOR= #007700]= new[/COLOR] info[COLOR= #007700];[/COLOR]

[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$obj[/COLOR][COLOR= #007700]->[/COLOR]site[COLOR= #007700]([/COLOR]name[COLOR= #007700]) .[/COLOR][COLOR= #DD0000] - [/COLOR][COLOR= #007700].[/COLOR] [COLOR= #0000BB]$obj[/COLOR][COLOR= #007700]->[/COLOR]site[COLOR= #007700]([/COLOR]title[COLOR= #007700]);[/COLOR]

[URL="http://www.php.net/echo"]echo[/URL][COLOR= #DD0000]<br /><br />[/COLOR][COLOR= #007700];[/COLOR]

[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$obj[/COLOR][COLOR= #007700]->[/COLOR]author[COLOR= #007700]([/COLOR]name[COLOR= #007700]);[/COLOR]

?>


Maar dat werkt ook niet helaas.nopompom
0
Berichten
8.602
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Je moet de vars van de tevoren (bovenin je class) aanmaken

[COLOR= #0000BB]<?php[/COLOR]

[URL="http://www.php.net/class"]class[/URL] info[COLOR= #007700]{[/COLOR]
    
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #0000BB]$name[/COLOR][COLOR= #007700];[/COLOR]
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #0000BB]$title[/COLOR][COLOR= #007700];[/COLOR]

    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] site[COLOR= #007700](){[/COLOR]
    
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]name [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]Naam[/COLOR][COLOR= #007700];[/COLOR]
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]title [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]Titel[/COLOR][COLOR= #007700];[/COLOR]
        
        [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]name[COLOR= #007700];[/COLOR]
        [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]title[COLOR= #007700];
        
    }[/COLOR]
    
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] author[COLOR= #007700](){[/COLOR]
        
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]name [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]Auteur[/COLOR][COLOR= #007700];[/COLOR]
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]date_a [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]22-05-2012[/COLOR][COLOR= #007700];[/COLOR]    
        
        [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]name[COLOR= #007700];[/COLOR]
        [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]date_a[COLOR= #007700];
        
    }
    
}[/COLOR]

[COLOR= #0000BB]$obj[/COLOR] [COLOR= #007700]= new[/COLOR] info[COLOR= #007700];[/COLOR]

[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$obj[/COLOR][COLOR= #007700]->[/COLOR]site[COLOR= #007700]([/COLOR]name[COLOR= #007700]) .[/COLOR][COLOR= #DD0000] - [/COLOR][COLOR= #007700].[/COLOR] [COLOR= #0000BB]$obj[/COLOR][COLOR= #007700]->[/COLOR]site[COLOR= #007700]([/COLOR]title[COLOR= #007700]);[/COLOR]

[URL="http://www.php.net/echo"]echo[/URL][COLOR= #DD0000]<br /><br />[/COLOR][COLOR= #007700];[/COLOR]

[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$obj[/COLOR][COLOR= #007700]->[/COLOR]author[COLOR= #007700]([/COLOR]name[COLOR= #007700]);[/COLOR]

?>
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Je hele opzet is fout..

Je kan maar één ding returnen. Je geeft de functies parameters mee, terwijl je deze niet in je class mee hebt gegeven. De parameters zijn bovendien constants die niet bestaan.

Het verbaast me dat je geen errors hebt gekregen...

Ik geloof dat dit werkt, al ben ik niet zeker of $this->$key mogelijk is.

[COLOR= #0000BB]<?php[/COLOR]

[URL="http://www.php.net/class"]class[/URL] info [COLOR= #007700]{[/COLOR]
    
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$name[/COLOR][COLOR= #007700];[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$title[/COLOR][COLOR= #007700];[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$author[/COLOR][COLOR= #007700];[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$date_a[/COLOR][COLOR= #007700];[/COLOR]

    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] __construct[COLOR= #007700]([/COLOR][COLOR= #0000BB]$name[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$title[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$author[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$date_a[/COLOR][COLOR= #007700]) {[/COLOR]
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]name [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$name[/COLOR][COLOR= #007700];[/COLOR]
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]title [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$title[/COLOR][COLOR= #007700];[/COLOR]
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]author [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$author[/COLOR][COLOR= #007700];[/COLOR]
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]date_a [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$date_a[/COLOR][COLOR= #007700];   
    }[/COLOR]

    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] site[COLOR= #007700]([/COLOR][COLOR= #0000BB]$key[/COLOR][COLOR= #007700]) {[/COLOR]  
        [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR][COLOR= #0000BB]$key[/COLOR][COLOR= #007700];
    }
    
}[/COLOR]

[COLOR= #0000BB]$obj[/COLOR] [COLOR= #007700]= new[/COLOR] info[COLOR= #007700]([/COLOR][COLOR= #DD0000]Naam[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]Titel[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]Author[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]Date[/COLOR][COLOR= #007700]);[/COLOR]

[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$obj[/COLOR][COLOR= #007700]->[/COLOR]site[COLOR= #007700]([/COLOR][COLOR= #DD0000]name[/COLOR][COLOR= #007700]) .[/COLOR][COLOR= #DD0000] - [/COLOR][COLOR= #007700].[/COLOR] [COLOR= #0000BB]$obj[/COLOR][COLOR= #007700]->[/COLOR]site[COLOR= #007700]([/COLOR][COLOR= #DD0000]title[/COLOR][COLOR= #007700]);[/COLOR]

[URL="http://www.php.net/echo"]echo[/URL][COLOR= #DD0000]<br /><br />[/COLOR][COLOR= #007700];[/COLOR]

[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$obj[/COLOR][COLOR= #007700]->[/COLOR]site[COLOR= #007700]([/COLOR][COLOR= #DD0000]author[/COLOR][COLOR= #007700]);[/COLOR]

?>


En zelfs de bovenstaande code kan nog beter.. Maar daar heb ik nu geen zin in.
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Trouwens, je denkt denkt niet in objecten...
0
Josnl

Lid · Topicstarter

Berichten
3.461
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Raaoul schreef:
Trouwens, je denkt denkt niet in objecten...
Kan je dit onderbouwen?
0
Berichten
9.953
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Je class heet info, maar sinds wanneer zit er een auteur in info? yummie
Josnl schreef:
Eerdere citaten tonen
Raaoul schreef:
Trouwens, je denkt denkt niet in objecten...
Kan je dit onderbouwen?
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Josnl schreef:
Eerdere citaten tonen
Raaoul schreef:
Trouwens, je denkt denkt niet in objecten...
Kan je dit onderbouwen?
Wat is een "info"?
Welke eigenschappen heeft een info? "Naam, Titel, Auteur, Datum"
Wat kan een info doen? Site
Dus een info kan site en draagt de eigenschappen naam, titel, auteur en datum?

Je denkt dus niet in objecten.
0
Josnl

Lid · Topicstarter

Berichten
3.461
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Bedankt voor jullie uitleg, ik heb nu wat tuts gedaan en begin het nut van classes een beetje te begrijpen, inclusief de werking ervan!
worshippy
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren