1-laboratoriya ishi


Download 28.11 Kb.
Sana04.09.2020
Hajmi28.11 Kb.
#128439
Bog'liq
php sintaksissi

1-laboratoriya ishi



PHP. Tilning sintaksisi
Ishning maqsadi: php tilining sintaksisini o‘rganish. O‘zgaruvchilar, konstantalar va ifodalar bilan ishlashini o‘rganish, boshqarayotgan tuzilmalarini o‘rganish.
Laboratoriya ishlarini bajarish uchun topshiriqlar

1. Php info komandasi yordamida php sozlashlar haqida ma’lumotni oling.

2. “Hello World!” sahifaning yaratilgan php-skriptini yarating.

3. Ishlab chiqaruvchi mutaxassis haqidagi ma’lumot faylini web-sahifaga yuklaydigan php-skriptga o’giring.

4. Web-sahifani ko‘paytirish jadvali bilan shakllanitiruvchi php-skriptini yarating.

5. PHP skriptlari ssilkalari joylashtiriladigan alohida sahifani yarating.



Nazariy qism

PHPning sintaksisi

PHP dasturi – bu komandalar (yo‘riqnomalar) to‘plami. Dasturning ishlov beruvchiga (parserga) bitta komandani ikkinchisidan ajrata bilishi muhim. Buning uchun maxsus simvollar – ajratuvchilar ishlatiladi. PHPda yo‘riqnomalar nuqta vergul bilan ajratiladi.

PHP sintaksisining ko‘p qismi C, Java va Perl tillaridan o‘zlashtirilgan. Server bilan ishlayotgan fayl qoida bo‘yicha php kengaytmasiga ega.

PHP-kodi html-kodiga keyingi turda qo‘shiladi:



yoki


kodning_matni;

?>

PHP, ‘C’, ‘C++’ va Unix tashqi qatlami ko‘rinishida sharqlarni qo‘llaydi. // va # simvollar bir satrli sharhlar boshini, /* va */ esa ko‘p satrli sharhlarning boshi va ohirini belgilaydi. Misol:



/* Bu ko‘p satrli sharh,

Bu uning yana bitta satri */

echo "Bu axborot HTMLda ko‘rsatilgan bo‘ladi";

# Bu shell-ko‘rinishidagi sharh

?>

O‘zgaruvchilar

O‘zgaruvchi PHP dasturi ketidan uning nomi joylashgan $ simvoli bilan ajraladi. Misol uchun:

$city=“Tula”;

city – o‘zgaruvchi,Tula – ma’nosi.

O‘zgaruvchining nomi registrga bog‘liq va PHPda boshqa nomlar kabi umumiy qoidalarga rioya qiladi: O‘zgaruvchining to‘g‘ri nomi harflardan yoki sonlardan yoki ajratib ko‘rsatuvchi simvollar bilan boshlanishi kerak.



Konstantalar

Konstantaning o‘zgaruvchidan asosiy farqi shundan iboratki, unga bir martadan ko‘p ma’no berib bo‘lmaydi va uning ma’nosini e’lon qilib bo‘lgandan so‘ng bekor qilib bo‘lmaydi. Bundan tashqari, ma’noni o‘zlashtirish bilan konstantani aniqlash mumkin emas. Konstantani aniqlash uchun define maxsus funksiyasi mavjud. Uning sintaksisi quyidagicha:



Define(“Konstanta_nomi”,”Konstanta_ma’nosi”,[Registrga_bog‘liqsizligi])

Odatda konstantalarning nomi registrga bog‘liq bo’ladi. Har bir konstanta uchun “Registrga_bog‘liqsizligi” argumenti ma’nosi sifatida True ma’nosini ko‘rsatib uni o‘zgartirish mumkin. Konstantalar nomlari yuqori registrda yoziladi deb kelishilgan.

Konstanta ma’nosiga uning nomini ko‘rsatib yoki parametr sifatida konstanta nomi bilan constat funksiyasidan foydalanib ega bo‘lish mumkin.



