vadnica-logo
Editor Moj Blog Moje storitve O projektu Telegram O meni O meni

PHP Ključne besede (Keywords)

Pri pisanju PHP kode se vsakodnevno srečuješ z besedami, kot so if, else, for ali function. Te besede imenujemo ključne besede (ang. keywords) ali rezervirane besede. Ker predstavljajo osnove same slovnice jezika PHP in interpretatorju povedo, kako naj krmili logiko programa, imajo vnaprej določen, strogo sistemski pomen. V spodnjem interaktivnem simulatorju si lahko ogledaš nekaj najpogostejših primerov njihove uporabe v praksi, nato pa si bomo pogledali, zakaj s temi besedami ne smeš poimenovati svojih spremenljivk.

PRIMER
REZULTAT
Tu bo prikazan rezultat...

Kaj so rezervirane ključne besede?

Preden si ogledamo celoten seznam, je pomembno razumeti, zakaj so te besede sploh posebne. Predstavljaj si ključne besede kot "prometne znake" v jeziku PHP. Ko PHP interpretator bere tvojo kodo in naleti na besedo, kot je if, class ali function, natančno ve, da mora v tistem trenutku zagnati specifično sistemsko logiko (npr. preveriti pogoj, ustvariti objekt ali pripraviti funkcijo).

Ker imajo te besede vgrajen globok in vnaprej določen pomen, PHP ne dovoljuje, da bi jih uporabljal za svoja lastna poimenovanja. Če poenostavimo: ključnih besed ne smeš uporabiti kot imena za svoje spremenljivke, funkcije, razrede ali konstante.

⚠️ Primer prepovedane uporabe:
$new = "nov podatek"; // NAPAKA! 'new' je ključna beseda za ustvarjanje objektov. $function = 5; // NAPAKA! 'function' je rezervirana za deklaracijo funkcij.

Če boš poskusil zagnati takšno kodo, se bo izvajanje takoj ustavilo s kritično napako: Parse error: syntax error, unexpected '$'.

Zanimivo pa je, da v PHP-ju ključne besede (za razliko od spremenljivk) niso občutljive na velike in male črke. To pomeni, da so echo, ECHO in eChO za PHP popolnoma enaka stvar, čeprav se v praksi zaradi preglednosti vedno pišejo izključno z malimi črkami.

Preglednica in pomen ključnih besed

Spodaj je zbran celoten seznam rezerviranih besed, ki jih PHP uporablja za krmiljenje svoje notranje logike. Razdeljene so glede na njihov glavni namen, kar ti bo pomagalo hitreje usvojiti njihovo vlogo v programiranju:

Ključna beseda Opis in pomen
abstract Deklaracija abstraktnega razreda ali metode, ki nima implementacije.
and Logični operater "in" (nižja prioriteta kot &&).
array Konstrukt za kreiranje polja ali tipizacijo podatkovne strukture.
as Dodelitev vzdevka v foreach zanki ali pri uporabi imenskih prostorov.
break Takojšnja prekinitev izvajanja zanke (for, while, foreach) ali switch bloka.
case Preverjanje specifične vrednosti znotraj switch strukture.
catch Blok kode, ki se izvede, če je v try bloku prišlo do izjeme.
class Ključna beseda za definicijo razreda (objektno programiranje).
const Definicija konstante na nivoju razreda ali globalno.
continue Preskok preostanka trenutne iteracije in nadaljevanje na naslednjo.
declare Nastavitev direktiv za izvajanje kode (npr. strict_types=1).
default Rezervna možnost v switch stavku, če nobena vrednost case ne ustreza.
do Začetek do-while zanke, ki se izvede vsaj enksat.
else Blok kode, ki se izvede, če je pogoj v if stavku napačen.
elseif Dodaten pogojni stavek znotraj if strukture.
enddeclare Alternativna sintaksa za konec declare bloka.
endfor Alternativna sintaksa za konec for zanke.
endforeach Alternativna sintaksa za konec foreach zanke.
endif Alternativna sintaksa za konec if stavka.
endswitch Alternativna sintaksa za konec switch bloka.
endwhile Alternativna sintaksa za konec while zanke.
extends Označuje dedovanje: razred prevzame lastnosti starševskega razreda.
final Prepreči dedovanje razreda ali preglasitev metode.
finally Blok v try-catch strukturi, ki se izvede vedno (ne glede na napako).
for Klasična številčna zanka.
foreach Zanka, specializirana za prehajanje čez elemente polja (array).
function Deklaracija uporabniške funkcije ali anonimne funkcije.
global Omogoča dostop do globalne spremenljivke znotraj lokalnega dosega funkcije.
goto Skok na določeno oznako (label) v kodi (uporabljati previdno).
if Osnovni pogojni stavek.
implements Uporaba vmesnika (interface) v razredu.
include Vključitev zunanje datoteke (izpiše Warning, če datoteke ni).
include_once Vključitev datoteke le enkrat v celotnem ciklu skripte.
instanceof Preverjanje, ali je določen objekt instanca določenega razreda.
interface Definicija vmesnika, ki določa, katere metode mora razred implementirati.
namespace Organizacija kode v logične skupine (imenski prostori).
new Ustvarjanje nove instance (objekta) razreda.
or Logični operater "ali" (nižja prioriteta kot ||).
private Zasebna vidljivost: dostop le znotraj istega razreda.
protected Zaščitena vidljivost: dostop znotraj razreda in izvedenih razredov.
public Javna vidljivost: dostop od koderkoli.
require Obvezna vključitev datoteke (Fatal Error, če datoteke ni).
require_once Obvezna vključitev datoteke le enkrat.
return Vračanje vrednosti iz funkcije in prekinitev njenega izvajanja.
static Definicija statičnih metod/lastnosti ali statičnih spremenljivk v funkcijah.
switch Struktura za večkratno preverjanje vrednosti ene spremenljivke.
throw Ročno proženje (metanje) izjeme (exception).
trait Skupina metod, ki jih lahko vključimo v več različnih razredov.
try Začetek bloka za prestrezanje morebitnih napak.
use Uporaba imenskih prostorov ali vključevanje sledi v razred.
var Zastarela oblika za public (uporabljeno v PHP 4).
while Zanka, ki teče, dokler je pogoj izpolnjen.
xor Logični "izključni ali" (resnično, če je natanko eden od pogojev resničen).

