Nakon ovog poglavlja
Što ćete znati napraviti
- Pisati jasne if, match i switch odluke.
- Odabrati foreach, for ili while prema problemu.
- Smanjiti ugniježđenost ranim izlaskom.
Grananje toka
if za uvjete, match za vrijednosti
if je najbolji kada provjeravamo različite logičke uvjete. match je izraz: vraća vrijednost, koristi strogu usporedbu i ne propada u sljedeću granu. switch ostaje koristan u starijem kodu, ali traži oprezan break.
<?php
$status = 'published';
$label = match ($status) {
'draft' => 'Skica',
'review' => 'Na provjeri',
'published' => 'Objavljeno',
default => 'Nepoznato',
};
Rad nad skupom
foreach je najčešći izbor
foreach čita elemente polja bez ručnog upravljanja indeksom. for je prikladan kada je brojač bit problema, a while kada ponavljanje traje dok vrijedi uvjet. Svaka petlja treba imati očit način završetka.
<?php
$articles = ['HTTP', 'PHP', 'Laravel'];
foreach ($articles as $position => $title) {
echo ($position + 1) . '. ' . $title . PHP_EOL;
}
Ravan kod
Nevaljan slučaj riješite prvi
Duboko ugniježđeni if blokovi skrivaju glavni tok. U funkciji prvo provjerite preduvjete i vratite rezultat ili bacite iznimku. U petljama break završava petlju, a continue preskače trenutni element.
<?php
function publish(array $article): string
{
if (($article['title'] ?? '') === '') {
return 'Naslov nedostaje.';
}
if (($article['approved'] ?? false) !== true) {
return 'Članak nije odobren.';
}
return 'Objavljeno.';
}
Primijenite naučeno
Vježba: Status narudžbe
Pretvorite tehnički status narudžbe u korisničku poruku i boju oznake.
- Koristite match s obaveznom default granom.
- Prođite kroz polje više narudžbi pomoću foreach.
- Preskočite zapise koji nemaju identifikator.
Za provjeru i nastavak