//PI konstantasini aniqlaymiz

Define(“PI”,”3.14”,True);

//PI konstantani ma’nosini chiqaramiz

echo pi;

// 3.14 ma’nosini chiqaradi, chunki PI konstanta

// registrga bog‘liq emas

?>
Operatorlar

Operatorlar o‘zgaruvchilar, konstantalar va ifodalar yordamida turli harakatlarni bajarishga imkon beradi. Ba’zi operatsiyalar (va ularga to‘g‘ri keladigan operatorlar) 1-5 jadvallarda ko‘rsatilgan.





$a="Hello ";

$b=$a."Fox"; //endi $b "Hello Fox"ni o‘z ichiga oladi

$a="Hello";

$a.=" Fox"; //endi $a "Hello Fox"ni o‘z ichiga oladi

?>

1-jadval Arifmetik operatorlar

Belgi

Nom

Misol

+

Qo‘shish

$a + $b

-

Ayirish

$a – $b

*

Ko‘paytirish

$a * $b

/

Bo‘lish

$a / $b

%

Bo‘lim qoldig‘i

$a % $b

2-jadval Satr operatorlari



Belgi

Nom

Misol

.

Konkatenatsiya (satrlarni qo‘shish)

$c=$a.$b

(bu satr $a va $b dan iborat )



.=

O‘zlashtirish (o‘ng argumentga chap argumentni bog‘laydi)

$а=.$b

3-jadval Solishtirish operatorlari



Belgi

Nom

Tavsif

= =

Tenglik

$a = = $b

TRUE, agar $a $b ga teng bo‘lsa



= = =

Ekvivalentlik

$a = = = $b

TRUE, agar $a va $bning o‘zgaruvchi turlari va ma’nolari teng bo‘lsa



!=

Tengsizlik

$a != $b

TRUE, agar $a $b ga teng bo‘lmasa



<>

Tengsizlik

$a != $b

TRUE, agar $a $b ga teng bo‘lmasa.



<

Kichik

$a < $b

TRUE, agar $a $b dan kichik bo‘lsa



>

Katta

$a > $b

TRUE, agar $a $b dan katta bo‘lsa



<=

Kichik yoki teng

$a <= $b

TRUE, agar $a $b dan kichik yoki teng bo‘lsa



>=

Katta yoki teng

$a >= $b

TRUE, agar $a $b dan katta yoki teng bo‘lsa


4-jadval Inkrement va dekriment operatorlari



Belgi

Nom

Tavsif

++$a

Pre-increment

$a ni birga ko‘paytiradi, keyin $a ni qaytaradi.

$a++

Post-increment

$a ni qaytaradi, keyin $a ni birga ko‘paytiradi.

--$a

Pre-decrement

$a ni birga kamaytiradi, keyin $a ni qaytaradi.

$a--

Post-decrement

$a ni qaytaradi, keyin $a ni birga kamaytiradi.

5-jadval Logik operatorlar



Belgi

Nom

Tavsif

and (&&)

VA

$a && $b

TRUE, agar $a va $b haqiqiy bo‘lsa.



or (||)

YOKI

$a || $b

TRUE, agar $a yoki $b o‘zgaruvchilardan biri haqiqiy bo‘lsa (ikkitasi ham bo‘lishi mumkin).



xor

INKOR QILUVCHI YOKI

$a xor $b

TRUE, agar $a yoki $b o‘zgaruvchilardan biri haqiqiy bo‘lsa. Ikkitasi haqiqiy bo‘lishi mumkin emas.



!

INVERSIYA

!$а

Agar $a=TRUE, unda !$a=False va teskarisi.



Ba’zi operatorlar

