Kintamieji
Kintamasis - tai specialus konteineris, kurį jūs galite apibrėžti ir kuriame bus saugoma reikšmė, pavyzdžiui: skaičius, eilutė, objektas, masyvas, ar loginė reiksmė. Programavime kintamieji yra svarbūs, be jų būtume priversti įkoduoti kiekvieną skripte naudojamą reikšmę.
echo (2 + 4); // šis įkoduotas sakinys sudeda du skaičius ir atspausdina rezultatą.
Bet, šis kodas yra naudingas tik tiems, kurie nori sužinoti kiek bus 2 + 4
. Norėdami išvengti šio apribojimo, galėtume parašyti kitą skriptą, kuriame bus sudedami kiti skaičiai, bet toks programavimo principas yra akivaizdžiai absurdiškas, štai čia ir atsiranda kintamieji.
Jie mums leidžia sukurti operacijų šablonus, pavyzdžiui, dviejų skaičių sumai apskaičiuoti, negaliojant apie konkrečias kintamojo reikšmes, kurios jam bus suteikiamos skripto vykdymo metu.
Kintamasis yra sudarytas iš jūsų pasirinkto vardo ir prieš jį parašyto dolerio ženklo $
. Kintamųjų varduose gali būti raidės, skaičiai ir pabraukimo brūkšnys _
, bet juose negali būti tarpų. Pavyzdžiai:
```$a;
$mokiniu_skaičius;
$2353;```
Tarp kita ko- kintamųjų vardai turėtų būti prasmingi ir vienuodo stiliaus. Pavyzdžiui, jei jūsų skripte naudojamos vardo ir slaptažodžio reikšmės, nekurkite kintamųjų vardų $v
(vardas) ir $s
(slaptažodis), nes jų reikšmių nesupras niekas kitas tik tu pats šiuo metu.
Kabliataškis ;
, dar vadinamas instrukcijų terminatoriumi, naudojamas PHP sakiniams pabaigti. Prieš kintamąjį esančio kodo fragmento kabliataškis nėra kintamųjų vardų dalis, bet jis naudojamas pabaigti sakini, kuris nurodo, kad kintamasis yra, taip sakant, ,gyvas ir sveikas". Norint aprašyti kintamąjį, tereikia ji įterpti į savo skriptą. Aprašant kintamąji, tame pačiame sakinyje jam priskiriama ir reikšmė:
$num1 = 8;
$num2 = 23;
Šiose dviejose eilutėse aprašomi du kintamieji ir, naudojant priskyrimo operatorių =
, jiems priskiriamos reikšmės. Priskyrę kintamiesiems reikšmes, juos galite naudoti taip, lyg tai būtų pačios reikšmės. Kitaip tariant
echo $num1;
yra tas pats, kas:
echo 8;
Jei tik kintamojo $num1
reikšmė yra 8.
Globalieji ir superglobalieji kintamieji
Be kintamųjų vardų kūrimo taisyklių dar yra kintamųjų prieinamumo taisyklės. Paprastai kintamajam priskirta reikšmė yra prieinama tik funkcjoje ar skripte, kuriame jis aprašytas. Tarkime, kad turite skriptą skriptas1.php, kuriame yra kintamasis $vardas
kurio reikšme yra petras. Jūs norite sukurti skriptą skriptas2.php
, kuriame taip pat yra kintamasis $vardas
. Antrajam $vardas
kintamajam galite priskirti reikšme jonas, nepakeisdami kintamojo, esančio scriptas1.php
, reikšmės. Kintamojo $vardas
reikšmė yra lokali kiekviename iš skriptų, ir jiems priskirtos reikšmės viena nuo kitos nepriklauso.
Vis dėlto skripte ar funkcijose galite kintamąjį $vardas apibrėžti kaip globalų. Jei kintamasis $vardas
yra apibrėžtas kaip globalus abejuose scriptas1.php
ir scriptas2.php
skriptuose ir šie skriptai yra susiję (t, y, vienas skriptas kreipiasi į kitą ar yra įterpiamas į kitą skripta), bus tik viena dabar jau bendro kintamojo $vardas
reikšmė.
Be jūsų pačių sukurtų globaliųjų kintamųjų, PHP yra keli numatytieji (predefined) kintamieji, vadinami superglobaliaisiais kintamaisiais. Šie kintamieji yra nuolat pasiekiami ir jų reikšmes savo skriptuose visada galite kreiptis. Kiekvienas iš šių superglobaliųjų kintamųjų išties yra kitų kintamųjų masyvas:
$_GET masyve laikomi kintamieji, skriptui perduoti GET metodu.
$_POST masyve laikorni kintamieji, skriptui perduoti POST metodu.
$_COOKIE masyve laikomi kintamieji, skriptui perduoti slapukais.
$_FILES masyve laikomi kintamieji, skriptui perduoti įkeliant failus.
$_SERVER masyve saugoma informacija apie antraštes, failų kelius ir skripto vietą.
$_ENV masyve yra kintamieji, skriptui perduoti kaip serverio aplinkos dalis.
$_REQUEST masyve yra kintamieji, skriptui perduoti bet kurio vartotojo duomenų įvedimo.
$_SESSION masyve yra šiuo metu seanse užregistruoti kintamieji.
Superglobaliųjų kintamųjų naudojimas savo skriptuose yra svarbus kuriant saugią taikomąją programą, nes superglobaliųjų kintamųjų naudojimas sumažina įsilaužimo galimybę.
Jei patiko spauks like ;-)
arnas444 prieš 9 metus
Persiskaičiau, įdomu net pasidarė. Klausimas vienas, kiek kainuotų PHP web'o kurimas.?
BlueVita prieš 9 metus
Man atrodo tuoj prasidės spamas per visas temas, kad tik gautu kažkas tą GTA.. Taigi, tavo pamokėle tikrai išsami, gerai išdėstita. Aišku, labiau norėtusi VIDEO pamokos. Bet, jeigu nėra galimybes tai pox :).
Justas Š. prieš 9 metus
Tiems, kurie yra naujokai šioje srityje gali pasirodyt kiek nesuprantama, bet šiaip gan neprastai.
BehindYouBro prieš 9 metus
Labai jau sunku atsidaryti http://www.google.lt žmonėms ir įvesti į paeiška Pagrindiniai PHP elemtai? :D Nemanau,kad sunku,bereikšmė tema ir tiek,kad daugiau gautu pranešimų .;)
CodeMenas prieš 9 metus
@BehindYouBro ka tuom norejai pasakyti? Jog kopijuotas tekstas? Ar jog google daug yra tokio lygio lietuviškų pamokų?
CodeMenas prieš 9 metus
@Justas Š. Dėkoju už nuomonę. Sunku labai man lietuviškai perteikti suprantamai. Turbut supranti apie ką aš ;-)
BehindYouBro prieš 9 metus
@CodeMenas Taip ir suprask,kad aiškiai matosi,kad grynai kopijuotas tekstas :D . Gi žmonėms nesunku patiems pasigooglint tuos elementus pagrindinius ;)
CodeMenas prieš 9 metus
@BehindYouBro tuomet jeigu jau taip gerai naudojiesi google, surask iš kur nukopijavau :-D
Justas Š. prieš 9 metus
@CodeMenas , apie ką tu aš tikrai suprantu ir nebandau labai smarkiai tavęs kritikuot, kadangi vien tokių žmonių, kurie rašytų tokias pamokas Lietuvoje nėra ypatingai daug. Išmanančių gal ir yra, bet labai didelė dalis jų jokių pamokų ar ko nors panašaus tikrai nedaro, vien dėl to nenoriu smarkiai smerkt tų, kurie daro tai, kas yra reikalinga, nors iš esmės ir nėra čia ko smerkt. Tiesiog pamėgint įsijaust, tarsi pats nieko nesuprastum ir perskaityk ką parašei, iš esmės suprantama, bet įgudęs žmogus daugiau suprastų.
EisvetArt prieš 9 metus
Būtų šaunu pamatyti ir kokių nors unikalių php/html/css pamokėlių naujokams :$
CodeMenas prieš 9 metus
@Justas Š. As ir nepriemiau tavo žodžių kaip kritikos :-D gerai, pabandysiu kaip tu sakai įsijausti, nes tokiame tekste yra ganėtinai sunku rasyti savais žodžiais :-D
CodeMenas prieš 9 metus
@EisvetArt kai pabaigsiu php pamokas, žadu pradeti kurti css (bet stambesnioms žuvims).
leoleva prieš 9 metus
Pamatęs pavadinimą pirma mintis - "Oba, kažkas pagaliau parašė pamoką kaip naudoti $_GLOBAL, ir kodėl jų reiktų vegti nepatyrusiems", bet pasirido apsirikau:D
SkepticalHippo prieš 9 metus
$_GLOBAL
yra blogis. Kaip ir betkoks kitas global scope kintamasis. Vien dėl to, kad galima lengviau išgauti informaciją radus spragą kode. Vengčiau ne tik jei esu naujokas, bet ir jei esu pakankamai patyręs.
leoleva prieš 9 metus
Man tai informacijos netrūksta, tik tiek, kad jau kuri pamoką pradedantiesiems reiktų aprašymą ir vieną didžiausių blogių
:D kaip jis veikia, ir kaip jau gali pasinaudoti nedori dėdės.
Bičas prieš 9 metus
Prirašiai tų globaliujų kintamūjų ir superglobaliujų kintamūjų bet taip ir neparašiai ką jie būtent daro, tarkim parašiai "$_GET masyve laikomi kintamieji, skriptui perduoti GET metodu." O kas tas GET metodas? Taip ir neparašiai. Dar pasigedau pavizdžių, dokumentacijos daug - o pavizdžių beveik nėra.
Žodžiu, ne pilna pamoka..
PreFiX prieš 9 metus
@Bičas, senai nekūriau naujo php webo, tai nelabai ir bendrauju su PDO. Bet pastebėjau, kad mysql_connect jau yra deprecated... Bet vis tiek reikės mokytis OOP ir manau nieko čia blogo tas PDO.
CodeMenas prieš 9 metus
Dėkoju visiems už pagyrimus. Beto noriu priminti jog yra ir naujų pamokų.