Stapje verder nog het is procedural method.
Je hebt in php5 ook static methods. In php6 wellicht zelfs static classes.
Maar goed even kort het verschil.
Een static method heeft geen instantie van een class nodig en een procedurele wel.
<?php
class User{
protected $_naam = 'Kees';
public function __construct(){} // constructor
public function getName(){
return $this->_naam; //Kees
}
static public function getClassName(){
return __CLASS__; //User
}
}
//procedureel, dus eerst object aanmaken!
$u = new User(); //roept constructor aan,
//() optioneel als er geen params voor de constructor zijn.
echo $u->getName().'<br />'.PHP_EOL;
//static (meer verzamel functies over het algemeen...
echo User::getClassName().'<br />';
?>
Static functies kunnen overigens wel interne vars gebruiken e.d.
Maar ik denk dat je maar eens even wat handleidingen moet lezen dan eerst ;)
@Lode:
Een static functie hoeft niet perse een instance te hebben, tenzij je dat zelf zo ontwerpt. Denk aan een singleton design pattern. Waarbij er slechts 1 instance van een class mag bestaan.
Nog sterker, een static function heeft helemaal niets te maken met een instance. Met singleton gebruik je een statische functie (en variabele) om een instance in op te slaan, maar ook die heeft geen verband met de instance zelf, hij houdt 'm alleen vast.