include(“fayl nomi") – bitta fayl tarkibini boshqa faylga qo‘shish komandasi. Nomi komandada ko‘rsatilgan fayl tarkibi butunligicha shu komanda joylashgan joyga qo‘yiladi, bu holda qo‘shiladigan faylda joylashgan PHPning barcha kodlari bu komanda o‘rnida bo‘lgani kabi bajariladi (fayl aynan qo‘yiladi – ya’ni misol uchun, include komandasi joylashgan faylning joylashuv joyiga qo‘yiladigan fayl tarkibida mavjud rasm manzillarini ko‘rsatish kerak). Agar include komandasi yordamida sahifaga qo‘shiladigan fayl mavjud bo‘lmasa, u holda uning o‘rniga ogohlantirish joylashtiriladi, PHP dasturining bajarilishi esa davom etadi (ishlov berishni tugatish kerak bo‘lganda va qo‘shiladigan fayl mavjud bo‘lmaganda web-sahifani chiqarish paytida include komandasi o‘rniga require komandasidan foydalaniladi).

mail (“Kimga”, “Mavzu”, “Axborotning matni”, “Qo‘shimcha sarlavhalar”) – pochta axborotni yuborish. Bu komandani bajarganda serverda elektron xat shakllanadi va jo‘natiladi. “Kimga” parametr sifatida vergullar bilan ajratilgan manzillar to‘plami bo‘lishi mumkin. “Qo‘shimcha sarlavhalar” har xil bo‘lishi mumkin (pochta protokollariga joiz bo‘lishi kerak!), ular PHPda satrni ko‘chishini bildiradigan /n simvollar kombinatsiyasi bilan bo‘linishi kerak (agar “Qo‘shimcha sarlavhalar” orasida From maydoni ko‘rsatilmagan bo‘lsa, u holda web-server pochta dasturi yordamida to‘ldiriladi, masalan, “Unprivileged User”nomi bilan).

if (shart) {...shartlar to‘g‘ri bo‘lsa, bajariladigan komandalar...;} – u yoki bu shartning haqiqiy yoki yolg‘on ekanligiga bog‘liq bo‘lgan harakatlarni bajarish komandasi. Shakldor qavslar ichida nuqta vergul bilan ajratilgan bir nechta komandalar joylashishi mumkin.

for (hisoblagichning boshlang‘ich ma’lumoti; sikl davomiyligining sharti; har bir siklda hisoblagichning o‘zgarishi) { ...komandalar... ;} – bu sikl, ya’ni hisoblagich siklning o‘zgarish shartiga to‘g‘ri keladigan va unda ko‘rsatilgan komandalarning takrorlanish soni (ya’ni, sikl komandasini bajaruvchi sonning sanog‘i uchun ajratilgan o‘zgaruvchi).

while (shart) { ...komandalar... } – shartli sikl. Shakldor qavslardagi komandalar sikl sarlavhasidagi shart bajarilguncha bajariladi. Sikl uzilishi uchun, shartlar bajarilishi to‘xtatilishi kerak – shuning uchun sikl tarkibida bu shartga ta’sir qilish imkonini mo‘ljallash kerak.

do { ...komandalar... } while (sharoit) sikli – huddi shunday ishlaydi, ammo shakldor qavuslar ichida ko‘rsatilgan komandalar, hatto shart bajarilmasa ham, faqat bir marta bajariladi. Sikl bajarilishini to‘xtatish, break operatori yordamida amalga oshirish mumkin. Dasturning keyingi qadami yopiladigan shakldor qavsdan keyingi komandasi hisoblanadi. Continue operatori esa sikl bajarilishning, joriy pog‘onasini to‘xtatadi, ya’ni bu operatordan keyin dasturni keyingi bajarilishi sikl sarlavhasining sharoitini tekshirishidan boshlanadi.

foreach (o‘zgaruvchi as massiv) { ...komandalar... ;} – barcha massiv elementlarni ketma-ket o‘qish. Ko‘rsatilgan o‘zgaruvchi ishlatilishi mumkin bo‘lganda har safar shakldor qavsda ko‘rsatilgan kodni foreach uning parametrlarda ko‘rsatilgan o‘zgaruvchiga ularda ko‘rsatilgan massivning barcha elementlarini ketma-ket bajarayotganda o‘qiydi (massiv elementlarning ma’nosini faqat shu operator o‘qiydi, foreach komanda yordamida ularni modifikatsiyalashni iloji yo‘q).

Foreach operatori faqat PHP 4.0 va yuqori versiyalarda foydalanishi mumkin.



echo “matn” – web-sahifaga biror matnni chiqarilishi. Biror o‘zgaruvchini ma’nosini web-sahifaga chiqarish uchun, chiqadigan satr ichiga uning nomini yozish kifoya: echo “bu raqam $a” komandasi web-sahifaga “bu raqam 1” matnni chiqaradi, agar ilgari $a o‘zgaruvchiga birlik ma’nosini o‘zlashtirgan bo‘lsa.

print (“matn”) – web-sahifaga biror matnni chiqarilishi, echo operatorga o‘xshash.

Ma’lumotlar turlari

PHP oddiy sakkizta ma’lumot turlarini ta’minlaydi.

To‘rtta skalyar turlari:

• boolean (mantiqiy);

• integer (butun);

• float (suzayotgan nuqta bilan);

• string (satrli).

Ikkita aralashma turlari:

• array (massiv);

• object (ob’ekt).

Va ikkita maxsus turlari:

• resource (resurs);

• NULL.

PHPda o‘zgaruvchilar turlarini oshkora qilish mumkin emas. O‘zgaruvchi ishlatiladigan kontekstga bog‘liq holda dasturning bajarilish vaqti davomida sharhlovchining o‘zi bajargani afzalroq.



satring turi (satrlar)

Satr – bu simvollar to‘plami. PHPda simvol – bu baytga ohshash, demak, 256 turli xil simvollar mavjud. Bu PHP o‘rnatilgan Unicode qo‘llab-quvvatlash imkoniyatiga ega emasligini bildiradi. PHPda satr o‘lchamlariga cheksizlik mavjud.

PHPda satrni uchta har xil usullar bilan aniqlash mumkin:

• bittalik qo‘shtirnoqlar yordami bilan;

• ikkitalik qo‘shtirnoqlar yordami bilan;

• heredoc-sintaksis bilan.

Satrni aniqlash uchun eng oddiy usul – uni bittalik qo‘shtirnoqqa joylashtirishdir «‘». Satr ichida bittalik qo‘shtirnoqni ishlatish uchun, boshqa ko‘p tillardagi kabi, uning oldida teskari chiziq «\» simvoli qo‘yilishi, ya’ni uni ekranlashtirish kerak. Agar teskari chiziqni bittali qo‘shtirnoq oldida yoki satr ohirida joylashishi kerak bo‘lsa, uni «\\’» takrorlash kerak.

Agar bittali qo‘shtirnoq ichiga kiritilgan satrn teskari slesh «\» boshqa simvol oldida uchrasa («\» va «‘» dan farqli), u oddiy simvol kabi ko‘rib chiqiladi va hamma qolganlari singari chiqariladi. Shuning uchun teskari chiziqni ekranlashtirish muhim, agar u satr ohirida yopiladigan qo‘shtirnoq oldida joylashgan bo‘lsa.

PHPda teskari chiziq simvolidan boshlanuvchi simvollarning qator kombinatsiyalari mavjud. Ularni ketma-ketliklarni boshqaruvchilar deb atashadi va ular maxsus ma’nolarga ega. Shunday qilib, ikkita boshqa sintaksislardan farqli, bittalik qo‘shtirnoq ichiga kiritilgan satrlarda uchraydigan maxsus simvollar uchun ketma-ketliklar boshqaruvchilari va o‘zgaruvchilari qayta ishlanmaydi. Misol:





// Chiqariladi: chiqarish uchun ‘ kerak

// uni oldida \ qo‘yish kerak

echo ‘\’ chiqarish uchun’.

\\ qo\’yish kerak’;



// Chiqariladi: Siz C:\*.* o‘chirmoqchimisiz?

echo ‘Siz C:\\*.* o\’chirmoqchimisiz?’;

// Chiqariladi: $expand o‘zgaruvchilari hamda

// $either qo‘yilmaydi

echo ‘$expand o\’zgaruvchilari hamda $either’.

qo\’yilmaydi’;



?>

Satr ikkitalik qo‘shtirnoqqa «”» kiritilgan bo‘lsa, PHP maxsus simvollar uchun boshqaruv ketma-ketliklarining ko‘p sonini aniqlaydi. Ularning ba’zilari 6-jadvalda keltirilgan.



6-jadval Boshqaruv ketma-ketliklarlari

Ketma-ketlik

Ma’no

\n

Yangi satr (LF yoki 0x0A (10) ASCIIda)

\r

Matnning siljigan qismini qaytarish (CR yoki 0x0D (13) ASCIIda)

\t

Gorizontal tabulyatsiyasi (HT yoki 0x09 (9) ASCIIda)

\\

Teskari chiziq

\$

Dollar belgisi

\"

Ikkitalik qo‘shtirnoq

Ikkitalik qo‘shtirnoq ichidagi satrning asosiy xususiyati o‘zgaruvchilarning qayta ishlanishidir.

Satr aniqlashning boshqa usuli – bu heredoc-sintaksisning ishlatilishidir. Bu holda satr, undan keyin identifikator keladigan, <<< simvolidan boshlanishi kerak. Satr shu identifikator bilan tugaydi. Yopiladigan identifikator satrning birinchi ustunida boshlanishi kerak. Bundan tashqari identifikator PHPdagi barcha qolgan belgilar kabi nomlanish qoidalariga rioya qilishi kerak: faqat harf – sonli simvollardan, ajratish chizig‘i belgisidan iborat bo‘lishi kerak va raqamdan yoki ajratish chizig‘idan boshlanmasligi kerak.

PHP dasturi web-sahifa kodi bilan uzilishi mumkin. Buning uchun berkitadigan tegni shu kodgacha, ochiladiganini keyin qo‘yish kerak. Ularning orasidagi barchasi qayta ishlanmasdan, echo komandasi yordamida chiqarilgandek ko‘rib chiqilib, brauzerga beriladi.



<р>а o‘zgaruvchi 1ga teng


}?>

