content top

Request-urile http – cand si de ce sa folosim GET sau POST

Request-urile http – cand si de ce sa folosim GET sau POST

M-am gandit ca ar fi momentul sa vorbim putin despre request-urile http. Desi ele nu sunt nici pe departe un subiect nou, ele au inceput sa fie folosite explicit de catre programatori numai de cativa ani.

De ce spun explicit? Pentru ca in mod implicit le folosim cu totii, de multe ori fara sa ne dam seama. Cand scriem un URL in bara de adrese a browser-ului, acesta face un request http catre server pentru a incarca pagina pe care am cerut-o. La fel, de cate ori completam un formular si apasam Submit, facem un request http catre fisierul de pe server ce proceseaza informatiile pe care i le-am dat.

Deci de unde discutia despre GET si POST? Pentru ca in modul “implicit” despre care am vorbit mai sus, si-au batut altii capul in locul nostru. Browser-ul face in mod implicit cereri prin GET, iar formularele (daca nu se specifica altceva), trimit datele prin POST. De ce sa ne mai batem capul?

Simplu. In ultimii ani, tehnologia AJAX a castigat foarte mult teren in aplicatiile web. Ea este disponibila demult, dar pana la aparitia librariilor JavaScript (jQuery, Prototype, etc.) era destul de laborioasa. Se folosea un obiect de timp XMLHttpRequest care trebuia instantiat diferit in functie de suportul oferit de diferite browsere.

Mai mult, datele odata aduse de pe server trebuiau parsate “manual” si inserate acolo unde aveam nevoie in pagina. Pe scurt, se putea dar era greoi.

Insa de cand librariile mai sus mentionate ne-au scapat de partea laborioasa a AJAX-ului noi, programatorii, putem sa ne concentram asupra partilor importante in lucrul cu aceasta tehnologie. Si pentru ca AJAX stie sa faca reuqest-uri atat prin GET cat si prin POST, ramane la latitudinea noastra sa decidem ce metoda folosim.

Astfel ca ajungem la intrebarea din titlu. Cand folosim GET si cand folosim POST; si mai ales, de ce?

Sa analizam pentru inceput numele celor doua metode. Prima se numeste GET, care ne duce de prima data cu gandul la “a aduce”. Deci metoda GET a fost gandita pentru a aduce date de pe server (cum ar fi incarcarea unei pagini in browser).

In schimb, metoda POST vine de la “a pune” sau “a trimite”. Ea este folosita atunci cand vrem sa trimitem date catre server pentru a fi prelucrate de acesta.

Bine bine, dar exista vreo diferenta intre ele? Ce ne opreste sa submitem un formular prin GET? Sau sa facem un request AJAX prin POST, chiar daca vrem numai sa aducem date de pe server? NU. Ambele requesturi vor avea efectul dorit.

Dar asta nu inseamna ca vor fi corecte. Nu uitati ca exista doua metode pentru ca ele se comporta diferit. De exemplu GET este supus cache-ingului, in timp ce POST nu. Iar metoda post ascunde parametrii trimisi din browser, pe cand GET ii va insira pe toti in bara de adresa.

Evident, AJAX-ul a fost folosit ca exemplu. Request-urile http pot fi facute prin socket-uri din PHP, sau prin alte metode proprietare folosite de diverse limbaje de programare.

Ce trebuie sa tinem minte? Desi aparent functioneaza la fel, GET si POST au fost gandite pentru scopuri diferite si ar trebui sa avem grija cum folosim flexibilitatea de alege intre cele doua metode.

Read More

CodeIgniter TV ajunge in beta

CodeIgniter TV ajunge in beta

In urma cu nu prea mult timp, va spuneam despre o initiativa care m-a bucurat foarte tare la vremea respectiva. CodeIgniter TV era la acel moment doar o idee buna.

O echipa de programatori s-a gandit sa puna la dispozitie o serie de tutoriale video despre CodeIgniter pentru incepatori si nu numai. Iata ca acum, acea idee buna s-a transformat in realitate.

CodeIgniter TV a ajuns in Public Beta si are deja 3 tutoriale publicate. Le gasiti in sectiunea Videos a site-ului. Si ca sa vedeti ca au planuri marete, deja in sectiunea video, troneaza un filtru care va va ajuta sa gasiti ce va intereseaza in multitudinea de tutoriale care vor “aglomera” site-ul in curand.

Si ca sa vedeti ca baietii chiar vor sa ajute comunitatea, site-ul beneficiaza si de o sectiune Requests, in care puteti sa cereti un tutorial despre un subiect anume (atat timp cat are legatura cu CodeIgniter, bineinteles). Eu am trimis un request inca din faza de pre-beta, dar nu va spun inca despre ce e vorba.

Poate apare in curand si va anunt intr-un articol.

Read More

CodeIgniter TV – o intiativa excelenta pentru incepatori si nu numai

CodeIgniter TV – o intiativa excelenta pentru incepatori si nu numai

Am aflat azi de pe Twitter ca se pregateste un proiect foarte util, sub numele de CodeIgniter TV.

Desi numele este cat se poate de sugestiv, am sa explic in cateva cuvinte ce inseamna acest lucru. Echipa din spatele proiectului isi propune sa prezinte tutoriale video de 10 pana la 15 minute care se concentreaza pe realizarea unui singur task.

