-
Ca sa faci o aplicatie web in general ai nevoie de o baza de date. La scoala in general invatam ca “baza de date este administrata de administratorul bazei de date”. Teoretic asa ar trebui sa se intample, practic… ajungem sa ne facem singuri bazele de date de cele mai multe ori.
PHP este folosit in general cu un SGBD (Sistem de Gestiune al Bazelor de Date), de obicei aceasta este MySQL. Atunci cand o aplicatie incepe sa mearga greu in general se cauta metode de optimizare incepand de la reducerea sau inlocuirea functiilor lente (de exemplu echo este mai rapida ca print sau nl2br($text) este mai rapida ca str_replace(“\r\n”,”
”,$text)) pana la reducerea numarului de cereri http (in loc de mai multe fisiere css se foloseste unul singur). Totusi un mod foarte simplu pe care foarte multi nu il iau in calcul este acela de a adauga un index pe tabela.Index-ul se adauga pe un camp pe care se fac sortari sau se pun conditii. Avantajul major este in momentul cand se extragi datele. Dezavantajul este atunci cand se introduc datele. Pe o tabela unde se fac modificari frecvent poate sa fie discutabila nevoia de un index, depinde de raportul de select-uri vs. insert-uri.
Cum se adauga un index:
1ALTER TABLE tabela SET INDEX(camp);
Chiar zilele trecute aveam o interogate destul de greoaie pe mai multe tabele si nu intelegeam cum poate totusi sa mearga atat de greu. Am adaugat un index pe criteriul de filtrare si unul pe cel de ordonare iar in mai putin de 5 minute totul a devenit mult mai rapid, a devenit de 3 ori mai rapida interogarea (si nu am decat 2000 de inregistrari)!
Poate cateva milisecunde in plus nu par mare lucru, dar luati in calcul cateva zeci sau chiar sute de interogari pe o singura pagina, inmultiti cu numarul utilizatoriilor care acceseaza pagina simultan si… nu o sa mai apara atat de putin.
-
-
Dupa ce am sustinut cu ceva timp in urma examenul de certificare ZCE in PHP5, intr-un final a venit si plicul cartonat care il asptetam cu atata nerabdare.
O data cu plicul am descoperit si de ce a durat atat, pe el scria mare Russian Federation, Bucharest. Pe aproape dar nu tocmai bine.
Diploma e foarte draguta (mai ales dupa ce am asteptat-o atat), cu timbru embosat si semnaturile lui Zeev Suraski si Andi Gutmans, fondatorii Zend. In plic mai era si o pagina cu avantajele care le ai ca ZCE si un abtipild maricel cu ZCE PHP5.
Cu acestea fiind spus episodul ZCE PHP5 ia sfarsit… pana la urmatoarea certificare.
-
Trimiterea variabilelor GET este simpla, doar pui variabila in coada paginii ex: www.domeniu.ro?foo=bar. Dar cand vine vorba de variabile de tip POST treburile nu mai sunt usoare.
Din fericire PHP are o solutie pentru cam tot ce este nevoie, in acest caz cURL.
Problema: am nevoie sa trimit niste variabile POST catre un formular undeva pe net alaturi de un fisier, apoi trebuie sa prelucrez raspunsul.
Solutie:
-
avem nevoie sa ne asiguram ca extensia cURL este instalata, daca nu este instalata trebuie sa o instalam (mai multe detalii in manual).
-
trebuie sa stabilim ce variabile trebuie sa trimitem, sa luam ca exemplu variabilele “fisier” si “test”.
-
sa inceapa treaba:
1//calea catre fisier 2$file = "c:\htdocs\www\fisier.jpg"; 3 4// variabilele care le vom trimite 5$data = array("fisier" => "@$file", 6 "test"=>"valoare"); 7 8// se deschide o noua sesiune cURL 9$c = curl_init(); 10 11// destinatia unde este prelucrat formularul 12curl_setopt($c, CURLOPT_URL, 'http://www.domeniu.ro/fisier-prelucrare.php'); 13 14// metoda de trimitere a datelor 15curl_setopt($c, CURLOPT_POST, true); 16 17// datele de tip POST care se vor trimite 18curl_setopt($c, CURLOPT_POSTFIELDS, $data); 19 20// setare pentru ca rezultatul trimiterii sa fie intors intr-o variabila 21curl_setopt($c, CURLOPT_RETURNTRANSFER, true); 22 23// aici se trimit efectiv datele 24$rezultat = curl_exec ($c); 25 26// se inchide sesiunea cURL 27curl_close ($c); 28 29// rezultatul trimiterii (ce va afisa pagina respectiva) se afisaza pe ecran 30echo $rezultat;
La final se va afisa rezultatul transmis de pagina spre care au fost trimis datele.
Asta e tot, simplu nu?
-
-
Traim intr-o lume inconjurati de medii de programare. Incepand de la Adobe Dreamweaver si Eclipse pana la notepad fiecare din noi foloseste un mediu de programare, un IDE (Integrated development environment) sau pe romaneste “mediu integrat de dezvoltare”.
Fiecare firma si individ are preferintele lui in functie de limbaj, costuri, complexitate etc. Probabil cel mai folosit din punctul de vedere al webdesig-nerilor este Adobe Dreamweaver, ba chiar acesta este preferat si de foarte multi programatori. Eu personal am testat Zend Studio for Eclipse varianta trial si pot spune ca sunt impresionat, cand vine vorba de programare in PHP este un mediu complet utilat, dar nu voi intra in mai multe detalii.
Cu toate ca lumea este plina de IDE-uri, atat cu licente platite cat si open-source multe firma prefera varianta notepad sau chiar am intalnit la o firma editate folosind MC (Midnight Commander, foarte similar cu Windows commander dar pentru linux). Motivele sunt simple de cele mai multe ori, bani, obisnuinta, licenta incompatibila sau chiar lipsa de interes.
Eu unul pur si simplu nu pot sa-i inteleg pe cei care fac aceste alergeri, ok eu nu sunt designer si nici nu pretind ca sunt sub nici o forma dar fara un mediu cu WYSIWYG (What You See Is What You Get) ma simt terminat. Un mediu vizual poate sa creasca productivitatea considerabil si sa scada numarul de erori intr-un site, intr-un cuvand este o investitie nu o cheltuiala si ar trebui perceputa ca atare. Pentru mine sunt trei lucruri esentiale intr-un IDE: 1 sa aiba un editor WYSIWYG, 2 sa aiba autocomplete (nu pentru ca nu stiu sintaxa, dar ma ajuta sa scriu cod mult mai repede si mai corect), 3 sa aiba suport FTP ca sa pot lucra direct pe server. Daca tu nu folosesti asa ceva ar trebui sa te gandesti serios la asta, iar daca seful tau nu se gandeste la asta ar trebui sa te gandesti serios la care sunt prioritatile lui!
Concluzia, alege bine mediul de programare pentru ca el va determina cat de repede si bine vei lucra in continuare.