Načrtovanje in razvoj spletnih aplikacij

Metode v PHP

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();
?>
Lep 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();
?>
Pozdravljeni. Moje ime je Simon.

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 new pred klicem metode,
  • klicanje metode z napačnim operatorjem,
  • izpuščanje uporabe $this-> znotraj metode,
  • poskus statičnega klica nestatične metode.