Sunteți pe pagina 1din 14

Curs: Advanced PHP programming - Building Web Applications

Modul: Programarea web


Unitate: Construirea unei aplicații web

Printr-o aplicație web înțelegem o aplicație (program) a cărei


executare are loc la nivelul Internetului sau Intranetului. Cu alte
cuvinte, orice tip de conținut de programare care poate fi transmis în
browser.

Pentru a face ca o aplicație să fie funcționlă, trebuie să ştim


următoarele: scopul aplicației şi ce tehnologie vom utiliza pentru
construirea sa.

În cazul nostru, scopul aplicației este să învățăm limbajul PHP, așadar


nu va conta care va fi acesta, atâta timp cât va funcționa. Utilizatorii
vom fi noi înșine, iar tehnologia ne este deja familiară (PHP+Apache).

Se obișnuiește ca atunci când aplicația PHP este testată pe server


pentru prima dată, PHP să fie verificat prin funcția phpInfo();

Deschideți (Notepad++) şi introduceți (sau copiați) următoarele linii de


cod:

<?php
phpInfo();
?>

Un astfel de cod reprezintă (deși primitiv) o aplicație web PHP complet


funcțională, dar pentru a o începe, trebuie să facem o scurtă descriere
a serverului web.

Fiecare server web are două părți, în ceea ce privește relația cu


fișierele. Una dintre ele este locală și reprezintă maniera în care
serverul web va trata fișierele locale, iar cea de-a doua reprezintă
maniera în care serverul web va prezenta aceste fișiere pe web.
Fișierul Root al sistemului și întreaga structură a sistemului de fișiere
pe care le vom difuza pe web începe de aici.

De exemplu, dacă fișierul Root al serverului nostru web se află în


folderul C:\wamp\www\ și dacă vom stoca aici un fișier cu numele

© Copyright Link group 1 / 14


Curs: Advanced PHP programming - Building Web Applications
Modul: Programarea web
Unitate: Construirea unei aplicații web

index.php, obținând astfel următoarea structură:

C:\wamp\www\index.php

adresa web a acestui document va fi http://localhost/index.php

Dacă în folderul C:\wamp\www\ vom adăuga un alt folder:


C:\wamp\www\noviFolder, iar în el, fișierul index.php

adresa web a documentului va fi: http://localhost/noviFolder/index.php

Din aceste exemple puteți vedea clar că ierarhia sistemului de fișiere


este copiată în ierarhia folderului web. Singura diferență este că
folderul Root al serverului web este cel mai jos nivel la care se poate
ajunge prin web, în timp ce în sistemul de fișiere se poate ”coborî și
mai jos de atât”.

Structura fișierelor de pe web este întodeauna precedată de adresa


