Oʻtish-Switch
Har bir kun uchun tegishli xabarni ko'rsatadigan quyidagi misolni ko'rib chiqing.
Har bir holatdan keyin keladigan break kalit so'zi kodning avtomatik ravishda keyingi holatga o'tishini oldini olish uchun ishlatiladi. Agar tanaffusni unutsangiz; bayonotida, PHP avtomatik ravishda keyingi holat bayonotlari orqali davom etadi, hatto vaziyat mos kelmasa ham.
Hech qanday moslik topilmasa, standart bayonot ishlatiladi.
Switch
Break bayonotini aniqlay olmasangiz, PHP tanaffusni topmaguncha, holatdan keyingi bayonotlarni bajarishda davom etadi. Agar bir nechta holatlar uchun bir xil natijaga erishishingiz kerak bo'lsa, ushbu xatti-harakatdan foydalanishingiz mumkin.
Tanaffus bayonoti
Oldingi darsda muhokama qilinganidek, break iborasi holat mos kelganda kommutatordan chiqish uchun ishlatiladi.
Agar tanaffus bo'lmasa, kod ishlashda davom etadi.
Misol uchun:
Break for, foreach, while, do-while tuzilmalarining bajarilishini toʻxtatish uchun ham ishlatilishi mumkin.
Break operatori joriy for, foreach, while, do-while yoki switchni tugatadi va sikldan keyin keladigan qatorda dasturni ishga tushirishni davom ettiradi.
Dasturning tashqi qismidagi break operatori (masalan, boshqaruv siklida emas) skriptni to'xtatadi.
Davom etish bayonoti
Davom etish iborasi sikl tuzilmasi ichida foydalanilganda joriy sikl iteratsiyasining qolgan qismini o'tkazib yuborishga imkon beradi. Keyin shartni baholashda bajarishni davom ettiradi va keyingi iteratsiyaning boshiga o'tadi.
Quyidagi misol for tsiklidagi juft raqamlarni o'tkazib yuboradi:
o'z ichiga oladi
O'z ichiga va talab iboralari bitta PHP faylining mazmunini server uni ishga tushirishdan oldin boshqa PHP fayliga kiritish imkonini beradi.
Fayllarni qo'shsangiz, ishni ancha tejaydi. Siz barcha veb-sahifalaringiz uchun standart sarlavha, altbilgi yoki menyu faylini yaratishingiz mumkin. Keyin, sarlavha yangilashni talab qilganda, siz faqat sarlavhani o'z ichiga olgan faylni yangilashingiz mumkin.
Bizda header.php nomli standart sarlavha fayli bor deb faraz qilaylik.
Sarlavha faylini sahifaga kiritish uchun include iborasidan foydalaning.
O'z ichiga va talab iboralari bitta PHP faylining mazmunini server uni ishga tushirishdan oldin boshqa PHP fayliga kiritish imkonini beradi.
Ushbu yondashuvdan foydalanib, biz bir xil header.php faylini bir nechta sahifalarga kiritish imkoniyatiga egamiz.
Fayllar fayl yo'li asosida kiritilgan.
Qaysi faylni kiritish kerakligini belgilash uchun mutlaq yoki nisbiy yo'ldan foydalanishingiz mumkin.
INCLUDE VS REQUIRE
kiritish va talab qilish
Talab bayonoti o'z ichiga bir xil bo'ladi, bundan mustasno, muvaffaqiyatsizlikka uchraganida, u halokatli xatoga olib keladi.
Agar fayl include iborasi yordamida kiritilgan bo'lsa, lekin PHP uni topa olmasa, skript ishlashda davom etadi.
Agar talab qilingan bo'lsa, skript ishlashni to'xtatadi va xatoga yo'l qo'yadi.
Ilovaning ishlashi uchun fayl kerak bo'lganda talabdan foydalaning.
Fayl kerak bo'lmaganda, include dan foydalaning. Ilova fayl topilmasa ham davom etishi kerak.
Funksiyalar
Quyidagi misolda sayHello() funksiyasini yaratamiz. Ochilgan jingalak qavs ({) bu funktsiya kodining boshlanishi ekanligini, yopilgan jingalak qavs (}) esa bu oxir ekanligini bildiradi.
Funktsiyani chaqirish uchun uning nomini yozish kifoya:
Funktsiya parametrlari
Ma'lumot o'zgaruvchilarga o'xshash argumentlar orqali funktsiyalarga uzatilishi mumkin.
Argumentlar funksiya nomidan keyin va qavs ichida ko'rsatiladi.
Bu erda funktsiyamiz raqamni oladi, uni ikkiga ko'paytiradi va natijani chop etadi:
Agar ular vergul bilan ajratilgan bo'lsa, xohlaganingizcha ko'p argumentlar qo'shishingiz mumkin
Funktsiyani aniqlaganingizda, unga ishlov berish uchun uzatiladigan qiymatlarni ifodalovchi o'zgaruvchilar parametrlar deb ataladi. Biroq, siz funktsiyadan foydalanganda, unga o'tadigan qiymat argument deb ataladi.
Standart argumentlar
Funktsiya argumentlari uchun standart argumentlar aniqlanishi mumkin.
Quyidagi misolda biz setCounter() funksiyasini chaqiramiz. Argumentlar yo'q, shuning uchun u belgilangan standart qiymatlarni oladi.
Standart argumentlardan foydalanilganda, har qanday standart argumentlar standart bo'lmagan argumentlarning o'ng tomonida bo'lishi kerak; aks holda ishlar kutilganidek ishlamaydi.
Qaytish-Return
Funktsiya return iborasi yordamida qiymatni qaytarishi mumkin.
Qaytish funksiyaning bajarilishini to'xtatadi va qiymatni chaqiruvchi kodga qaytaradi.
Misol uchun:
Qaytishni qoldirmaslik NULL qiymatining qaytarilishiga olib keladi.
Funktsiya bir nechta qiymatlarni qaytara olmaydi, lekin massivni qaytarish shunga o'xshash natijalarni beradi.
Oldindan belgilangan o'zgaruvchilar
Superglobal - bu qamrovdan qat'i nazar, har doim foydalanish mumkin bo'lgan oldindan belgilangan o'zgaruvchidir. PHP supergloballariga istalgan funksiya, sinf yoki fayl orqali kirishingiz mumkin.
PHP ning superglobal oʻzgaruvchilari $_SERVER, $GLOBALS, $_REQUEST, $_POST, $_GET, $_FILES, $_ENV, $_COOKIE, $_SESSION.
$_SERVER
$_SERVER - sarlavhalar, yo'llar va skript joylashuvi kabi ma'lumotlarni o'z ichiga olgan massiv. Ushbu massivdagi yozuvlar veb-server tomonidan yaratilgan.
$_SERVER['SCRIPT_NAME'] joriy skript yo'lini qaytaradi:
Bizning misolimiz veb-serverning ildizida joylashgan somefile.php nomli faylda yozilgan.
$_SERVER
$_SERVER['HTTP_HOST'] joriy so'rovdan Xost sarlavhasini qaytaradi.
Ushbu usul serveringizda juda ko'p tasvirlar mavjud bo'lganda va veb-saytni boshqa xostga o'tkazish kerak bo'lganda foydali bo'lishi mumkin. Har bir rasm uchun yo'lni o'zgartirish o'rniga, siz quyidagilarni qilishingiz mumkin:
Tasvirlaringizga yo'l tutadigan config.php faylini yarating:
Skriptlaringizda config.php faylidan foydalaning:
Tasvirlaringizga yo'l endi dinamik. U Xost sarlavhasi asosida avtomatik ravishda o'zgaradi.
Ushbu grafik $_SERVER ning asosiy elementlarini ko'rsatadi.
$_SERVER['HTTP_HOST'] joriy so'rovdan Xost sarlavhasini qaytaradi.
Shakllar-Forms
$_GET va $_POST PHP supergloballarining maqsadi formaga kiritilgan ma'lumotlarni yig'ishdir.
Quyidagi misolda ikkita kiritish maydoni va yuborish tugmasidan iborat oddiy HTML formasi ko‘rsatilgan:
Natija-Result
$_GET va $_POST PHP supergloballarining maqsadi formaga kiritilgan ma'lumotlarni yig'ishdir.
Harakat atributi shakl yuborilganda ma'lumotlar first.php nomli PHP fayliga yuborilishini bildiradi.
HTML forma elementlarining nomlari bor, ular PHP yordamida ma'lumotlarga kirishda foydalaniladi.
Metod atributi keyingi darsda muhokama qilinadi. Hozircha biz qiymatni "post" ga o'rnatamiz.
Endi bizda PHP faylimizga harakat atributi oʻrnatilgan HTML formasi mavjud boʻlganda, biz $_POST assotsiativ massividan foydalangan holda joylashtirilgan shakl maʼlumotlariga kirishimiz mumkin.
Birinchi.php faylida:
$_POST superglobal massivi kalit/qiymat juftligini saqlaydi. Juftliklarda kalitlar shakl boshqaruv elementlarining nomlari va qiymatlar foydalanuvchi tomonidan kiritilgan kirish ma'lumotlaridir.
Biz $_POST massividan foydalandik, chunki formada method="post" ko'rsatilgan edi.
Shakl usullari haqida ko'proq bilish uchun Davom etish tugmasini bosing!
POST
Shakllarni yuborishning ikkita usuli - GET va POST.
Shakldan POST usuli orqali yuborilgan ma'lumotlar boshqalarga ko'rinmaydi, chunki barcha nomlar va/yoki qiymatlar HTTP so'rovining asosiy qismiga kiritilgan. Bundan tashqari, yuboriladigan ma'lumotlar miqdori bo'yicha cheklovlar yo'q.
Bundan tashqari, POST fayllarni serverga yuklashda ko'p qismli ikkilik kiritishni qo'llab-quvvatlash kabi ilg'or funksiyalarni qo'llab-quvvatlaydi.
Biroq, sahifaga xatcho'p qo'yish mumkin emas, chunki taqdim etilgan qiymatlar ko'rinmaydi.
POST - shakl ma'lumotlarini jo'natish uchun afzal qilingan usul.
OLISH
GET usuli yordamida forma orqali yuborilgan ma'lumotlar hamma uchun ko'rinadi (barcha o'zgaruvchilar nomlari va qiymatlari URL manzilida ko'rsatiladi). GET, shuningdek, yuborilishi mumkin bo'lgan ma'lumotlar miqdori bo'yicha chegaralarni o'rnatadi - taxminan 2000 belgi.
Biroq, o'zgaruvchilar URLda ko'rsatilganligi sababli, sahifaga xatcho'p qo'yish mumkin, bu ba'zi holatlarda foydali bo'lishi mumkin.
Misol uchun:
actionGet.php
Endi shakl actionGet.php-ga yuborildi va siz yuborilgan ma'lumotlarni URL manzilida ko'rishingiz mumkin:
GET HECH QACHON parollar yoki boshqa nozik ma'lumotlarni yuborish uchun ishlatilmasligi kerak!
POST yoki GET-dan foydalanganda, shakl ma'lumotlarini filtrlash va qayta ishlash orqali to'g'ri tekshirish sizning formangizni xakerlar va ekspluatatsiyalardan himoya qilish uchun juda muhimdir!
Seanslar
Seansdan foydalanib, siz ma'lumotni bir nechta sahifalarda foydalanish uchun o'zgaruvchilarda saqlashingiz mumkin.
Ma'lumot cookie-fayllardagi kabi foydalanuvchi kompyuterida saqlanmaydi.
Odatiy bo'lib, sessiya o'zgaruvchilari foydalanuvchi brauzerni yopguncha davom etadi.
PHP sessiyasini boshlang
Sessiya session_start() funksiyasi yordamida boshlanadi.
Seans o'zgaruvchilarini o'rnatish uchun PHP global $_SESSION dan foydalaning.
Endi rang va nom seansi o'zgaruvchilari butun seans davomida bir nechta sahifalarda mavjud.
Sessiya_start() funksiyasi hujjatingizda birinchi boʻlib boʻlishi kerak. Har qanday HTML teglaridan oldin.
Seans o'zgaruvchilari
Oldingi sahifada biz o'rnatgan seans o'zgaruvchilariga kira oladigan boshqa sahifa yaratilishi mumkin:
Seans oʻzgaruvchilaringiz $_SESSION superglobal ichida seansni yopguningizcha mavjud boʻlib qoladi.
Barcha global seans o'zgaruvchilari session_unset() yordamida qo'lda olib tashlanishi mumkin. Shuningdek, sessiyani session_destroy() yordamida yo'q qilishingiz mumkin.
Cookie-fayllar
Cookie-fayllar ko'pincha foydalanuvchini aniqlash uchun ishlatiladi. Cookie - bu server foydalanuvchi kompyuteriga joylashtirgan kichik fayl. Har safar bir xil kompyuter brauzer orqali sahifani so'raganda, u cookie-faylni ham yuboradi. PHP yordamida siz ham cookie qiymatlarini yaratishingiz va ham olishingiz mumkin.
setcookie() funksiyasidan foydalanib cookie-fayllarni yarating:
nom: Cookie nomini belgilaydi
qiymat: Cookie qiymatini belgilaydi
muddati tugashi: Cookie muddati tugashini (soniyalarda) bildiradi. Qiymat: time()+86400*30, cookie-faylni 30 kun ichida tugashini belgilaydi. Agar ushbu parametr o'tkazib yuborilsa yoki 0 ga o'rnatilsa, cookie fayli sessiya oxirida (brauzer yopilganda) tugaydi. Standart 0.
yo'l: cookie faylining server yo'lini belgilaydi. Agar "/" ga o'rnatilgan bo'lsa, cookie fayli butun domenda mavjud bo'ladi. Agar "/php/" ga o'rnatilgan bo'lsa, cookie fayli faqat php katalogida va php ning barcha pastki kataloglarida mavjud bo'ladi. Standart qiymat cookie o'rnatilayotgan joriy katalogdir.
domen: cookie faylining domen nomini belgilaydi. Cookie-fayllarni example.com saytining barcha subdomenlarida mavjud qilish uchun domenni “example.com” qilib belgilang.
xavfsiz: Cookie faqat xavfsiz HTTPS ulanishi orqali uzatilishi kerakligini belgilaydi. TRUE kuki faqat xavfsiz ulanish mavjud bo'lganda o'rnatilishini bildiradi. Birlamchi qiymat FALSE.
httponly: Agar TRUE qiymati o‘rnatilgan bo‘lsa, cookie-faylga faqat HTTP protokoli orqali kirish mumkin bo‘ladi (cookie-fayl skript tillari uchun mavjud bo‘lmaydi). Faqat httpon-dan foydalanish XSS hujumlari yordamida identifikatsiyani o'g'irlashni kamaytirishga yordam beradi. Birlamchi qiymat FALSE.
Ism parametri talab qilinadigan yagona parametrdir. Boshqa barcha parametrlar ixtiyoriy.
Cookie-fayllar
Quyidagi misol "John" qiymatiga ega "user" nomli cookie faylini yaratadi. Cookie 30 kundan keyin tugaydi, bu 86 400 * 30 sifatida yozilgan, bunda 86 400 soniya = bir kun. “/” kuki butun veb-saytda mavjudligini bildiradi.
Keyin biz "foydalanuvchi" cookie-faylining qiymatini olamiz ($_COOKIE global o'zgaruvchisidan foydalangan holda). Cookie o'rnatilgan yoki yo'qligini bilish uchun biz isset() funksiyasidan ham foydalanamiz:
setcookie() funksiyasi tegidan oldin paydo bo'lishi kerak.
Cookie fayli yuborilganda uning qiymati avtomatik ravishda kodlanadi va qabul qilinganda avtomatik ravishda dekodlanadi. Shunga qaramay, maxfiy ma'lumotlarni HECH QACHON cookie fayllarida saqlamang.
Faylga yozish
Faylga yozishda fwrite() funksiyasidan foydalaning.
fwrite() ning birinchi parametri yoziladigan fayldir; ikkinchi parametr yoziladigan satrdir.
Quyidagi misol "names.txt" deb nomlangan yangi faylga bir nechta nomlarni yozadi.
E'tibor bering, biz "names.txt" fayliga ikki marta yozdik va keyin faylni yopish uchun fclose() funksiyasidan foydalandik.
\n belgisi yangi satrlarni yozishda ishlatiladi.
Do'stlaringiz bilan baham: |