Ked potrebujes, aby metodu bola schopna vykonat samotna trieda pred instanciovanim (resp. bez vytvorenia instancie).
Predstav si, keby PHP bolo ciste objektove. Ako by si volal metodu (v sucanosti len funkciu) "echo"?
Keby bola echo staticka, mohlo by to vyzera napr. takto:
Kód:
PHP::echo("hello");
alebo pekne to vidno napr. na Javackom vypise:
Kód:
System.out.println("hello");
Co keby toto neboli staticke metody?
Musel by si vcelku nezmyselne vytvorit instanciu nejakeho objektu ktory ti je na nic. Mohlo by to vyzera nejak takto blbo:
Kód:
$php = new PHP(); php->echo("hello");
A vzdy keby si chcel pouzit obyacajne echo by si si musel vytvorit objekt, co je fakt zbytocne.
Takze zhrnut sa to da takto: Pouzivaj staticke metody, ked nepotrebujes volat metody "zivej" (rozumej vytvorenej) instancie.
Potom odporucam nastudovat vselijake triky so statickymi metodami v konkretnom jazyku tvojej volby.
Velmi oblubene su napr. static factory konstruktory.