Metoda je funkcija, ki je definirana znotraj razreda. Objekt lahko metodo pokliče in tako izvede določeno dejanje.
Pomni: Metoda je del razreda, zato jo najpogosteje kličemo prek objekta z operatorjem ->.
Preprost primer metode
V sodobnem PHP metodi običajno določimo vidnost, na primer public.
<?php
class PrviRazred
{
public function pozdrav()
{
echo "Lep pozdrav";
}
}
$obj1 = new PrviRazred();
$obj1->pozdrav();
?>
Dostop do lastnosti znotraj metode
Metoda ima dostop do lastnosti istega objekta. Znotraj metode do njih dostopamo z uporabo $this->.
<?php
class DrugiRazred
{
public $ime = "Simon";
public function pozdrav()
{
echo "Pozdravljeni. Moje ime je " . $this->ime . ".<br>";
}
}
$obj = new DrugiRazred();
$obj->pozdrav();
?>
Pomni: $this pomeni trenutni objekt. Z zapisom $this->ime dostopamo do njegove lastnosti ime.
Vidnost metod
Metode so lahko public, protected ali private. Če želimo metodo klicati zunaj razreda prek objekta, mora biti navadno public.
<?php
class Primer
{
public function javnaMetoda()
{
echo "To je javna metoda.";
}
}
?>
Pozor: Metoda, ki ni dostopna z zunanje strani, na primer private, ni namenjena klicu prek objekta zunaj razreda.
Nestatične in statične metode
Običajne metode kličemo prek objekta z ->. Statične metode pa kličemo prek imena razreda z operatorjem ::.
Pozor: Nestatične metode ne smemo klicati statično. V PHP 8.x tak klic povzroči napako.
Pogoste napake
- izpuščanje jasne določitve vidnosti metode znotraj razreda, čeprav je pri učenju primernejši zapis
public function, - opuščanje ustvarjanja objekta z
newpred klicem metode, - klicanje metode z napačnim operatorjem,
- izpuščanje uporabe
$this->znotraj metode, - poskus statičnega klica nestatične metode.