Nakon ovog poglavlja
Što ćete znati napraviti
- Deklarirati varijable i konstante razumljivih naziva.
- Razlikovati osnovne PHP tipove i vrijednost null.
- Ispitati vrijednost bez oslanjanja na nagađanje.
Podatak s namjerom
Varijabla je oznaka za vrijednost
PHP varijabla počinje znakom dolara. Ime neka opisuje poslovno značenje: $priceInCents je korisnije od $p. Vrijednost se tijekom izvršavanja može promijeniti, ali promjena tipa iste varijable obično otežava razumijevanje.
Za nepromjenjive projektne vrijednosti koristimo const ili define. Konstanta nije mjesto za tajnu ni konfiguraciju koja se razlikuje između okruženja.
<?php
$articleTitle = 'Siguran PHP';
$viewCount = 1250;
$isPublished = true;
const ITEMS_PER_PAGE = 20;
Oblik vrijednosti
Skalarni i složeni tipovi
Najčešći skalarni tipovi su int, float, string i bool. Polje je array, objekt je instanca klase, a null označava odsutnost vrijednosti. Resource predstavlja vanjski resurs poput otvorene datoteke.
PHP može automatski pretvarati tipove, primjerice tekst iz forme u broj u izrazu. Ta praktičnost krije pogreške. Na granici sustava podatak prvo provjerite i pretvorite, a u ostatku programa radite s očekivanim tipom.
- int: cijeli broj.
- float: decimalni broj s ograničenom preciznošću.
- string: niz bajtova, često UTF-8 tekst.
- bool: true ili false.
- null: namjerna odsutnost vrijednosti.
Bez nagađanja
Pogledajte što program stvarno ima
Za razvoj su korisni var_dump i get_debug_type. U korisničko sučelje ne šaljemo sirovi debug izlaz. Stroga usporedba === provjerava i vrijednost i tip te je siguran zadani izbor.
<?php
$input = '25';
var_dump($input); // string(2) "25"
var_dump((int) $input); // int(25)
var_dump($input === 25); // false
var_dump((int) $input === 25); // true
Primijenite naučeno
Vježba: Kartica proizvoda
Modelirajte jedan proizvod pomoću nekoliko jasno imenovanih varijabli.
- Dodajte naziv, cijenu u centima, dostupnost i opcionalni opis.
- Ispišite tip svake vrijednosti pomoću get_debug_type.
- Pretvorite cijenu u format eura samo pri prikazu.
Za provjeru i nastavak