Ik ben net weer begonnen met het mezelf proberen (via tuts en dergelijke) aan te leren van Object Geƶrienteerd Programmeren (OOP). Zoals ik het lees moet je het zo zien: De klasse is het overkoepelende van de functies die erin staan.
Zie je de class als een boom, dan vormen alle functies die in de class staan samen in het geheel die boom. (of de eigenschappen daarvan)
Een boom heeft bijvoorbeeld wortels-> Daar zou je een functie voor kunnen maken binnen die classe. Takken -> Ook een functie, bladeren ook, enz..

Als ik het idee goed begrijp zit het zo in elkaar:


<?php
// je begint met een naam van de klasse. In dit geval een boom.
class cBoom{
   private $sBladtype;
   private $sBladkleur;
   private $sBoomtype; 
   private $iBladaantal;
   private $iBoomhoogte;
   private $sResultaat;
//wanneer je de boom class aanroept moet er een instantie van een boom gemaakt worden waar we mee verder kunnen werken

   function __construct($sBoomtype,$iBoomhoogte){
   		$this->sBladtype = 'standaard';
   		$this->sBladkleur = 'groen';
   		$this->sBoomtype = $sBoomtype; 
   		$this->iBladaantal = 500;
   		$this->iBoomhoogte = $iBoomhoogte;
   		
   		$this->sResultaat = 'De boom van het type '.$this->sBoomtype.' heeft een hoogte van '.$this->iBoomhoogte;
		 return $this->sResultaat; 
     	}
	
	function __destruct(){//maakt het resultaat weer leeg als de klasse is afgesloten
		$this->sResultaat = "";
		return $this->sResultaat;
		} 
	
	function kleurblad($sBladkleur){
		$this->sResultaat = 'Het is herfst, de bladkleur van de boom is nu '.$sBladkleur;
		return $this->sResultaat;
		}

	function boomgroei($iBoomhoogte){
		$this->sResultaat = 'De boom is gegroeid, hij is nu '.$iBoomhoogte.' groot.';
		return $this->sResultaat;
		}
    
    function bladval($iBladaantal){
		$this->sResultaat = 'Door de harde wind is de boom bladeren kwijt. Er zitten nu nog maar'.$iBladaantal.' bladeren aan de boom.';
		return $this->sResultaat;
		}
	}

?>

Via deze class kan ik nu een boom aanmaken en deze laten groeien en dergelijke. Zit ik zo goed met het principe, de opbouw en het idee erachter?
Nou, ik heb het zend framework eens gedownload en zal eens proberen of ik dat kan "ontcijferen". Misschien dat ik bij sommige stukken vragen heb, of probeer of ik kan "uitleggen" waarom bepaalde keuzes zijn gemaakt en dat ik dat hier post.
Op die manier zal ik er toch wel uit moeten komen denk ik :) De gewone PHP syntax ken ik wel al, dit is een nieuwe stap, die ik vind ik onderhand wel eens zal mogen/ moeten maken.


[edit]Ok, ben al even aan het kijken geslagen. Ik zie dat het framework de includes gewoon als PHP bestand opslaat en niet (zoals velen wel doen) als .inc.php
Het ziet er op het 1e gezicht vrij onduidelijk uit, maar dat komt door de vele losse bestandjes. Ik kan het in ieder geval al wel lezen.. Ga er eens rustig mee verder, en kijken of ik het ga snappen.
Zoals voor Currency ben ik al verder aan het kijken geweest. Ik begrijp dat die via de "locale.php" controleerd welke regio je bent, stelt via de data.php een aantal dingen in (uit een XML bestand voor de taal) en gebruikt dat door het hele systeem, dus ook voor het Currency symbool

[/edit]

Reageren