domeniului (în acest caz este http://localhost/).

Dacă se păstrează valorile default, folderul Wamp al serverului web


este C:\wamp\www, iar acesta conține deja fișierul index.php, care
este exact aplicația cu care ne-am întâlnit în lecția precedentă, când
am pornit serverul pentru prima dată.

Pentru exercițiu și testare este mai bine să creați un folder separat


C:\wamp\www\ (ex. exercițiu), astfel încât structura finală să fie:
C:\wamp\www\exercitiu

Dacă vom plasa textul creat anterior în np++ intitulat index.php, vom
obține următoarea structură:

C:\wamp\www\exercitiu\index.php

© Copyright Link group 2 / 14


Curs: Advanced PHP programming - Building Web Applications
Modul: Programarea web
Unitate: Construirea unei aplicații web

și prin urmare, o aplicație web PHP complet funcțională.

Această aplicație poate fi testată la adresa:

http://localhost/exercitiu/ sau http://localhost/exercitiu/index.php

Dacă totul este în regulă, pagina PHP Info va fi emisă conținând o


mulțime de informații despre modulul PHP și sistemul însuși. În acest
fel, putem verifica cu ușurință dacă PHP funcționează pe serverul web.

Explicația pentru acest fenomen, în care prima și cea de-a doua


adresă funcționează în mod identic, este aceea că există anumite
fișiere pe care serverul web le activează automat, în momentul în care
clientul accesează un anumit folder. Numele acestor fișiere pot fi
configurate în setările serverului web, dar de obicei se utilizează
denumirile default de pe serverul Apache: index.php și index.html.
Dacă vom da documentului un alt nume decât „index.php”, aplicația
nu va porni automat.

Dacă linia de cod:

phpInfo();

va fi înlocuită cu linia:

echo "Salut";

și dacă vom aplica din nou aplicația în browser, drept rezultat vom
obține mesajul:

Salut

prin intermediul căruia ne-am întâlnit cu prima comandă PHP: echo

© Copyright Link group 3 / 14


Curs: Advanced PHP programming - Building Web Applications
Modul: Programarea web
Unitate: Construirea unei aplicații web

Comanda echo și sintaxa de bază a limbajului

PHP este un limbaj de script, motiv pentru care nu presupune o


strictețe asemănătoare cu cea cerută de limbajele de nivel inferior.
Aceasta se referă în primul rând la manipularea tipurilor de date. Cu
toate acestea, există câteva convenții care trebuie respectate, astfel
încât codul să funcționeze.

Din linia de cod anterioară, putem trage concluzia că o linie de cod


obișnuită va fi validă, dacă are la final marcajul:

În acest caz, dacă va fi omis, nu va returna o eroare, dar dacă mai


adăugăm o linie de cod, eroarea va fi returnată, fiindcă PHP nu va fi
capabil să le separe.

În afară de acest aspect, putem să observăm că textul este așezat


între ghilimele. Un astfel de marcaj, spre deosebire de alte limbaje, nu
este necesar în PHP, iar textul va fi procesat în mod corespunzător și
fără ele. Cu toate acestea, se recomandă respectarea acestei convenții
pentru acuratețea și scalabilitatea codului.

Comanda echo și sinonimul său print (echo și print nu sunt sinonime


în întregime, deoarece există câteva diferențe minore între ele, însă
aceste două comenzi sunt foarte asemănătoare) emit conținut
semnificativ la ieșire (în acest caz, codul HTML).

Aceste comenzi sunt mijloacele de comunicare de bază dintre PHP și


HTML care sunt implementate.

De exemplu, dacă vom reface codul, astfel încât să arate în felul


următor:

<?php
echo "<b>test</b>";
?>

© Copyright Link group 4 / 14


Curs: Advanced PHP programming - Building Web Applications
Modul: Programarea web
Unitate: Construirea unei aplicații web

în rezultat va fi emis un text cu litere bolduite, fiindcă browserul nu


este interesat de creatorul unui anumit document, ci numai de
conținutul său.

Dacă am fi introdus următoarea linie, în locul codului nostru:

<b>test</b>

rezultatul ar fi la fel.

Vă puteți asigura că vedeți codul HTML în pagina browserului dvs.

De asemenea, dacă conținutul codului nostru ar arăta în felul următor:

<?php
echo "<b>test</b>";
?>
<b>test</b>

La ieșire (în codul HTML al paginii) vom avea două tag-uri identice,
deși ele sunt complet diferite în codul nostru.

Comenzile echo și print nu sunt pretențioase în privința tipului de


informație pe care ar trebui să-l emită; mai mult, acestea sunt
capabile să proceseze aceste tipuri cu o anumită logică în interacțiune,
în contextul acestei logici. Spus mai simplu, dacă scriem linia:

<?php
echo 2+"2";
?>

în codul HTML va fi emis numărul 4. Deși este evident că au fost


adunate două tipuri diferite de date, PHP le procesează în mod
adecvat și nu apare nici o eroare.

Așadar, comanda echo emite conținutul în HTML. Dar dacă am vrea ca


acest conținut să nu fie emis în HTML, dar să fie totuși vizibil în codul
sursă?

© Copyright Link group 5 / 14


Curs: Advanced PHP programming - Building Web Applications
Modul: Programarea web
Unitate: Construirea unei aplicații web

Comentarea codului

Dacă vrem ca un conținut să fie reținut în codul sursă, fără ca acesta


să aibă vreun efect asupra executării programului sau să fie vizibil în
codul HTML țintă, vom folosi ghilimelele sau comentarea codului.

Comentariile reprezintă un element obișnuit, chiar inevitabil în


programarea modernă. Există numeroase motive pentru utilizarea lor,
dar cele mai reprezentative sunt următoarele:

posibilitatea de a scrie note (în programare te poți pierde cu


ușurință, motiv pentru care este bine să ai la îndemână informații
despre fiecare parte din program și la ce folosește),

Recunoașterea facilă a funcționalității de către un alt programator


(dacă se lucrează în echipă, cel de-al doilea programator se va
descurca în interiorul codului dvs., datorită comentariilor dvs.),

Activarea și dezactivarea fucționalității într-un mod simplu și


rapid (dacă programul nostru conține 100 de linii de cod pe care
dorim să le dezactivăm pentru un moment (însă nu să le
ștergem), cea mai simplă cale de a face acest lucru este prin
comentarea acestora).

Un cod în PHP poate fi comentat în felurile următoare:

1. Utilizarea liniuțelor oblice (Slash)

De exemplu, dacă adăugăm o linie de comentariu în codul nostru:

<?php

© Copyright Link group 6 / 14


Curs: Advanced PHP programming - Building Web Applications
Modul: Programarea web
Unitate: Construirea unei aplicații web

//acesta este un cod de comentariu


echo "<b>test</b>";
?>

vom vedea că programul funcționează fără nici o problemă. Dacă ne


uităm la codul HTML rezultat în browser, vom vedea că linia adăugată
este ignorată (nu există). Așadar, putem fi siguri că părțile comentate
din cod vor fi invizibile pentru utilizatorul final.

Putem obține un rezultat identic, prin utilizarea caracterului # în loc de


//

<?php
#acesta este un cod de comentariu
echo "<b>test</b>";
?>

Prin comentariu înțelegem o linie întreagă ce urmează după semnul de


comentariu (//). Linia care urmează nu va fi afectată de acest semn.

Dacă vrem să comentăm mai multe linii (un bloc), putem să:

comentăm fiecare linie individual,

//prima linie de comentariu


//cea de-a doua linie de comentariu

sau să creăm un așa-numit bloc de comentariu,

/*
acesta este un bloc
de comentarii
*/

unde semnul /* începe un bloc de comentariu, iar semnul */ îl termină.


Fiecare text aflat între aceste două semne va fi tratat ca un
comentariu.

© Copyright Link group 7 / 14


Curs: Advanced PHP programming - Building Web Applications
Modul: Programarea web
Unitate: Construirea unei aplicații web

În cele din urmă, vom menționa că liniile din codul PHP nu vor include
linii noi în codul HTML. Probabil că acest lucru a fost clar din exemplul
anterior, dar totuși trebuie accentuat încă o dată. Dacă vom scrie
următorul bloc în PHP:

<?php
echo "aceasta";
echo " este";
echo " o";
echo " intrare";
echo " de test";
?>

rezultatul în codul HTML va fi:

Aceasta este o intrare de test

Din aceasta puteți vedea că posibilitățile lui HTML sunt practic


nelimitate (fapt ce va fi mai clar în lecțiile care urmează).

Sintaxa comenzii echo este:

echo text1,text2,text3, . . .;

Argumentele text1, text2 și altele de acest fel pot fi numere sau


stringuri. Dacă este un string, trebuie denumit cu ghilimele duble sau
simple.

Comanda Echo Ieșire


echo 123 123
echo "Hello World!"; Hello World!
echo HelloWorld!
"Hello","","World!";
echo "Hello"," Hello World!
","World!";

© Copyright Link group 8 / 14


Curs: Advanced PHP programming - Building Web Applications
Modul: Programarea web
Unitate: Construirea unei aplicații web

echo Hello World!; eroare; lipsă ghilimele


echo 'Hello World!'; Hello World!

Având în vedere că rezultatul executării comenzilor PHP sunt trimise


cititorului web, în textul care va fi afișat, pot fi introduse tag-uri HTML,
astfel încât textul poate fi formatat corect, după ce cititorul web îl
afișează.

De exemplu:

echo "Un segment din acest <b>text</b> va fi scos in


evidenta";

În mod similar, în cadrul comenzii echo pot fi utilizate caractere


speciale, de exemplu, semnul care marchează o linie nouă \n. Cu toate
acestea, în acest caz trebuie avut grijă la efectul final.

Comanda:

echo "programare \n PHP"

va returna două linii de text, ca rezultat al executării:

programare
PHP

Însă, dacă aceste două linii vor fi expediate browserului web, vor fi
afișate într-o singură linie. Pentru ca textul să fie afișat în două linii,
trebuie utilizat semnul HTML <br> în loc de \n.

De reținut din lecție:

1. Dacă nu este setat altfel, serverul web va deschide în mod


automat pagina index.php sau index.html.

© Copyright Link group 9 / 14


Curs: Advanced PHP programming - Building Web Applications
Modul: Programarea web
Unitate: Construirea unei aplicații web

2. Comanda/funcția phpInfo() scrie informații despre PHP și despre


sistemul pe care este executat.

3. O linie de cod PHP trebuie să se termine cu marcajul ;

4. Ieșirea PHP într-un cod HTML se face prin comanda echo sau
print.

5. Comentarea codului PHP se face cu ajutorul semnului // pentru o


singură linie, sau a semnelor /* */ caz în care, textul dintre aceste
două marcaje va fi comentat (/* acesta va fi comentat*/).

6. HTML nu recunoaște semnul \n ca marcaj pentru o nouă linie.


Pentru a emite o linie nouă în browser, trebuie să utilizăm tag-ul
<br> .

Mai multe informații

Afișarea unui cod HTML al unei pagini web în Internet Explorer

Pentru a vedea codul HTML al unei pagini web în Internet Explorer,


trebuie să mergem la meniul drop-down View și să activăm opțiunea
Source sau opțiunea Page - View Source:

© Copyright Link group 10 / 14


Curs: Advanced PHP programming - Building Web Applications
Modul: Programarea web
Unitate: Construirea unei aplicații web

© Copyright Link group 11 / 14


Curs: Advanced PHP programming - Building Web Applications
Modul: Programarea web
Unitate: Construirea unei aplicații web

APHPro_02 - Advanced PHP Programming


1. Care din următoarele linii este validă în PHP?
a) echo " linia mea";
b) echo "linia mea"
c) echo "linia mea".
d) echo 'linia mea'
2. Linia echo "test"; va emite în codul sursă html în modul
următor:
a) <b>test</b>
b) Va apărea scris cuvântul text, dar literele vor fi îngroşate
c) <html><b>test</b></html>
d) <strong>test</strong>
3. Care din aceste fişiere va activa PHP Interpreter?
a) file.php
b) index.html
c) php.html
d) index.htmls
4. În cazul în care folderul root al serverului web este c:www şi
în acel folder există subfolderul site pe care se află fişierul
index.html, care va fi adresa acestui fişier (dacă domenul este
localhost)?
a) localhost/site/index.html
b) site/index.html
c) index.html
d) localhost/index.html
5. Informaţii despre sistem şi PHP se pot obţine apelând
funcţia:
a) phpInfo()
b) showInfo()

