Monday, May 01, 2023

Učite PHP korak po korak: Promenjive, Tipovi podataka i Konstante su ključni za uspeh programiranja

I pored toga što prvo instaliramo i pripremimo sve što nam je potrebno za učenje i programiranje nekog programskog jezika; kao što smo se pripremili za učenje PHP programskog jezika u prošlom  postu PHP tutorijala, pogledajte ovde; i pošto smo ispisali čuveno “Hello World“ na veb stranici lokalnog servera; prvi koraci u programiranju započinju promenjivima. Promenjive u programiranju su mesta u memoriji računara gde se čuvaju podaci koje program koristi za izračunavanje, obradu i manipulaciju. U PHP programskom jeziku, kao i u drugim programskim jezicima; promenjive su imena koja se koriste za referenciranje mesta u memoriji. Najlakši način da shvatite promenjive jeste da iste zamislite kao memorijske kutice. Ali nisu sve kutice iste. U neke možete staviti neku vrednost koja predstavlja celi broj, dok u neke možete staviti brojeve sa pokretnim zarezom. Postoje kutice i u koje možete staviti skup bilo kojih karaktera. Da bi ste znali koju vrednost možete staviti u neku promenjivu, treba da znate koji tip podataka ste odlučili da dodelite nekoj promenjivoj. Svi programski jezici imaju promenjive i određene tipove podataka. Većina osnovnih tipova promenjivi su u suštini isti ili slični. Međutim neki programski jezici imaju više tipova podataka dok drugi imaju manje. Isto tako čak i isti naziv tipa promenjive u mnogim programskim jezicima mogu imati drugačija ograničenja. Na primer u PHP programskom jeziku tip float podataka ima preciznost double tipa podataka, što znači da vrednost brojeva sa pokretnim zarezom mnogo veća nego što bi bila da je tip float podataka u C# programskom jeziku. Ili umesto tipa podataka charC# programskom jeziku, u PHP programskom jeziku se koristi tip string, dok je char funkcija koja se koristi da pretvori neki ASCII broj u karakter. Da, ne biste bili zbunjeni na samom početku učenja tipova podataka, najbolje da se koncentrišemo na tipove podataka koje ima PHP programski jezik. 


( PHP programski jezik ima samo 8 tipova podataka )

Promenjive predstavljaju osnovni element svakog programa, jer omogućuju da se podaci pohranjuju i menjaju tokom izvršavanja programa. U PHP programskom jeziku, promenjive se deklarišu navođenjem njihovog naziva, a tip podataka se automatski određuje na osnovu vrednosti koju im se dodeljuje. Nazivi promenjivih mogu sadržati slova, brojeve i donje crte; ali ne mogu započeti brojem ili sadržavati razmake kao i specijalne karaktere. U PHP programskom jeziku morate koristiti čak i prefiks $ pre naziva promenjive, da bi interpretator PHP programskog jezika znao da se radi o promenljivoj. Na primer, ako hoćete da nekoj promenjivoj dodelite neki celi broj, uradićete to na sledeći način:

$number = 10;

Prvo što vidimo u prethodnoj liniji koda jeste da imamo promenjivu $number kojoj je dodeljena vrednost celog broja 10. Važno je da nazivi promenjivih uvek budu jasni i opisni kako bi se lako razumela svrha njihovog korišćenja u programu. Ovde je očigledno da promenjiva sadrži neki broj. Međutim, ako promenjiva sadrži broj koji predstavlja na primer trinaestu platu, onda promenjivu nazovite $trinaestaPlata. Imajte u vidu i da je PHP programski jezik case-sensitive što znači da razlikuje mala i velika slova. Tako na primer $number i $Number nisu ista promenjiva, već dve različite. Ako malo bolje pogledate naziv promenjive $trinaestaPlata, shvatićete da se promenjive pišu malim slovima, preciznije Camel Case Notation – kamel notacijom. Iako nećete dobiti grešku ako nazovete promenjivu velikim slovom, ipak treba da poštujete programersku etiku. U PHP programskom jeziku vi ne deklarišete promenjive kao u mnogim drugim programskim jezicima. Onog momenta kada dodelite neku vrednost nekoj promenjivoj, promenjiva dobija automatski svoj tip podataka u zavisnosti šta je vrednost promenjive i odvaja prostor u memoriji za njeno skladištenje.

Koje sve tipove podataka ima PHP programski jezik?

