CATEGORII DOCUMENTE |
Bulgara | Ceha slovaca | Croata | Engleza | Estona | Finlandeza | Franceza |
Germana | Italiana | Letona | Lituaniana | Maghiara | Olandeza | Poloneza |
Sarba | Slovena | Spaniola | Suedeza | Turca | Ucraineana |
DOCUMENTE SIMILARE |
|
Programmēanas valoda PHP
Referats kursa Programmēanas valodas
Vēsture
Par PHP
PHP (Hypertext Preprocessor) ir atvērta koda servera puses skriptu valoda, kas pamata domata dinamisku Interneta lapu veidoanai. Tas var tikt uzskatīts par alternatīvu Microsofta ASP/VBScript/Jscript tehnoloģijam, Sun Microsystems JSP/Java un CGI/Perl tehnoloģijai.
Tomēr PHP ir vairak ka skriptu valoda. To var izmantot arī GUI aplikaciju izveidē ka arī palaist no komandrindas ka Perl vai Python.
PHP koda apstrade notiek servera pusē. Tas ir, kad lietotajs atver Interneta lapu, tiek nosūtīts pieprasījums serverim, serveris apstrada pieprasījumu- sameklē vajadzīgo HTML dokumentu, izpilda PHP kodu un nosūta rezultatu lietotaja parlūkprogrammai. Japiebilst, ka ar to PHP valoda atķiras no citas popularas skriptu valodas- JavaScript, kas savukart tiek pildīta klienta pusē. Pozitīva iezīme koda izpildīanai servera pusē ir tada, ka skripts noteikti izpildīsies (ja vien dotaja brīdī nav problēmas ar pau Web serveri). Savukart, ja skripts izpildas klienta pusē, lietotajs var sava parlūkprogramma atslēgt skriptu izpildes iespēju. Piemēram, ir Interneta lapa, kas satur lejupladēanai pieejamus rakstus, bet lai saņemtu rakstu, lietotajam vispirms ir japiereģistrējas, aizpildot formu ar detalizētu informaciju par sevi. Pēc formas aizpildīanas notiek parbaude, vai visi lauki ir aizpildīti. Ja parbaudi veic JavaScript valoda rakstīts skripts, bet ta izpilde parlūkprogrammai ir atslēgta, lietotajs tadējadi var nosūtīt tukus laukus un saņemt pieeju rakstiem, neaizpildījis formu.
Ta ka PHP ir servera puses valoda, tad vajadzīgs attiecīgs web serveris, uz ka skripti varētu izpildīties. Izplatītakais savienojums ir PHP un Apache web serveris. Lai gan tas nebūt nav vienīgais serveris, ar ko PHP ir savietojams. PHP mijiedarbojas arī ar tadiem web serveriem ka Microsoft IIS un Netscape Enterprise Server.
PHP ir platformneatkarīga valoda. To var darbinat gan Windows operētajsistēma, gan uz daudzam Unix versijam un Mac OS X.
Visbieak PHP tiek lietots kopa ar MySQL relaciju datu bazi. Vēl tas ir savienojams ar Oracle, MS SQL, PostgreSQL, DB2 utt.
PHP priekrocības:
· Nav jarūpējas par izdalītas atmiņas atbrīvoanu, nav jaaizver fails pēc darboanas ar to. To izdarīs interpretators.
· Nav jadoma par mainīgo tipiem un pirms mainīga izmantoanas tas nav jadeklarē.
· Nav nepiecieams atkļūdotajs(debugger). Par kļūdam koda paziņo interpretators pēc skripta nodoanas serverim izpildei.
PHP bibliotēkas
PHP ir pieejams liels skaits brīvo, atvērta koda bibliotēku, kas nak līdzi pamatinstalacija un nav papildus jainstalē. Ta ka PHP pamata ir domats Web aplikaciju veidoanai, tad tam ir iebūvēti moduļi FTP serveru pieejai, sadarbībai ar datu bazēm, LDAP serveriem un daudz kas cits. Ka arī ir pieejamas daudzas valoda C esoas funkcijas ka printf() un strstr().
Bez iebūvētajam bibliotēkam ir pieejami arī papildus pieinstalējami paplainajumi ka atbalsts Windows API, XML dokumentu parsēana, PDF dokumentu ģenerēana procesu parvalde Linux operētajsistēma utt.
PHP iekļauana HTML
PHP kods ir tiea veida iekļaujams HTML koda. Nav nepiecieamības pēc īpaas izstrades vides vai IDE(integrated development environment- programmatūra, kas domata vienai specifiskai vai vairakam programmēanas valodam un sastav no teksta editora, kompilatora, interpretatora, atkļūdotaja, piemēram MS Visual Studio). PHP koda bloks rakstams starp <? un ?> birkam.
ads iekļauanas veids ir visizplatītakais veids, taču ja vienlaicīgi tiek stradats ar PHP un valodu XML, kas arī lieto adas birkas, tada situacija var rasties problēmas un ir ieteicams konfiguracijas faila php.ini izslēgt adu PHP koda iekļauanas veidu. Citi veidi, ka iekļaut PHP kodu, ir izmantojot <?php ?> iezīmes vai <script language='php'></script>. PHP var sakonfigurēt ASP stila birku lietoanai <% %>. PHP interpretators apstradas kodu, kas atradīsies starp adam birkam.
<html>
<head><title> <? echo $nosauk; ?></title></head>
<body> <? echo Programmēanas valodas;?></body>
</html>
adi HTML dokumenta nosaukuma tiks ierakstīta mainīga nosauk vērtība, bet body daļa tiks izdrukats teksts- Programmēanas valodas. echo ir standarta komanda datu izvadei uz ekrana.
PHP koda bloka var iekļaut ne tikai vienu, bet arī vairakas komandas.
<?
echo $nosauk;
echo Programmēanas valodas;
?>
HTML kodu un PHP var sava starpa kombinēt. Sekojoaja piemēra, ja mainīgais a ir ar patiesumvērtību true, uz ekrana tiks izvadīts teksts pirmdiena, pretēja gadījuma teksts- otrdiena.
<? if ($a == true) ?>
<p>pirmdiena</p>
<? else ?>
<p>otrdiena</p>
Kad HTML faila ir ievietots PHP koda gabals, fails ir uzskatams par PHP skriptu un failam noteikti janorada paplainajums .php vai kads cits, atkarība no ta, ka ir noradīts web servera konfiguracijas faila, ka konkrētais web serveris identificē PHP failus.
Komentari
PHP iespējami 3 komentēanas veidi:
· /* vairaku rindu komentars */
· // vienas rindas komentars
· # vienas rindas komentars
Mainīgie
Lai mainīgos varētu vienkarak atķirt no parējas koda daļas, visi mainīgo vardi sakas ar zīmi $. Nosaukums drīkst sastavēt tikai no latīņu alfabēta simboliem, cipariem un _. Mainīgo vardi ir reģistra jūtīgi, tas nozīmē, ka $a un $A ir divi daadi mainīgie. Uz mainīgo garumu nepastav nekadi ierobeojumi ka tas ir daas citas programmēanas valodas. Tapat arī atķirība no citam valodam, PHP valoda mainīgie nav obligati jadeklarē, to izdarīs pats PHP interpretators brīdī, kad mainīgais tiek pirmo reizi sastapts koda izpildes laika. Bet, ja mainīgais tomēr tiek deklarēts, to var darīt jebkura vieta programma, bet pirms tas tiek pirmo reizi izmantots.
Datu tipi
PHP uztur vienkaros datu tipus:
· veselie skaitļi (integer)
· decimaldaļskaitļi (float, double)
· simbolu virknes (string)
· patiesumvērtības (boolean)
un saliktos datu tipus:
· masīvi
· objekti
Veselie skaitļi ir robeas no -2,147,483,648 līdz +2,147,483,647. Ja skaitlis parsniedz o robeu, PHP to automatiski parveidos par decimaldaļskaitli. Integer tipa skaitļus var pierakstīt ne tikai decimalaja forma, bet arī heksadecimalaja un oktalaja.
$skaitlis = 25
$skaitlis = 031; //skaitlis 25 pie bazes 8
$skaitlis = 0x19; //skaitlis 25 pie bazes 16
Decimaldaļskaitļi (peldoa punkta skaitļi)- robeas no 1.7E-308 līdz 1.7E+308. Pierakstami parastaja pieraksta un eksponentu formata.
$skaitlis = 1.234
$skaitlis = 1.2e3
Simbolu virknes tiek definētas izmantojot vienkaras pēdiņas() vai dubultas pēdiņas(). Atķirība o divu pēdiņu lietojuma ir sekojoa- virknēs, kas atdalītas ar dubultajam pēdiņam, notiks mainīgo aizvietoana ar to vērtībam, bet ja tiek lietotas vienkaras- aizvietoana nenotiks. Piemēram:
$k1 = Programmēanas;
$k2 = valodas;
$kurss = $k1 $k2;
$kurss2 = $k1 $k2;
Mainīgais $kurss saturēs tekstu Programmēanas valodas, bet mainīgaja $kurss2 aizvietoana nebūs notikusi un ta vērtība būs $k1 $k2.
Ja mainīgais tiek definēts ar dubultajam pēdiņam, un tam tiek pieķirta vērtība, kura arī ir dubultas pēdiņas, tad, lai interpretators pareizi saprastu, kur sakas un beidzas pieķirama simbolu virkne, iekējam pēdiņam prieka jaliek izvairīanas simbols (escape character)
Piemēram:
echo SIA Zvaigzne ABC;
izdrukas SIA Zvaigzne ABC.
Vēl viens veids ka mainīgajam pieķirt simbolu virkni, ir izmantojot heredoc sintaksi. Priekrocība ir tada, ka nav jadoma, kuras pēdiņas labak lietot konkrēta gadījuma, ka arī nav jalieto izvairīanas simboli.
$str = <<<EOD
apgada Zvaigzne ABC
nopērkama jaunaka macību literatūra
EOD;
Boolean mainīgie ir ar divam iespējamam vērtībam- true un false
Masīvi satur vairakas vērtības, kur katrai no tam piekartots indekss. Indekss var gan skaitlis, gan simbolu virkne. Ja masīvu indeksē ar simbolu virknēm, tos sauc par asociatīvajiem masīviem.
Divu elementu masīvs:
$mas[0] = students;
$mas[1] = pasniedzējs;
Elementa pievienoana masīva beigas:
$mas[] = rektors;
Ja elementu pievieno adi, nenoradot indeksu, tam tiks pieķirts indekss, kas ir nakoais aiz maksimala no masīva esoajiem indeksiem.
Viena masīva var lietot gan skaitliskus, gan simbolu virkņu indeksus.
Otrs veids, ka veidot masīvus, ir izmantojot konstrukciju array().
$mas = array(); - tuks masīvs
$mas = array(students, pasniedzējs); -divu elementu masīvs.
Array() ir ērti lietot, ja javeido vairakdimensiju masīvi.
$mas = array (
Algebra = array(nosauk=>Algebra,pasniedzējs=>Detlovs),
Oracle = array(nosauk=>Oracle, pasniedzējs=>Niedrītis));
Piekļūana ada masīva elementiem- $mas[Algebra][pasniedzējs].
Ja masīvs ir ļoti liels, var būt nepiecieamība darba beigas to iznīcinat. To var izadrīt ar funkciju UnSet().
Masīvus iespējams apvienot viena, izmantojot array_merge() funkciju.
$A = array(1, 2, 3);
$B = array( 5, 6);
$C = array_merge($A, $B); //rezultata $C = array(1, 2, 3, 5, 6)
Viendimensiju masīva apstaigaanas veids:
foreach($array as $key=>$value)
Masīva kartoanai PHP ir daudz daadu funkcijas. Svarīgakas no tam:
· asort(), arsort()- kartoana pēc elementu nosaukuma augoa un dilstoa secība
· ksort(), krsort()- kartoana pēc indeksa.
·
sort()- kartoana pēc nosaukuma,
parraujot saiti starp elementa indeksu un vērtību. Tas ir,
parrakstot masīvu $mas = array(vards, adrese, e-pasts);
izskata indekss->vērtība, tas izskatīsies adi:
0
->vards
1 ->adrese
2 -> e-pasts
izpildot sort($mas), saistība starp indeksu un
vērtību zūd:
0
->adrese
1 -> e-pasts
2 -> vards
Operatori
Aritmētiskie: + - * / %(atlikums)
Simbolu: . (simbolu savienoana/konkatenacija)
Loģiskie:
· $a ||$b (OR)
· $a or $b (OR)
· $a && $b (And)
· $a and $b (And)
· $a xor $b (XOR) (True- ja $a vai $b ir patiess, bet ne abi)
· !$a (Not)
Salīdzinaana: >, < >=, <= , == (vienadība), != (nevienadība)
Kontroles struktūras
PHP kontroles struktūras ir ļoti līdzīgas valodas C konstrukcijam. Tas var pierakstīt divos veidos- izmantojot C sintaksi un ar atdalot komandu bloku vai izmantojot Perl sintaksi, lietojot beigas nobeiguma komandu.
Nosacījuma operators
C sintakse:
if (loģiskais nosac)
else
Perl sintakse:
if (loģiskais nosac):
operators1;
operators2;
else:
operators_n-1;
operators_n
endif;
Pastav arī if konstrukcijas īsais pieraksts, kas lietojams, ja atkarība no loģiska nosacījuma vērtības vienam mainīgajam japieķir vērtība:
$var = (nosac ? vertiba1 : vertiba2)
Tas nozīmē, ka $var vērtība būs vertiba1, ja nosac izpildīsies, bet vertiba2, ja nosac neizpildīsies. Piemēram:
$var = ($a ==1 ? 1 : 2);
switch-case
switch(izteiksme)
switch(izteiksme):
case vērtība1:
komanda1; break;
case vērtība2:
komanda2; break;
default: komandaN; break;
endswitch;
Case vērtības tiek salīdzinatas ar switch izteiksmes vērtību. Ja tas sakrīt, izpildas komandas aiz attiecīgas case iezīmes. Ar break iziet no switch kontroles struktūras, lai pēc tam, kad ir atrasta case vērtība un izpildīta komanda, nenotiktu parējas salīdzinaanas. Default iezīmes komandas izpildas, ja neviena no case vērtībam nav sakritusi ar switch izteiksmi.
while cikls
while (nosac)
while(nosac):
komandas
endwhile
Ja komandu bloka ir tikai viena komanda, var nerakstīt. Ciklu konstrukcijas pieejamas īpaas komandas- break un continue. Ar break iespējams jebkura brīdī iziet no cikla. Savukart continue partrauks cikla ķermeņa komandu izpildi un saks pildīt nakamo iteraciju no sakuma.
do while cikls
ī konstrukcija ir analoga citu programmēanas valodu konstrukcijai repeat until. Atķirība no while konstrukcijas eit nosacījums tiek parbaudīts pēc tam, kad izpildīts cikla ķermenis.
do while(nosac);
do:
komandas
while(nosac);
for cikls
for(izteiksme; nosac izteiksme; izteiksme )
for(izteiksme; nosac izteiksme; izteiksme):
komandas
endfor;
Pirma izteiksme pieķir cikla skaitītajam sakuma vērtību, otrais ir nosacījums, kas tiek parbaudīts katra iteracija, trea izteiksme pēc cikla izpildes palielina cikla skaitītaju.
foreach cikls
Kontroles struktūra, kas paredzēta masīva apstaigaanai. Atbalsta PHP sakot no 4 versijas.
foreach (array as $key=>$ value)
Katra iteracija tiks izpildītas cikla ķermeņa komandas un mainīgais $key saturēs indeksa nosaukumu, bet $value katra masīva elementa vērtību.
Funkcijas
PHP piedava lielu iebūvēto funkciju klastu, ka arī ļauj lietotajam paam definēt funkcijas.
Funkciju definīcijam nav paredzēta noteikta vieta PHP programma, tas var tikt definētas jebkura vieta pirms to izmantoanas <? ?> ietvaros.
function nosaukums(arg1[=vērtība],, argn[=vērtība])
Funkcijas deklaracija sakas ar atslēgas vardu function, tad seko tas nosaukums, kas nedrīkst sakrist ar kadu no iebūvēto funkciju nosaukumiem, pretēja gadījuma būs paziņojums par kļūdu. Pēc nosaukuma- argumentu saraksts iekļauts () un funkcijas ķermenis, kas iekļauts figūriekavas. Ja funkcijai nav nepiecieami no arpuses padoti argumenti, tad () paliek tukas.
Funkcijas nosaukums nav reģistra jūtīgs, tas ir, F() un f() ir viena un ta pati funkcija.
Lai nodotu funkcijas izpildes rezultatu izsaucoajai programmai jalieto komanda return. Ja funkcija neko neatgrie, tad return tas deklaracija nenorada.
Ja funkcija ir definēta ar diviem parametriem, kas tai padodami no arpuses, tad, to izsaucot, japadod abi parametri. Funkciju var definēt arī ar neobligatiem parametriem, funkcijas definīcija noradot parametra noklusēto vērtību.
Function atzīme($a=10)
Argumentu padoana
Argumentus funkcijai var padot pēc vērtības vai pēc norades. Arguments, kas padots pēc vērtības, funkcijai ir pieejams tikai priek lasīanas, tas ir, funkcija var to izmantot, bet ne vairak. Padotajam parametram veiktas izmaiņas nebūs redzamas arpus definētas funkcijas. Piemēram:
function f($s)
$main = 1;
f($main);
echo $main;
Izsaucot funkciju, parametram $s tiek pieķirta vērtība 1. funkcija tiek izpildīts pieķiranas operators un $s maina vērtību, bet tas nemaina $main vērtību arpus funkcijas.
function f(&$s)
$main = 1;
f($main);
echo $main;
Savukart adi nododot argumentu pēc norades, $main vērtība būs 15.
Globalie un lokalie mainīgie
Lokalie mainīgie ir pieejami tikai funkcijai, globalie visai programmai koda izpildes laika. Lai piekļūtu globalajam mainīgajam no funkcijas, funkcija tas ir janorada mainīgajam prieka uzrakstot atslēgas vardu global.
function f()
$i = 5;
f();
ada funkcija izdrukas 5. Ja nebūtu noradīts atslēgas vards global, tiktu izdots kļūdas paziņojums.
Globalo mainīgo piekļūanai no funkcijas var izmantot PHP iebūvēto globalo masīvu $GLOBAL.
function f()
$i = 5;
f();
Superglobalie masīvi
Saņemot datus HTTP pieprasījuma (no formas, web servera utt.), tiem automatiski tiek izveidoti mainīgie, kas tiek ievietoti vai nu globalaja simbolu tabula vai kada no superglobalajiem jeb autoglobalajiem masīviem atkarība no php.ini konfiguracijas faila uzstadītas PHP direktīvas register_globals. Superglobalie masīvi ir iebūvēti masīvi, lietotajam tos nav iespējams definēt.
Droības apsvērumu dēļ no PHP 4.2.0 versijas register_globals noklusēta vērtība ir off un to mainīt nav ieteicams. Pie register_globals = off mainīgie, kas līdz im tika glabati globalaja apgabala, tagad glabajas attiecīgaja superglobalaja masīva. Piemēram, lai no URL https://www.tvnet.lv/index.php?id=2 dabūtu mainīgo $id, pie ta javēras ar $_GET[id] nevis vienkari $id.
Superglobalie masīvi:
$GLOBALS- satur visus programmas globalos mainīgos. Masīva indeksi ir globalo mainīgo vardi.
$_SERVER- mainīgie, kurus uzstada web serveris. Parasti taja glabajas tada informacija ka HTTP_HOST, DOCUMENT_ROOT, REMOTE_ADDR utt.
$_GET- mainīgie, kas saņemti ar GET metodi. Parasti tie URLa padotie mainīgie. Piemēram, https://www.tvnet.lv/index.php?id=2&page=3 uzstada $_GET[id] un $_GET[page] mainīgos.
$_POST- parasti tie ir mainīgie, kas nosūtīti no HTML formas, izmantojot datu nosūtīanas metodi POST.
$_COOKIE- cookies, ko parlūkprogramma atsūta līdz ar pieprasījumu.
$_ENV- vides mainīgie, kas uzstadīti, kad tiek startēts web serveris.
$_REQUEST- masīvs, kas apvieno sevī $_GET, $_POST un $_COOKIE mainīgos.
$_SESSION- pareizējas sesijas mainīgie.
$_FILES- augupladējot failu, visa informacija par to tiks ierakstīta aja masīva. Tas ir divdimensiju masīvs un katrs ieraksts satur faila nosaukumu, tipu, izmēru, īslaicīga faila(temporary) vardu, kura augupladējamais fails noglabats uz servera, un kļūdas kodu.
Vienkara forma failu augupladēanai:
<form enctype='multipart/form-data' action='_URL_' method='post'>
Fails: <input name='file' type='file' />
<input type='submit' value='Pievienot' />
</form>
Vēranas pie $_FILES masīva ierakstiem:
$_FILES[file][name] faila vards
$_FILES[file][type] faila tips
$_FILES[file][size] faila izmērs
$_FILES[file][tmp_name] temporary vards
$_FILES[file][error] kļūdas kods
PHP versijas, kas ir jaunakas par 4.1.0, eksistē adi iem masīviem līdzvērtīgi masīvi, $HTTP_SERVER_VARS, $HTTP_GET_VARS, $HTTP_POST_VARS , $HTTP_COOKIE_VARS, $HTTP_POST_FILES, $HTTP_ENV_VARS. Sakot no 4.1.0 versijas pastav gan adi garo nosaukumu masīvi un arī īso, tomēr ieteicams ir izmantot īsos nosaukumus.
PHP funkcijas darbam ar MySQL datu bazi
mysql_connect([$hostname, $user, $password]) ir pamatfunkcija, kas izveido savienojumu ar datu bazi, veicot autorizaciju ar noradīto lietotaja vardu un paroli. Ka hostname parasti tiek noradīts localhost. Funkcija atgrie konekcijas id.
mysql_close($id)- savienojuma slēgana. Ka parametrs janorada savienojuma identifikators. Savienojumu slēgana nav obligata, pēc PHP skripta izpildes, tie tiks aizvērti automatiski.
mysql_select_db($db, [$id])- datu bazes izvēle, ar ko stradas skripts. Ja atvērts tikai viens savienojums, savienojuma id var nenoradīt.
mysql_query()- pieprasījuma izpilde.
Ja pieprasījums ir veiksmīgi izpildījies, ir atgriezti ieraksti, kurus var apstradat sekojoam funkcijam:
mysqli_fetch_array()- ielasa tekoo ierakstu asociatīvaja masīva, kura indeksi ir ieraksta lauku nosaukumi.
mysqli_fetch_row()- ielasa tekoo ierakstu viena simbolu virknē.
mysqli_fetch_object()- tekoo ierakstu ielasa objekta.
mysqli_num_rows()- pieprasījuma atgriezto ierakstu skaits.
Katrs mysqli_fetch_array(), mysqli_fetch_row(), mysqli_fetch_object() izsaukums parvieto pieprasījuma noradi uz nakoo pozīciju un saņem nakoo ierakstu. Ja ierakstu vairak nav, tiek atgriezts False.
Piemērs:
$rs=mysql_query(select distinct(nosauk) from kategorija);
while ($data= mysqli_fetch_object($rs))
echo $data->nosauk;
Tabula kategorija ir lauks nosauk. SQL pieprasijums atgrie daados kategoriju nosaukumus. Ar mysql_query tiek izpildīts pieprasījums, pēc tam while cikla apstaiga atgrieztos rezultatus, ielasot katru ierakstu datu objekta un izvadot uz ekrana kategoriju nosaukumus.
Ja SQL pieprasījums ir uzrakstīts kļūdaini vai nav iespējams pieslēgties pie noradītas datu bazes, tad, lai zinatu kadu iemeslu dēļ skripts nav izpildījies, var izmantot funkciju mysql_error(), kas atgrie kļūdas paziņojumu.
Cookies
Cookies- tie ir mainīgie, kurus uzstada programma un tie glabajas klienta pusē uz datora īpaa direktorija. Tada veida var glabat nelielu informacijas daudzumu, piemēram, lietotaja logina vardu(bet nekada gadījuma paroli), individualus interneta lapas iestatījumus (burtu izmērs, krasa, valoda utt.). Kapēc adi nevar glabat paroli? Saņemot no servera Cookie mainīgo, parlūkprogramma to saglaba uz diska atvērta veida, tas ir, to neifrējot. Tapēc ikviens var atvērt teksta redaktora attiecīgo failu, kur glabajas cookies informacija, un to apskatīt vai pat izmainīt.
Lai uzstadītu Cookie mainīgo, jaizmanto funkcija SetCookie. Tai ir 6 parametri. Parasti lieto 3 no tiem:
· name- cookie nosaukums. Obligats parametrs.
· Value- mainīga vērtība
· Expire- mainīga dzīves ilgums. Ja tas nav noradīts, cookie dzīvos līdz sesijas beigam. Pretēja gadījuma, sasniedzot noradīto laiku, ta paiznīcinasies.
Izveido cookie mainīgo login ar vērtību maija:
SetCookie(login, maija);
cookie mainīgais ar dzīves ilgumu 1 stunda:
SetCookie(login, maija, time()+3600);
Cookies jauzstada pirms ir noticis datu izvads uz ekrana. Piekļūana cookies mainīgajiem notiek, izmantojot superglobalo masīvu $_COOKIE. Piemēram, $_COOKIE['login'].
Sesijas
Sesijas ir mehanisms, kas ļauj viennozīmīgi identificēt lietotaju (parlūkprogrammu) un izveidot uz servera konkrēta lietotaja failu, kura glabajas vajadzīgie vienas darba sesijas mainīgie un to vērtības. Konkrētas sesijas identificēanai tiek izmantots sesijas identifikators($PHPSESSID). Ar ta palīdzību serveris var noteikt, kur lietotajs pie ta vēras attiecīgaja brīdī, un paņemt atbilstoa faila mainīgos. Sesijas sakuma serveris lietotajam pieķir o identifikatoru un pēc tam, lietotajam staigajot pa interneta lapas saitēm, tas automatiski tiek padots līdzi caur pieprasījuma URL vai arī, izmantojot Cookies. Izmantot pieprasījuma URL ir droak, jo Cookies izmantoana vienmēr nevarēs garantēt identifikatora nodoanu, jo pastav iespēja, ka lietotajs ir atslēdzis parlūkprogrammai Cookies. Kuru no iem identifikatora padoanas veidiem lietot- tas janorada php.ini faila parametros:
· Session_use.cookies- ja ieslēgts, identifikators tiks padots ar Cookies
·
Session.use_trans_sid- ja
ieslēgts, PHP pievienos identifikatoru pie pieprasījuma URL adreses.
Lai uzsaktu sesiju, jaizsauc funkcija session_start(), kas inicializē sesiju, tad japiereģistrē mainīgie ar session_register();
<?
Session_start();
Session_register(phpsesid);
$ phpsesid = session_id();
?>
Funkcija session_id() atgrie sesijas identifikatoru.
Izpildot adu skriptu, parlūkprogramma saglaba $phpsesid vērtību uz servera. Ja tagad lietotajs no interneta lapas, kura bija is skripts, caur URL saiti aizies uz nakoo lapu, taja var parbaudīt, vai ads sesijas mainīgais ir inicializēts:
<?
session_start();
if (isset($_SESSION ['phpsesid'])) echo SESSION ['phpsesid'];
else echo kļūda!;
?>
Ja lietotajs tieam ir nacis no iepriekējas lapas, tad mainīgajam $phpsesid jabūt reģistrētam un tiks izdrukata ta vērtība, pretēja gadījuma paradīsies uzraksts kļūda!.
Ja register_globals=off, pie sesijas mainīgajiem javēras caur superglobalo masīvu $_SESSION, pretēja gadījuma- ar tiem darbojas ka ar parastiem mainīgajiem.
Objektorientēta programmēana
Atķirība no C++ objektorientētas programmēanas(OOP) atbalsts PHP ir diezgan ierobeots. Taču obrīd jaunakaja PHP versija- PHP5 ir izdarītas būtiskas izmaiņas un var uzskatīt, ka PHP5 pilnība atbalsta OOP.
Piemērs klases un jaunas instances izveidoanai:
<? class human
//metodes
function GetInfo()}
$viir = new human(Andris, 22);
$viir->GetInfo();
?>
Definējot klasi, definējam tas atribūtus (atribūtiem prieka jaliek atslēgas vards var), aprakstam konstruktoru, kas tiks izsaukts, kad tiek veidota jauna klases instance jeb objekts, un klases funkcijas. Piekļuvi klases atribūtiem realizē ar mainīgo $this. $this->_name norada uz klases atribūtu _name.
New, noradot klases nosaukumu un konstruktoram vajadzīgos parametrus, izveido jaunu objektu. $viir->GetInfo() izsauc klases funkciju GetInfo.
Objektu mantoanu realizē ar atslēgas vardu extends.
Piemēram klase woman, kas manto iepriek uzrakstīto klasi human:
class woman extends human
function GetInfoSiev() }
Atslēgas vards parent norada uz klasi, kuru konkrēta klase ir mantojusi. Bet ta ka parmantotas klases metodes kļūst par attiecīgas klases metodēm, tad parent::GetInfo tikpat labi var rakstīt ka $this->GetInfo();
Izmantota literatūra:
1. https://php-dev.lv
2. https://php.net
3. https://en.wikipedia.org/wiki/Php
4. Самоучитель РНР, Наука и Техника, Санкт- Петербург 2004
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1349
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved