definiranje konstanti [PHP tutorial]
Konstante nas okružuju u svakodnevnom životu, pa je nekako logično da se pojavljuju i u programskim jezicima kojima pokušavamo riješiti neke od svakodnevnih problema na koje nailazimo ili olakšati neki proces. Bez obzira na to čime se bavimo, koje je naše područje rada, neke konstante sigurno postoje. Kao što im i samo ime kaže, to su neke vrijednosti koje su uvijek konstantne i ne mijenjaju se s vremenom i upravo zbog toga često se na njih oslanjamo.
kakve konstante postoje?
Konstante mogu biti različitog tipa, oblika, značenja za svijet ili pojedinca. Nekome je važna konstanta pi, nekome e. To su konstante koje izražavamo brojevima.
Još jedna konstanta koju ljudi imaju, samo je vrijednost različita je boja očiju. Ta “vrijednost” se ne mijenja kroz život i zato možemo reći da je konstantna.
zašto i kako definirati konstantu?
Ako će naš programski kod vršiti neke proračune i često koristiti istu konstantu, na primjer konstatnu pi koja iznosi 3.14, bilo bi korisno da je u svakom proračunu korištena ista vrijednost, a ne negdje na jednom mjestu da koristimo 3.1415 kao iznos te konstante. Zato je pametno odmah na početku programskog koda definirati konstantu i kasnije ju koristiti u programskom kodu, jer će njena vrijednost uvijek biti ista.
Još jedan razlog je lakša izmjena samog programskog koda. Ukoliko zaključimo da nam vrijednost pi zaokružena na dvije decimale, 3.14 nije dovoljno precizna, dovoljno je samo na jednom mjestu dodati još željeni broj decimala, na primjer 3.1415, i ta vrijednost će se koristiti u svakom daljnjem proračunu u kojem sko iskoristili definiranu konstantu.
Konstante obično pišemo velikim slovima, a konstantu PI sa pripadajućom vrijednošću definiramo na sljedeći način:
1 2 3 4 5 6 | <?php define("PI", 3.14); // ispisujemo vrijednost konstante echo PI; ?> |
Kao što je vidljivo iz koda, konstante definiramo pozivanjem funkcije define() kojoj kao prvi argument predajemo ime konstante, a kao drugi vrijednost te konstante. Treći argument je opcionalan (nije potreban). Ukoliko želimo da u programskom kodu bude svejedno jesmo li napisali pi ili PI (case insensitive), treći atrument postavljamo na vrijednost true. Ukoliko vrijednost ovog argumenta ne postavimo, podrazumijeva se da je false.
Ovo može biti jako korisno ukoliko želimo imati dvije konstante pi sa različitim vrijednostima (više decimalnih mjesta).
1 2 3 4 5 6 7 8 9 | <?php define("pi", 3.14); define("PI", 3.1415); // ispisujemo vrijednost konstante pi echo "vrijednost konstante pi: ".pi."<br />"; // ispisuje se 3.14 // ispisujemo vrijednost konstante PI echo "vrijednost konstante PI: ".PI."<br />"; // ispisuje se 3.1415 |
Primjer korištenja ove dvije konstante kod izračuna površine kruga s polumjerom 5 centimetara:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php define("pi", 3.14); define("PI", 3.1415); echo "izracun opsega i povrsine kruga s polumjerom 5 cm<br />"; echo "koristimo ".pi." kao vrijednost konstante pi: <br />"; echo "povrsina iznosi: ".5*5*pi." kvadratnih centimetara<br />"; // povrsina je r*r*pi echo "opseg iznosi: ".2*5*pi." centimetara<br />"; // opseg je 2*r*pi echo "koristimo ".PI." kao vrijednost konstante pi: <br />"; echo "povrsina iznosi: ".5*5*PI." kvadratnih centimetara<br />"; // povrsina je r*r*pi echo "opseg iznosi: ".2*5*PI." centimetara<br />"; // opseg je 2*r*pi ?> |
U primjeru 2 komentar se nalazi na kraju naredbe iza točke-zareza i komentira što smo napravili tim retkom koda. Komentar završava na kraju reda – sve što se nalazi iza znaka za početak komentara kroz jedan red je komentar. Da bi bilo jasnije, primjer 3:
1 2 3 4 | <?php // echo "komentar"; echo "Pozdrav svijete!"; ?> |
Osim brojevnih konstanti, možemo definirati i tekstualne:
1 2 3 4 5 6 7 8 9 | <?php define("BOJA", "plave"); define("DA", "istina"); define("NE", "laz"); echo "Petra ima ".BOJA." oci.<br />"; echo "Ivan kaze da je to ".DA.".<br />"; echo "Marina kaze da je to ".NE.".<br />"; ?> |
tipovi konstanti
Vrijednost konstanti može biti NULL vrijednost ili neka vrijednost integer, float, string ili bool tipa.
Što su integer, float, string i bool tip vrijednosti? Time će se baviti naš sljedeći tekst u kojem će sve to postati jasnije.


