login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Werken met klassen en methodes

Offline roy - 15/06/2007 20:04 (laatste wijziging 04/03/2008 10:28)
Avatar van royPHP gevorderde Beste allemaal,

Nu ben ik al een tijdje bezig met het programmeren van PHP. Nu is er een tijdperk aangebroken waarbij ik met klassen en methoden wil gaan werken.

Echter een duidelijke uitleg over het werken met klassen en methoden vind ik nergens.

Ik heb er de volgende vragen over...:
- Hoe kan ik methode die in een ander bestand staan aanroepen?
- kan je een methode enkel zonder lay-out-code schrijven?

hebben jullie handige sites/tips voor het werken met klassen en methoden in PHP??

Ik hoop op leuke reactie, zodat ik weer iets kan leren.

4 antwoorden

Gesponsorde links
Offline marten - 15/06/2007 20:10 (laatste wijziging 15/06/2007 20:14)
Avatar van marten Beheerder - Hoe kan ik methode die in een ander bestand staan aanroepen?

Je include het bestand waar de class in staat. Hier gaan we uit van voorbeeld.php met de class foo

voorbeeld.php
  1. <?php
  2. class Foo {
  3. public $tekst;
  4.  
  5. function setTekst($tekst) {
  6. $this->tekst = $tekst;
  7. }
  8.  
  9. function printTekst($tekst) {
  10. return $this->tekst;
  11. }
  12. }
  13. ?>


Andere pagina:

  1. <?php
  2. /**
  3.  * Class inladen
  4.  **/
  5. require_once('voorbeeld.php');
  6.  
  7. /**
  8.  * Nieuw object maken van de class
  9.  **/
  10. $Foo = new Foo();
  11.  
  12. $tekst = 'Dit is een voorbeeld';
  13. $Foo->setTekst($tekst);
  14.  
  15. $var = $Foo->printTekst; // $var bestaat nu uit 'Dit is een voorbeeld'
  16. ?>



- kan je een methode enkel zonder lay-out-code schrijven?
Ja je moet dus zoals in bovenstaand voorbeeld met return werken en dan kan je hem altijd zonder layout schrijven.

-hebben jullie handige sites/tips voor het werken met klassen en methoden in PHP??
Wanneer je er aan toe denkt te zijn kan je beginnen met enkele tutorials volgen over het Zend Framework. Hier werk je constant met klassen en je leert tenslotte door te doen.
Offline Stijn - 15/06/2007 20:14
Avatar van Stijn PHP expert
Citaat:
Nu is er een tijdperk aangebroken waarbij ik met klassen en methoden wil gaan werken.
Ik wist niet dat iedere php'er zo'n tijd moest doormaken... 

Citaat:
Hoe kan ik methode die in een ander bestand staan aanroepen?
Met extend kan je classen uitbreiden. Hierdoor kan je de methoden aanroepen van de class die je uitbreid, tenzij die functie private is dan lukt het niet om die methode aan te roepen. Een kort voorbeeld.

  1. <?
  2. class Eerste
  3. {
  4.  
  5. public function hello()
  6. {
  7. return 'hello';
  8. }
  9.  
  10. private function name()
  11. {
  12. return 'stijn1989';
  13. }
  14.  
  15. }
  16.  
  17. //een andere php bestand
  18. include 'eerste.class.php';
  19.  
  20. class Twee extends Een
  21. {
  22.  
  23. private function world()
  24. {
  25. return 'world';
  26. }
  27.  
  28. public function show()
  29. {
  30. return $this -> hello() . $this -> world();
  31. }
  32.  
  33. public function showName()
  34. {
  35. return $this -> name();
  36. }
  37.  
  38. }
  39.  
  40. //een gewone php pagina
  41. include 'tweede.class.php';
  42.  
  43. $twee = new Twee;
  44. echo $twee -> show(); //hello world
  45. echo $twee -> showName(); //error


Citaat:
kan je een methode enkel zonder lay-out-code schrijven?
Die begrijp ik niet... Bedoel je of je echo mag gebruiken in classes? Dan is me antwoord ja maar ik raad het af omdat je eigenlijk het principe van OO niet goed gebruikt. Je kan een template parser zoals Smarty en TemplatePower gebruiken. Dat zijn ook classes 
Offline roy - 15/06/2007 21:48
Avatar van roy PHP gevorderde haha, stijn: vroeger toen ik begon, was het werken met klassen en methoden nog niet zo bekent.


bedankt voor jullie hulp! en wijze antwoorden.

Zijn er nog ergens tutorials en/of extra informatie?
Offline marten - 15/06/2007 21:57
Avatar van marten Beheerder Bij tutorials 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.187s