1. Apie PHP kalbą - bendra informacija

Taigi, pasiryžote išmokti PHP? Bet pradėti gal reikia nuo to, kas tai yra per kalba. PHP kalbą 1994 metais sukūrė Rasmus Lerdorf iš Danijos, pradžioje pavadinęs ją “Personal Home Page Tools”, ir tik vėliau, išsiplėtus jos galimybėms, abreviatūros prasmė pasikeitė į “PHP Hypertext Preprocessor”, bet pačios trys raidės išliko tos pačios - PHP.

PHP pritaikymas ir populiarumas

Tai yra programavimo kalba, daugiausiai naudojama interneto projektams kurti - iš esmės, dėl to ji tokia paplitusi ir populiari. Pagal 2014 metų duomenis, W3Techs skelbia: "PHP is used by 82.0% of all the websites whose server-side programming language we know.".

Jeigu jums pažįstamos tokios turinio valdymo sistemos, kaip Wordpress, Joomla, Drupal ar e-komercijos sprendimai kaip PrestaShop, Magento, Opencart - tai žinokite, visos jos parašytos su PHP kalba. Tarp kitko, tas pats Facebook irgi naudoja PHP, tik jie nuėjo kiek kitu keliu ir pamodifikavo pačią kalbą bei sukūrė savo modifikaciją, kuri naudojama būtent jų projektui.

Tiesa, turinio valdymo sistemų rinkoje ryški lyderė pagal populiarumą yra WordPress:

Šiame grafike pirmas skaičius reiškia procentą, skaičiuojant nuo visų pasaulio tinklalapių, o antras procentas nuo visų, kurie naudoja žinomas turinio valdymo sistemas.

Įdomumo dėlei, palyginau darbų skaičių freelanceriams populiariame portale Odesk.com. Įvedus į paiešką "php", parodė 5167 rezultatus. Pagal "java" rezultatų buvo 1423, "python" - 512, "ruby" - 447. Ir tai čia turint omenyje, kad yra eilė skelbimų, kur ieškomas konkrečios PHP sistemos (pvz WordPress ar Magento) programuotojas ir "php" raktažodis skelbime net neminimas. Tai toks populiarumas ir tarp programuotojų paklausos.

Laikoma, kad PHP kalbą yra gana paprasta išmokti. Iš dalies to priežastis yra tai, kad internete yra labai daug dokumentacijos, forumų, paruoštų nemokamų PHP skriptų ir kitų resursų, tad jei norėsite išmokti - patikėkite, informacijos yra tikrai gausu, tik reikia mokėti ją surasti ir susigaudyti joje.

PHP veikimo principai

Esminis PHP parašytų programų (skriptų) veikimo principas yra tai, kad programa veikia ne jūsų kompiuteryje, o taip vadinamame web-serveryje, kur ją gali pasiekti N vartotojų iš viso pasaulio.

Principas toks:

  • Jūs įrašote naršyklėje adresą: http://www.kazkas.lt;
  • Vyksta kreipimasis į web-serverį, kuris perduoda komandą konkrečiam PHP skriptui vykdyti;
  • PHP skriptas įvykdomas ir dažniausiai grąžina tekstinį rezultatą, kuris perduodamas į naršyklę;
  • Jūs naršyklėje matote tą sugeneruotą tekstą.

Kita vertus, tas web-serveris nebūtinai turi būti kitame kompiuteryje, ir jūsų projektas nebūtinai iš karto turi turėti WWW adresą - kitoje pamokoje parodysiu, kaip visas reikalingas priemones įdiegti lokaliai jūsų kompiuteryje ir iš karto pradėti programuoti.

Ką vertėtų žinoti, mokantis PHP?

Noriu iš karto duoti vertingų patarimų, kuriuos turėkite omenyje šio kurso eigoje, kad žinotumėte, kokias žinias kur pritaikyti ateityje.

Back-end ir front-end. Šie du terminai dažnai naudojami web-projektų kūrimo pasaulyje. Nes, iš esmės, kiekvienas tinklalapis susideda iš dviejų svarbių dalių: back-end (arba kitaip "server-side") atsako už tai, kaip puslapis VEIKIA, kokios yra funkcijos ir kur saugomi duomenys, o front-end (dar kitaip "client-side") atsako už tai, kaip puslapis ATRODO - koks dizaino šablonas, kokios spalvos/stiliai, kokie vizualūs efektai ir t.t. Tai PHP atsako tik už pirmąją, serverio pusę, bet pilnaverčiam projektui sukurti vis tiek reikės ir kažkokių bent minimalių "front-end" žinių - tam reikės HTML, CSS ir galbūt JavaScript/JQuery kalbų.

PHP versijos. Jei internete sutiksite knygų ar medžiagos, pritaikytos konkrečiai PHP versijai, tai turėkite omenyje, kad dauguma kalbos konstrukcijų ir sintaksės iš šio kurso tiks bet kokiai versijai. Paskutiniai didžiuliai pokyčiai kalboje buvo nuo versijos 4 prie versijos 5, bet tai buvo dar 2004 metais. Kažkiek svarbios ir "tarpinės" versijos - dabartiniu kurso rašymo metu naujausia oficiali PHP versija yra 5.6, išleista visai neseniai, ir joje yra šiek tiek atnaujinimų nuo PHP 5.5. Bet dauguma šiuolaikinių serverių vis dar veikia su populiariausia PHP 5.4 versija. Taip pat jau anonsuota, kad PHP 6 versija bus "praleista" (dėl daugelio priežasčių) ir kita didelė versija bus PHP 7, bet kad ji bus tiksliai išleista - vis dar neaišku.

TVS'ai ir framework'ai. Kaip jau minėjau, su PHP kalba yra sukurta nemažai sistemų, kurios naudojamos realiems projektams kurti, kaip šablonai ar karkasai, kaip bepavadinsi. Bet reikia jausti vieną esminį skirtumą tarp turinio valdymo sistemos (sutrumpintai TVS arba angliškai CMS nuo "content management system") ir framework'o.
Turinio valdymo sistema tai yra diegiama programinė įranga, kuri leidžia susikurti tinklalapį visiškai neturint programavimo žinių - įdiegi sistemą "Next" -> "Next" principu, pasirenki dizaino šabloną, įkeli turinį (straipsnius, paveiksliukus ir t.t.) ir turi savo svetainę. PHP kalbos TVS pavyzdžiai: WordPress, Joomla, Drupal, ImpressPages (lietuviška sistema), Prestashop, Opencart, Magento, CMS Made Simple ir kt.
Framework'as gi yra kitkas - tai yra karkasas, kurio pagrindu programuotojas gali sukurti projektą patogiau. Framework'o tikslas - palengvinti darbą ir sutaupyti laiko programuotojams, kad nereikėtų išradinėti dviračio ir rašyti visų funkcijų nuo nulio. Framework'ų pavyzdžiai: Symfony, Laravel, CodeIgniter, Zend Framework, Cake PHP, Yii, Slim.

Tiek apie pačią kalbą, o kitoje pamokoje pasiruošime darbui - įdiegsime visus reikalingus įrankius.