© Copyright Link group 12 / 14


Curs: Advanced PHP programming - Building Web Applications
Modul: Programarea web
Unitate: Construirea unei aplicații web

c) php()
d) showPhp()
6. Linia echo "test"; va fi emisă în browser în modul următor:
a) Va apărea scris cuvântul text, dar literele vor fi îngroşate
b) <b>test</b>
c) <html><b>test</b></html>
d) <strong>test</strong>
7. Care dintre următoarele linii este validă în PHP?
a) --echo "linia mea"
b) /echo "linia mea"
c) /#echo "linia mea"
d) //echo "linia mea"

© Copyright Link group 13 / 14


Curs: Advanced PHP programming - Building Web Applications
Modul: Programarea web
Unitate: Construirea unei aplicații web

1. Care din următoarele linii este validă în PHP?


a
2. Linia echo "test"; va emite în codul sursă html în modul
următor:
a
3. Care din aceste fişiere va activa PHP Interpreter?
a
4. În cazul în care folderul root al serverului web este c:www şi
în acel folder există subfolderul site pe care se află fişierul
index.html, care va fi adresa acestui fişier (dacă domenul este
localhost)?
a
5. Informaţii despre sistem şi PHP se pot obţine apelând
funcţia:
a
6. Linia echo "test"; va fi emisă în browser în modul următor:
a
7. Care dintre următoarele linii este validă în PHP?
d

© Copyright Link group 14 / 14

S-ar putea să vă placă și