Svaki tip podataka ima svoje karakteristike i način rukovanja njima. Važno je poznavati tipove podataka kako bi se efikasno koristile promenjive u programu. U PHP programskom jeziku postoji tačno 8 tipova podataka i to su:

  1. integer – koristi se za celobrojne brojeve
  2. float – koristi se za brojeve sa pokretnim zarezom
  3. string – koristi se za sve karaktere
  4. boolean – ima samo jednu od dve vrednosti; može biti true – tačno ili false –  netačno
  5. array – koristi se kreiranje nizova koji mogu imati elemente različitih tipova podataka
  6. object – koristi se kada sami kreirate neku klasu, i koristite je kao objekat. Može da zameni bilo koji drugi tip podataka.
  7. resource – koristi se za vanjske resurse poput datoteka i baza podataka
  8. null – ovo je više vrednost nego tip podataka, ali zbog načina kako PHP deklariše promenjive, null se tretira kao tip podataka koji označava ništa, što nije isto kao i prazan string ili 0

Najbolji način da se upoznate sa tipovima podataka jeste da napravite jednu stranicu gde ćete ispisati svih osam PHP tipova podataka. I takođe dobiti informacije na primer, kolika je minimalna i maksimalna vrednost tipa integer na vašem računaru? Zato pokrenite vaš Terminal i odradite sledeće komande:

manuel@manuel-virtual-machine:~$ sudo apt-get update

manuel@manuel-virtual-machine:~$ sudo apt-get upgrade

manuel@manuel-virtual-machine:~$ clear

manuel@manuel-virtual-machine:~$ cd /opt/lampp

manuel@manuel-virtual-machine:~$ ls

manuel@manuel-virtual-machine:/opt/lampp$ sudo ./manager-linux-x64.run

Kad vam se otvori prozor od XAMPP menadžera, pokrenite Apache Web Server. MySQL Database nam u ovom primeru nije potreban. Zatim, otvorite novi Terminal prozor i prebacite se u folder projekta php_tutorial kojeg smo napravili u prethodnoj lekciji. I otvorite Visual Studio Code.  

manuel@manuel-virtual-machine:~$ cd /opt/lampp/htdocs/php_tutorial

manuel@manuel-virtual-machine:/opt/lampp /htdocs/php_tutorial$ code .

Kliknite na index.php zatim u panel editoru koda prepravite sledeći deo kôda.

<ul>

    <li><a href="lessons/lesson01.php">

        Lesson 1. - The text printing and comments

    </a></li>

    <li><a href="lessons/lesson02.php">

        Lesson 2. - Variables and data types  

    </a></li>

</ul>

U direktorijumu lessons kreirajte novi fajl i nazovite ga lesson02.php. Zatim pokrenite pretraživač i otkucajte localhost/php_tutorial ili dodajte i port na kojem vaš lokalni server radi. Ukoliko je sve pravilno urađeno, dobićete rezultat kao na slici.


( Prva stranica PHP tutoriala predstavlja sadržaj )

Ukoliko je i vaš rezultat isti kao na slici, onda smo spremni da kodiramo kod koji će nam prikazati promenjive, tipove podataka i na kraju kako se definiše konstanta. Otkucajte sledeći kôd u lesson02.php fajlu.

<?php

    $title = 'Lesson 2';

    require_once '../includes/header.php';

?>

 

<h2 class="bg-primary text-light text-center py-3">

    Variables and data types

</h2>

 