Kam v PHP kodo dejansko vpisujemo te ključne besede?

Začetniki se pogosto sprašujejo, kam te besede sploh spadajo. Ključne besede niso navadne funkcije, ki bi jih lahko poljubno klicali kjerkoli. So osnovni gradniki strukture. Glede na to, kje v kodi živijo in kakšna je njihova vloga, jih lahko razdelimo v 4 glavne skupine:

1. Nadzor poteka (Zanke in pogoji)

Te besede pišemo neposredno v glavni potek skripte, ko želimo usmerjati delovanje programa in preverjati pogoje. Okoli njih običajno pišemo okrogle () in zavite {} oklepaje.

// Primer uporabe pogojev in zank neposredno v kodi:
if ($ura < 12) {
    echo 'Dobro jutro!';
}

switch ($barva) {
    case 'rdeča':
        echo 'Stop!';
        break;
}
2. Konstrukcija strukture (Definicija funkcij in objektov)

Te besede se uporabljajo za ustvarjanje oziroma deklaracijo povsem novih struktur v tvoji aplikaciji. Največkrat stojijo na samem začetku vrstice in interpretatorju javljajo, kaj natančno sledi.

// Uporaba na začetku vrstice za definicijo struktur:
abstract class OsnovnaBaza {
    // koda razreda
}

class MojaBaza extends OsnovnaBaza {
    // koda, ki deduje lastnosti
}

function sestej($a, $b) {
    return $a + $b;
}
3. Vidljivost in lastnosti (Znotraj razredov)

Te besede so strogo omejene in živijo izključno znotraj zavitih oklepajev nekega razreda (objektno programiranje). Z njimi določamo varnost oziroma od kod se lahko določeni podatki pokličejo.

class Uporabnik {
    // Vpisujemo znotraj razreda pred spremenljivke in metode:
    private $geslo;
    public $ime;
    
    public static function izpisiPodatke() {
        // statična metoda
    }
}
4. Izrazni operaterji (Med spremenljivkami in podatki)

Te besede se obnašajo kot računski znaki ali orodja za delo s podatki. Vpisujemo jih neposredno med spremenljivke, desno od enačaja ali neposredno pred imena razredov.

// Delujejo kot operaterji med podatki:
if ($pogoj_A xor $pogoj_B) {
    // Logični izključni ALI med dvema pogojema
}

$avto = new Avto(); // 'new' stoji med spremenljivko in razredom

if ($avto instanceof Avto) {
    // Preverjanje tipa objekta
}

S poznavanjem teh štirih skupin boš veliko lažje razumel zgornjo celotno tabelo in takoj vedel, v kateri del kode paše posamezna ključna beseda!