Kodga ekvivalentli



а o‘zgaruvhi 1ga teng
";}?>

Biroq, birinchi variant PHP interpretatori joylashgan kompyuter protsessorini kamroq yuklaydi.

Aytib o‘tilganlaridan hulosa chiqarib, PHPda bitta web-sahifada joylashgan barcha dasturlar, sahifaning oddiy matn bloklari bilan ajratilishiga karamasdan, bitta katta dasturni namoyon qiladi. Shu tufayli, sahifaning boshida joylashgan kodda namoyon bo‘lgan o‘zgaruvchi, o‘z ma’nosini faqat ohirgacha emas, balki include komandasi yordamida qo‘shilgan barcha fayllarda saqlaydi.





$rows=5;$cols=3;

for($i=1;$i<=$rows;$i++)

{ echo ‘
‘;

for ($j=1;$j<=$cols;$j++)

{ if (($i+$j)%2==0)

{ $c="#000000";}

Else

{$c="#ffffff";};

echo ‘
‘;} ?>

‘;

}

echo ‘


Nazorat savollari

1. HTML-hujjatiga PHP tuzilmalarini qaysi usul bilan qo‘yish mumkin?

2. Satrda uchraydigan o‘zgaruvchilar ularning ma’nolari bilan almastirilgan bo‘lganligini qanday ta’minlash mumkin?

3. Heredoc-sintaksis bu nima?

4. PHP qanday ma’lumot turlarini ta’minlaydi?

5. PHPda konstantani qanday aniqlash mumkin?



6. PHPda ekranga keyingi satrni chiqaradigan kodni yozing: “C:\DOC’ papkasida muhim hujjatlar saqlanadi”.

7. PHPda switch operatorining boshqa dasturlash tillaridan farqini ayting.
Download 28.11 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling