PHP Flashcards
<h1>Kaj je PHP?</h1>
Kratica, kakšen jezik je, kako je tipiziran, za kaj se uporablja?
PHP - Hypertext Preprocessor je splošno namenski <b> objektno-orientiran</b> programski jezik, ki je <b>dinamično tipiziran</b>. Uporablja se za strežniške aplikacije, ki omogočajo dinamične spletne strani.
Konfiguracija se nahaja v <b>php.ini</b>
Možni zagon tudi preko <b>PHP konzole</b>
<h1>Prednosti in slabosti PHP-ja?</h1>
<b>Prednosti:</b>
-Enostavna uporaba
-Dinamično tipiziran jezik
-Sintaksa zelo podobna C-ju
-Ogromni nabor knjižnic in vgrajenih funkcij
<b>Slabosti:</b>
-Klic PHP preko CGI (zakasnitve in vmesna abstrakcija)
-Starejše verzije imajo kritične varnostne luknje
<h1>Spremenljivke?</h1>
Zapišemo <b>s predpono $</b>, tipa ni treba specificirati (dinamično tipiziran jezik)
Spremenljivke <b>imajo doseg znotraj bloka kode</b>
<h1>Osnovni tipi spremenljivk?</h1>
<b>String, Integer, Float, Boolean, Array, Object, NULL</b>
Tip se avtomatsko dodeli ob definiciji
Tip lahko preverimo z <b>var_dump(x)</b>
<h1>Globalne funkcije nad nizi (string)</h1>
<ul><li><b>strlen(niz)</b> - preverimo dolžino niza</li><li><b>str_word_count(niz)</b> - preverimo število besed v nizu</li><li><b>strrev(niz)</b> - niz obrnemo</li><li><b>strpos(niz, niz2)</b> - poiščemo pozicijo niza2 v nizu</li><li><b>str_replace(niz1, niz2, niz)</b> - v nizu zamenjamo vse nize1 z nizom2</li></ul>
<b>Konkatenacija</b> nizov preko ločila (.)
<h1>PHP in HTML?</h1>
PHP lahko enostavno <b>zapakiramo v HTML datotoke</b>, kar nam omogoča <b>dinamično spreminjanje (generiranje) HTML strani</b>
<h1>PHP in HTTP zahtevki</h1>
<b>HTTP GET in POST zahtevke</b> lahko ujamemo z <b>$_POST[‘x’] ali $_GET[‘x’]</b>
z <b>isset(x)</b> preverimo če je spremenljivka nastavljena
<h1>PHP in piškotki</h1>
Lahko jih nastavimo preko funkcije <b>setcookie(name, value, expire, path, domain, secure, httponly)</b><br></br><u>Opcijske zastavice:</u><br></br><b>secure - piškotek se uporablja le pri HTTPS</b><br></br><b>HttpOnly - piškotek ni dostopen v JS</b>
<h1>PHP in seje (SESSION)</h1>
<b>PHP seje (sessions)</b> so avtomatsko prirejanje <b>piškotka PHPSESSID</b> s čimer identificiramo enakega uporabnika
<b>Piškoted PHPSESSID ima unikatno vrednost nastavljeno s strani strežnika</b>
Zaženemo s <b>session_start()</b>
Nastavljamo <b>$_SESSION[‘x’]</b>
Brišemo z <b>session_destroy();</b>
<h1>PHP in JSON</h1>
Objekte pretvorimo v JSON in obratno preko <b>json_encode(..)</b> in <b>json_decode(niz, zastavica)</b>
Če je zastavica = true, dobimo asociativno polje (map), sicer pa objekt
<h1>PHP in XML</h1>
Lahko tudi preiskujemo <b>drevo XML elementov</b>.
Instanciramo objekt <b>DOMDocument()</b>. Klic metode določimo z puščico.
Z metodo <b>childNodes in nodeName ter nodeValue</b> preiskujemo med danimi elementi.
<h1>PHP in delo z datotekami</h1>
Za odpiranje datotek je <b>fopen()</b>.
Branje posameznih vrstic pa <b>fgets()</b>.
Lahko tudi preko file_get_contents(), kot tudi preko <b>GET zahtevka</b>
<h1>PHP nalaganje datoteke</h1>
-Najprej je treba vklopit <b>“file_uploads = On”</b> v <b>php.ini</b>
Pri nalaganju uporabimo metodo <b>POST</b> in kodiranje <b>“multipart/form-data”</b>
<h1>PHP filtri</h1>
Validiramo uporabniške vhode (email, spletni naslov…)
Funkcije:
<b>validate_domain, validate_url, validate_email, validate_ip…</b>
Lahko tudi <b>sanitiziramo</b> niz, tako da odpravimo HTML+JS značke/ukaze iz niza
<h1>PHP super-globalne spremeljivke</h1>
<u>Do njih lahko dostopamo v vseh PHP datotekah:</u><b>
$GLOBALS, $_SERVER, $_POST, $_GET, $_COOKIE, $_SESSION …</b>
Z $GLOBALS definiramo <b>globalno spremenljivko</b>
Z $SERVER dostopamo do <b>konfiguracije strežnika in parametrov HTTP zahtevka</b>,ki ga je poslal odjemalec