Desi nu este o initiativa Ellis Lab, ma bucur ca exista un astfel de proiect in desfasurare, mai ales ca Adobe (de exemplu) a inteles de foarte mult timp utilitatea unui astfel de site (vezi tv.adobe.com).

Am descoperit din proprie exeperienta, ca vazand astfel de tutoriale video (chiar si pe teme pe care le cunosti), poti afla lucruri “colaterale” pe care nu le stiai. Si intr-un framework atat de versatil si dinamic, asa cum este CodeIgniter, sunt convins ca vor exista mereu lucruri de vazut.

Se pare ca in acest moment nu exista continut, dar daca mergeti la codeigniter.tv puteti sa le lasati datele de contact si ei promit ca va vor anunta cand sunt gata.

Eu le-am lasat deja si astept cu nerabdare aparitia primelor episoade.

Read More

Array-uri in ColdFusion

Array-uri in ColdFusion

M-am gandit ca ar fi cazul sa tratez un subiect ceva mai delicat decat ar putea parea la prima vedere. Va spuneam la un moment dat, ca in ColdFusion unele lucururi au fost implementate putin diferit fata de metodele conventionale.

Unul din aceste lucruri este obiectul Array(). Vom vedea pe parcursul articolului ce trebuie sa stim atunci cand folosim array-urile in ColdFusion.

Este vorba despre index-ul implicit al array-ului. Ce inseamna asta? In cea mai mare parte a limbajelor de programare, array-urile incep cu index zero. Sa luam un exemplu in PHP:

<?php

$arrVar = array();

$arrVar[0] = "Item One";
$arrVar[0] = "Item Two";

echo"<pre>";
print_r($arrVar);
exit;

?>

Codul de mai sus va avea urmatorul rezultat in browser:

Array
(
    [0] => Item One
    [1] => Item Two
)

Dupa cum se poate vedea, atunci cand nu se specifica niciun index, array-ul porneste de la zero.

Iata ca in ColdFusion lucrurile nu se mai intampla asa. Acelasi cod transpus in ColdFusion, va arata asa:

<cfset arrVar = ArrayNew(1) />

<cfset ArrayAppend(arrVar, "Item Unu") />
<cfset ArrayAppend(arrVar, "Item Doi") />
<cfset ArrayAppend(arrVar, "Item Trei") />

<cfdump var=#arrVar# />

Iar rezultatul ar arata asa:

Dupa cum vedeti, aici array-urile pleaca implicit de la index-ul unu. Mai mult, daca incercati sa faceti referinta la arrVar[0], nu veti putea. Acest index nu exista.

Aceasta ar fi pe scurt povestea lucrului cu array-uri in ColdFusion. Tineti cont de ce v-am spus si nu va lasati atrasi in capcana obisnuintei din alte limbaje.

Read More

Concurs – castiga o carte de PHP de la libris.ro

Concurs – castiga o carte de PHP de la libris.ro

Va spuneam in urma cu ceva vreme, ca am inceput o colaborare cu libris.ro. Eu sunt prins cu cartile pe care pe care deja le-am primit, asa ca m-am gandit ca ar fi momentul sa dau un cadou unuia dintre cititorii mei. Si pentru ca partenerul meu este o librarie online, ce altceva puteam sa pun la bataie, decat o carte.

In ultima vreme, am fost intrebat de mai multe persoane de unde ar putea sa inceapa sa invete PHP? Pentru cei ce nu ma stiu, eu sunt puternic infipt in era digitala. Daca-mi dai de ales intre a citi si a privi un tutorial video, aleg clar tutorialul video.

Cu toate astea, de cand am inceput sa citesc cartea de Algoritmi Fundamentali in Java, mi-am dat seama cat este de important sa ai in fata o pagina tiparita pe care sa poti sa studiezi o bucata de cod pana intelegi ce se intampla acolo. Da, poti sa dai pauza si la un tutorial video, dar nu faci asta; esti prins in ceea ce vezi acolo, vrei sa afli ce face mai departe.

Pe scurt, au si cartile rolul lor. De aceea pun la bataie cartea Initiere in PHP 5 scrisa de Steven Holzner. Astfel, cei care vor sa invete un limbaj de programare web, dar nu stiu de unde sa inceapa vor avea un punct de plecare foarte bun.

Mai mult, cartea nu se adreseaza numai neinitiatilor. Cei care lucreaza de putin timp cu PHP s-ar putea sa o gaseasca foarte utila.

Ce trebuie sa faceti pentru ca castiga? Lasati un comentariu (sau un link/trackback daca va simtiti inspirati) in care sa-mi spuneti de ce va doriti cartea.

Castigatorul nu va fi ales prin tragere la sorti, ci prin “jurizare” din partea mea, asa ca nu e suficient sa spuneti “vreau cartea”.

Nu trebuie sa fie neaparat o poveste care sa ma impresioneze pana la lacrimi. Vreau sa aflu ce va motiveaza sa invatati PHP.

Concursul incepe din momentul in care a fost publicat articolul si se va terminta Vineri 8 Iulie 2011. Imi rezerv dreptul de a anunta castigatorul intr-un articol publicat Luni, dupa finalizarea concursului. De asemenea, va rog sa folositi o adresa de email reala pentru comentariu, pentru ca aceea va fi modalitatea de contactare a castigatorului.

Spor la comentat si mult succes.

Read More
content top
  • RSS
  • Twitter
  • Tumblr
  • Facebook