<div class="container">

    <?php

 

        echo "<h2>In PHP, the following data types exist:</h2><br/>";

 

        echo "  Bool (boolean) <br>

                Integer (int) <br>

                Float (float, double) <br>

                String (string) <br>

                Array (array) <br>

                Object (object) <br>

                Resource (resource) <br>

                Null (null) <br><br/>";

   

       

        // This bool type of variable can be true or false

        $boolVariable = true;

        echo "boolean ... True or False <br>";

        echo gettype($boolVariable) . "<br></br>";

 

        // This integer type of variable can store whole numbers

        $intVariable = 123456789;

        echo " integer... " . $intVariable . "<br>";

        echo gettype($intVariable) . "<br>";

        echo "Maximal value of an integer: " . PHP_INT_MAX . "<br>";

        echo "Minimal value of an integer: " . PHP_INT_MIN . "<br></br>";

 

        // This float type of variable can store double numbers

        $floatVariable = 1.23456789;

        echo "float -> double ... " . $floatVariable . "<br>";

        echo gettype($floatVariable) . "<br>";

        echo "Maximal value of a double: " . PHP_FLOAT_MAX . "<br>";

        echo "Minimal value of a double: " . PHP_FLOAT_MIN . "<br></br>";

 

        // This string type of variable can store text

        $stringVariable = "A string data type in PHP can have 128 or 500 or more MB,<br>

                     but it dependents from the server configuration and its memory!";

        echo " string ... " . $stringVariable . "<br>";

        echo gettype($stringVariable) . "<br></br>";

 

        // This array type of variable can store multiple values

        $arrayVariable = array(1, "two", 3.0, true);

        echo " array ... " . implode(", ", $arrayVariable) . "<br>";

        echo gettype($arrayVariable) . "<br></br>";

 

        // This object type of variable can hold any type of value

        $objectVariable = "An object can hold any type.";

        echo "object -> string ... " . $objectVariable . "<br>";

        echo gettype($objectVariable) . "<br>";

 

        echo "Make the object... <br>";

        class SomeClass { }  // make a class

        $objectVariable = new SomeClass(); // make an object from the class

        echo gettype($objectVariable) . "<br></br>";

 

        // This resource type of variable used to represent external resources

        echo "The resource data type in PHP is used to represent external resources <br>

              such as open files, databases, or network connections. <br><br/>";

 

        // This null type of variable has no value

        $nullVariable = null;

        echo "null ... " . var_export($nullVariable, true) . "<br>";

        echo gettype($nullVariable) . "<br></br>";

 

        // a constant

        define("PI", 3.14159265359);

 

        echo " You cannot change constant value after initialization. <br>

               Constant PI = " . PI . " always.";

 

        echo "</br></br></br></br></br>"

   

    ?>

 

</div>

 

<!-- footer -->

<?php require_once '../includes/footer.php'; ?>

Otvorite pretraživač i na stranici sadržaj kliknite na Lesson 2. - Variables and data types. Otvoriće vam se nova veb stranica sa sledećim sadržajem:

In PHP, the following data types exist:


Bool (boolean)
Integer (int)
Float (float, double)
String (string)
Array (array)
Object (object)
Resource (resource)
Null (null)

boolean ... True or False
boolean

integer... 123456789
integer
Maximal value of an integer: 9223372036854775807
Minimal value of an integer: -9223372036854775808

float -> double ... 1.23456789
double
Maximal value of a double: 1.7976931348623E+308
Minimal value of a double: 2.2250738585072E-308

string ... A string data type in PHP can have 128 or 500 or more MB,
but it dependents from the server configuration and its memory!
string

array ... 1, two, 3, 1
array

object -> string ... An object can hold any type.
string
Make the object...
object

The resource data type in PHP is used to represent external resources
such as open files, databases, or network connections.

null ... NULL
NULL

You cannot change constant value after initialization.
Constant PI = 3.14159265359 always.

Kao što vidite u rezultatima maksimalna veličina integer tipa podataka je čak 9 223 372 036 854 775 807. Ovaj rezultat neće biti isti kod svakog. On zavisi od toga kako je konfigurisan vaš server i od toga koliko server hardverski ima kapaciteta da pruži memorije na raspolaganje. S obzirom koristimo lokalni server više se misli na kapacitet vašeg računara koji isto tako može da varira ako koristite 32-bit-ni operativni sistem. U tom slučaju maksimalna veličina će definitivno biti manja. Kad je u pitanju tip podataka float, dobro obratite pažnju; posebno kad su u pitanju veći proračuni, preciznost i zaokruživanje brojeva. Takve proračune morate da testirate i proverite više puta jer na primer rezultat 1.6 ne mora da znači da je to zaista 1.6. Konstante se u PHP programskom jeziku ne deklarišu već definišu uz upotrebu funkcije define. Jedno je sigurno, ne možete konstanti menjati vrednost u toku izvršavanja kao što to možete na primer u Python programskom jeziku, s obzirom da Python  programski jezik nema konstante već koristi promenjive i za konstante. Samo zato što se konstante inače pišu velikim slovima, daje se do znanja ostalim programerima u Python programskom jeziku da ne menjaju vrednost promenjivoj. U PHP vi ne možete promeniti vrednost konstante, ali se takođe preporučuje da koristite velika slova i donju crticu _ u nazivu konstante ako je to baš neophodno. Kako ova veb PHP stranica izgleda i kako se kreirala možete pogledati i u video-u.


( PHP - 2. Variables, Data Types and Constants )






 

 

 

 

 

 

 

  
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

No comments:

Post a Comment