Web dasturlashga kirish fanidan mustaqil ishi



Download 190,3 Kb.
bet1/2
Sana25.03.2023
Hajmi190,3 Kb.
#921523
  1   2
Bog'liq
Akbar Web dasturlash fanidan mustaqil ishi


O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH
VAZIRLIGI


MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
URGANCH FILIALI

KOMPYUTER INJINIRINGI FAKULTETI
Klo’-963-21 GURUH TALABASINING

Web dasturlashga kirish fanidan

MUSTAQIL ISHI


Mavzu: PHP da o'zgaruvchilar va tiplar.

Bajardi: Saparov. A Imzo____________
Qabul qildi: Xo’jamuratov. B Imzo____________


Urganch 2023
Reja:

  1. Kirish.

  2. Asosiy qism.

  1. PHP-da o'zgaruvchini qanday yaratish kerak.

  2. PHP o'zgaruvchisining ko'rinishi.

  3. PHP o'zgaruvchilari bilan operatsiyalar.

  4. O'zgaruvchilarni yaratish.

  1. Yakuniy qism.

  1. Xulosa.

  2. Foydalanilgan adabiyot.


Kirish.
1994 yili PHP tilinig yaratuvchisi Rasmus Lerdorf o‘zinig saytiga mehmonlar kirishini hisoblash uchun Perl dasturlash tilida maxsus qobiq yozib amalda qo‘llagan. Ko‘p o‘tmay qobiqni ishlash unumdorligi juda past va sekinligi aniqlanganidan so‘ng, dasturlarni yangidan “S” tilida yozib chiqishga to‘g‘ri keladi. Keyin, dastlabki dastur kodlari muallif tarafidan barchaga ko‘rish uchun serverga nashr qilingan. Server foydalanuvchilari kodlar bilan qiziqib, uni ishlatish muxlislari ham paydo bo‘lgan. Hademay, bu dasturlar alohida loyihaga aylanib, 1995 yilning iyun oyida dasturiy mahsulot PHP (Personal Home Page) nomi bilan birinchi nashri chiqarildi. 1996 yil aprel oyida dasturlar jiddiy qayta ishlanganidan so‘ng, PHP/FI (Personal Home Page / Forms Interpreter) nomi bilan mahsulotning ikkinchi nashri paydo bo‘ldi. Bu mahsulot HTML-kod ichiga yozilib, HTML-formalarni qayta ishlab, hozirgi PHP dasturlash tilining tayanch imkoniytlarini ichiga olgan. PHP/FI kod yozilishi Perl tiliga juda oxshagan, lekin soddaroq bo‘lgan.
1997 yili PHP/FI 2.0 nashri chiqdi. O‘sha paytda bu mahsulot bilan dunyo bo‘yicha bir necha ming odam foydalanib, taxminan 50 ming domen bo‘lib, Internetning 1%-ni tashkil qildi. 1997 yilda Endi Gutmans va Ziv Suraski PHP/FI kodini boshqatdan yozib chiqishdi, chunki eski kod ular ishlatayotgan elektron tijorat tizimlari uchun yaroqsiz edi. Eski kodning mualliflaridan yordam olish uchun ular birlashishni taklif etib, PHP3 nomli loyihani PHP/FI -ning rasmiy vorisi deb e’lon qilishdi. Yangi loyiha uyushgandan keyin PHP/FI loyihasi ishlab chiqarilishi to‘xtatilgan. PHP 3.0 -ning eng kuchli taraflaridan biri uning kengaytirala olinadigan yadrosi (tizimning boshqaruv qismi) bo‘lib, bundan tashqari, ma’lumot jamg‘armalar bilan, turli protokollar va interfeyslar bilan birgalikda ishlash keng imkoniyatlari yaratildi. Muvaffaqiyatga erishishga ancha ahamiyatli fakt bu yangi tilni boyligi va ob’yektlarga mo‘ljallangan dasturlashni qo‘llay olishi. Yangi loyiha bilan birga nafaqat tilni tashqi, ichki tuzulishi o‘zgardi, balki o‘zini nomi ham. Endi PHP qisqartmasi “PHP: Hypertext Preprocessor” ma’nosini anglatishi bildirildi. 1998 yilning oxirida PHP foydalanuvchilarining soni o‘n minglardan oshdi. Yuz mingdan oshiq veb-saytlar bu tilni qo‘llashini e’lon qilishdi. Taxminan Internetning 10% serverlarida PHP 3.0 o‘rnatilgan edi. 1998 yilning iyun oyda PHP3 to‘qqiz oy ommaviy tekshiruvidan keyin rasman e’lon qilindi. Shu yilning qishida Endi Gutmans va Ziv Suraski PHP yadrosini qaytadan ishlab chiqarishni boshlashgan. Ularning asosiy vazifasi PHP tizimining unumdorligini ko‘tarish va kodning modullarini yaxshilash edi.
1999 yilning o‘rtalarida birinchi marta taqdim qilingan yangi yadro “Zend Engine” deb nomlangan. Uni asosida tuzilgan yangi til PHP4 2000 yilning may oyida rasman chiqarilgan. Unumdorlik yaxshilangandan tashqari, PHP 4.0 muhim yangiliklarga ega bo‘lib, sessiyalarni qo‘llash, buferli chiqarish, kiritilgan ma’lumotlarni havfsiz qayta ishlash va yana bir necha yangi til tuzuvchilarini paydo bo‘lishidan iborat.
Hozirgi kunlarda Zend Engine” qayta yaxshilanib PHP5 tili ishlab chiqarildi. Asosiy o‘zgarishlar ob’yektlarga mo‘ljallangan dasturlash modelida bo‘lib, tilning imkoniyatlarini yanada kengaytirdi.



Php-da o'zgaruvchilar. - Bu turli xil ma'lumotlarni (matn, raqamlar, massivlar va boshqalar) bo'lishi mumkin bo'lgan ma'lumotlar (matn, raqamlar, va boshqalar) mavjud. Umuman olganda, o'zgaruvchilar sizni yaratishga, saqlash, o'zgartirish va kelajakda ularda ko'rsatilgan ma'lumotlarga tezda murojaat qilish imkoniyatini beradi.


PHP-da o'zgaruvchini qanday yaratish kerak.
Birinchidan, o'zgaruvchilar belgi mavjud (Dollar) - o'zgaruvchidan foydalanishni belgilash, keyin harflar lotin alifbosi (A dan Z va kichik va katta), oxirida men o'z ichiga olaman raqamlar. Shuningdek, sarlavhada pastki stressdan (oxirida emas) ishlatilishi mumkin.


Qanday qilib o'zgaruvchilar qo'ng'iroq qilishim mumkin:
$ xil.
$ o'zgaruvchi
$ 1945.
$ _VARION.
Qanday qilib o'zgaruvchilar deb atash mumkin emas:
$ 1 - faqat raqamlardan iborat
$ 1var - Siz o'zgaruvchining nomini raqamlar bilan boshlay olmaysiz
$ / var - qo'shimcha belgilardan faqat pastki pastki qismi _
$ o'zgaruvchi - Kirillika PHP hujjatlari tomonidan ruxsat etiladi, ammo tavsiya etilmaydi
$ Xil - siz bo'shliqlardan foydalana olmaysiz

Har bir o'zgaruvchining qiymati belgilanadi. Qiymatni belgilash (teng). Skriptni qayta ishlash paytida o'zgaruvchining qiymati har xil sharoitlarga qarab bir necha marta o'zgarishi mumkin.


$ City \u003d "Moskva"; // o'zgaruvchan $ shahar (tirnoqlarda) Moskva qiymati
$ 1 \u003d 1147; // $ $ 1 raqamli qiymati 1147 raqamiga tayinlangan
?>

$ \u003d "Aleksandr";


$ Ism \u003d "Alexey";
Echo "$ ism, $"; // chaqirib oldi "Aleksandr, Aleksey"
?>

PHP o'zgaruvchisining ko'rinishi.


Alohida, siz o'zgaruvchilarni qanday qilib ajratish kerak chiqish operatorlari O'tgan darsda PHP hayratini yaratadigan o'tmish darsiga ajratilgan ishlarimiz. Chiqish operatorlari. Quyida men sharhlar bilan bir qator vizual misollarni beraman.
// Shunday qilib, o'zgaruvchining qiymatlarini belgilang
$ Ism1 \u003d "Alexey";
$ Ism2 \u003d "Aleksandr";
// displey o'zgaruvchilari
Echo $ ism2; // chiqadi: Aleksandr
Echo "Ism1 - bu $ 1"; // ismi1 - bu Aleksey
// Yagona tirnoqlardan foydalanganda
// o'zgaruvchan ism, ma'no emas
Echo "Ism1 - bu $ 1"; // Ozod qilish: Ism1 - bu $ 1
// Siz o'zgaruvchilar qiymatlarini ko'rsatishingiz mumkin
Echo $ ism1; // alexei
Echo $ ism1, $ ismi; // Alekseaksansandr
Echo $ ism1 "" $ NOMI2; // Alexey Aleksandr
Echo "$ ism1, $2"; // Aleksand
Aks sado.<<Bu erda sintaksisni ishlab chiqarish uchun "Bu erda" dasturi ishlatadi
O'zgaruvchan almashtirish $ o'zgaruvchi bilan bir nechta qator.
Oxiri;
PHP o'zgaruvchilari bilan operatsiyalar
PHP-da arifmetik operatsiyalar
Raqamli qiymatlar bo'lsa, arifmetik operatsiyalarni amalga oshirish mumkin: qo'shimcha, ajratish, ko'paytirish va boshqalar.
- $ a. (rad etish) belgisini o'zgartirish $ a.
$ A + $ b (qo'shimcha) $ a va $ b.
$ A - $ b (ajratish) Farqi $ a va $ b.
$ A * $ b (Ko'plab ko'paytirish) Mahsulot $ va $ B.
$ A / $ b (bo'linma) Xususiy $ a $ b.
$% $ B (modulda bo'linish) $ a $ b.
Misorlarni ko'rib chiqing
$ a \u003d 2; // E'tibor bering, raqamlar holatida tirnoq o'rnatilmagan
$ b \u003d 3; // E'tibor bering, raqamlar holatida tirnoq o'rnatilmagan
$ natija \u003d $ + $ b; // katlama o'zgaruvchilari
$ $ Natijasi; // 5 ni oladi 5.
$ natija \u003d $ b - $ a; // katlama o'zgaruvchilari
$ $ Natijasi; // 1 ni oladi 1.
PHP-da o'sish va kamaytirish operatsiyalari
Ushbu operatsiyalar asosan qurilish tsikllari, biz bir oz keyinroq gaplashamiz.
Prefiks - o'zgaruvchidan oldin buyurilgan operatorlar ( - $ a.; ++ $ a.). O'zgaruvchan qiymatini o'zgarishlarga qaytaring.
Postfik - o'zgaruvchini o'zgartirgan operatorlar ( $ a--; $ a--). O'zgaruvchan qiymatini o'zgartirish bilan qaytaring.
O'sish - qiymatni oshirish.
Kamaytirish - qiymatni kamaytirish.
++ $ a. Prefiks o'sishi. Har bir birlikning $ birligi va qiymatini qaytaradi va $ a ni qaytaradi.
$ a ++. Postfiksning o'sishi. $ A qiymatini qaytaradi va keyin har bir birlikning $ a qancha turadi.
- $ a. Prefiks kamayishi. $ Bir birlik $ bir qismni kamaytiradi va $ a ni qaytaradi.
$ a-- Postfix kamayishi. $ A qiymatini qaytaradi va keyin $ bir birlik uchun $ miqdorini kamaytiradi.
Aks sado '
Postfiks o'sishi
";
$ a \u003d 5;
Echo "5 bo'lishi kerak". $ A ++. "\\ n";

Aks sado '


Prefiks o'sishi
";
$ a \u003d 5;
Echo "6 bo'lishi kerak:". ++ $ a. "\\ n";
Echo "6 bo'lishi kerak:". $ a. "\\ n";
Aks sado '

Postfix kamaytirish


";
$ a \u003d 5;
Echo "5 bo'lishi kerak". $ a-- "\\ n";

Aks sado '


Prefiks kamayishi
";
$ a \u003d 5;
Echo "4 bo'lishi kerak:". - $ a. "\\ n";
Echo "4 bo'lishi kerak:". $ a. "\\ n";
?>

PHP tayinlash operatsiyalari


Asosiy operator kabi ko'rinadi . Bir qarashda bu operator teng bo'lgan ko'rinishi mumkin. Aslida, bu emas. Aslida, tayinlash operatori chap operand o'ng iboraning qiymatini olishini anglatadi, (i.e. natijada belgilangan qiymatga muvofiq). Birlashtirilgan operatorlar - Keyingi operatsiyalar uchun o'zgaruvchilarning avvalgi qiymatlarini ishlatishga imkon beradigan operatorlardir (satr o'zgaruvchisiga (matnli o'zgaruvchan) yoki raqamli qiymatlarni qo'shish imkonini beradi.
$ \u003d ($ b \u003d 2) + 4; // natijalari: $ 6 hisobiga o'rnatiladi, $ b o'zgaruvchan 2 tayinlanadi.
$ a \u003d 2;
$ a + \u003d 3; // $ 5 bilan $ 5 bilan o'rnatiladi: $ a \u003d $ a + 3;
$ b \u003d "Salom";
$ b. \u003d "Tinchlik!"; // $ b iplari "Bream!", $ B \u003d $ b kabi o'rnatadi. "Mana!";
Shuningdek, taqqoslash ishlari va miya tizerAmmo biz ular haqida quyidagi darslarda gaplashamiz. Men sizni darhol katta ma'lumot bilan qo'rqitmaslikka harakat qilaman!)
13 yil oldin.
Bir oz garchi kerak bo'ladi:
Agar siz ro'yxatdan o'tgan tog'g'lar o'chirilsa, u holda Get_DEFLEDED_VARS () dan foydalaning, siz quyidagicha narsani ko'rishingiz mumkin:
Massiv.
[Globals] \u003d\u003e qator
[Globals] \u003d\u003e qator
* Rekursiya *
[_Post] \u003d\u003e massiv ()
[_Get] \u003d\u003e massiv ()
[_Cookie] \u003d\u003e massiv ()
[_Files] \u003d\u003e massiv ()
)
[_Post] \u003d\u003e massiv ()
[_Get] \u003d\u003e massiv ()
[_Cookie] \u003d\u003e massiv ()
[_Files] \u003d\u003e massiv ()
)
?>

E'tibor bering, $ _Server u erda. Php, agar u biron bir joyda ishlatilsa, Superglobal $ _Serverni yuklaydi. Siz buni amalga oshirishingiz mumkin:


bosib chiqarish "
". HTMLSPEIALCH (Print_r (get_defeded_vars (), to'g'ri))."
" ;
bosib chiqarish "
". HTMLPECIALCH (Print_r ($ _Server, to'g'ri))."
" ;
?>

Keyin $ _Server ikkala ro'yxatda paydo bo'ladi. O'ylaymanki, bu aslida emas, balki hech qanday yomon narsa bo'lmaydi, ammo bu qiziquvchan qiziquvchan.
6 yil oldin.
Get_Defeded_vares () faqat o'zgaruvchini faqat o'zgaruvchini faqat siz funktsiyaga qo'ng'iroq qilganingiz uchun mavjud bo'lgan o'zgaruvchilarni joriy doirada aniqlab olishning oddiy usuli bor.
// PHP skriptingiz eng yuqori
$ vars \u003d get_DEFLED_VARS ();
// Endi narsalaringizni bajaring
$ foo \u003d "foo";
$ Bar \u003d "bar";
// hozirgi doirada belgilangan barcha parametrlarni oling
$ vars \u003d arra_difc (get_defeded_vars (), $ vars);
aks sado '
"
;
print_r ($ vari);
aks sado '
" ;
?>
15 yil oldin.
Mana, displey yoki elektron pochta orqali disklarning hisobotini keltirib chiqaradigan funktsiya
get_Defeded_vares-dan foydalanish. Batafsilroq suratga olish uchun juda yaxshi
foydalanuvchi kiritishga tayanish.
funktsiya GenereteBuGReReport ($ METIS, $ CONDED_VARE, $ elektron pochta \u003d "aniqlanmagan") (
// Displey yoki elektron pochta orqali disklarning hisobotini yaratish uchun funktsiya.
// Foydalanish: genedebugugreport (usul, get_defed_vals (), elektron pochta);
// usul "brauzer" yoki "elektron pochta".
// "Get_Nefined_vard" tomonidan qaytarilgan kalitlar uchun e'tiborsiz ro'yxatni yarating.
// masalan, http_post_varar, http_get_varar va boshqa
// ortiqcha (_post, _get)
// Xavfsizlik nuqtai nazaridan e'tiborga olinmagan variantlarni o'z ichiga oladi - i.e. Fpsessid.
$ inforsist \u003d qator ("http_post_vard", "http_get_vard",
"Http_cookie_varar", "http_server_vars",
"Http_env_vard", "http_sessiya_vard",
"_Env", "fpsessid", "SES_DBUSER",
"Sess_DBRINT", "HTTP_COOKIE");
$ vaqtestamp \u003d Sana ("M / D / Y: m: s");
$ celle \u003d "Narx hisoboti $ vaqtlar uchun yaratdi";
// Yaxshi o'lchov uchun oxirgi SQL xatosini oling, u erda resurs identifikatori bo'lgan $ liniya
// mysql_connect uchun. Ma'lumotlar bazangiz yoki mavhum sozlamaingiz uchun sharhlang yoki o'zgartiring.
global $ havola;
$ Sql_rror \u003d mysql_Error ($ havola);
agar ($ sql_rror) (
$ xabar. \u003d "\\ nmysQL xabarlari: \\ n". mysql_Error ($ havola);
}
// mysql tugadi.
// bu erda rekurvli funktsiyadan foydalanishingiz mumkin. Siz fikrni olasiz ;-)
foreaecation ($ 3 uchun $ comme \u003d\u003e $ va $
Agar (IS_RRAY ($ val) &&! In_array ($ tugmachani, $ butila) va & hisoblash ($ val)\u003e 0)
$ Xabari. \u003d "\\ N $ tugmacha massiv (kalit \u003d qiymat): \\ n";
Forvare ($ wat $ Subkey \u003d\u003e $ SubVal) (
Agar (! Ind_Rey ($ Subkey, $, $, $) &&! Is_RAY ($ SubVal)) (
$ Xabar. \u003d $ Subkey. "\u003d". $ sublyal. "\\ n";
}
Boshqaif (! Ind_Rey ($ Subkey, $, $, $) && Imray ($ SubVal)) ($)) ($)) (
Foreae ($ Subvan $ Suubkey \u003d\u003e $ sububval) (
if (! Ind_array ($ sububey, $, johilist)) (
$ xabari. \u003d $ Subyubey. "\u003d". $ sububval. "\\ n" ;
}
}
}
}
}
Elif (!iS_RRAY ($ val) &&! In_RRAY ($ tugmachani, $ lynorelist) && $ val) (
$ Xabari. \u003d "\\ Nvartira". $ Tugmasi. "\u003d". $ Val. "\\ n";
}
}
Agar ($ center \u003d\u003d brauzer ») (
Echo NL2BR ($ xabar);
}
Elif ($ cente \u003d\u003d "elektron pochta") (
agar ($ elektron pochta \u003d\u003d "aniqlanmagan") (
$ elektron pochta \u003d $ _Server ["Server_ADmin"];
}
$ MRETULT \u003d MAIL ($ elektron pochta). $ _Env ["Xostname"]. "", $ Xabari);
if ($ messult \u003d\u003d 1) (
Aks sado. "Narx hisobotni muvaffaqiyatli yubordi. \\ N";
}
Boshqa (
Aks sado. "Narx reaktsiyasini yuborib bo'lmadi. \\ N";
}
}
}
?>

17 yil oldin.


XML-ga get_trhited_varar ob'ekti deb o'zgartirish uchun oddiy tartib.
obJ2XML ($ v, $ a) (
Vaqt (ro'yxati ($ tugmachani, $ val) \u003d har biri ($ V)) ($ V)) ($ V)) (
Agar ($ tugmasi \u003d\u003d __attr ») davom etsa;
// __attrni tekshiring
agar (is_objject ($ val -\u003e\u003e __att)) bo'lsa) (
Vaqt (ro'yxati ($ tugmachasi2, $ Val2) \u003d har biri ($ val -\u003e __ATTRTRTRTRTR)) (
$ At \u003d "$ tugma2 \u003d \\" $ Val2 \\ ";
}
}
Elsetiv $ \u003d "";
Agar (IS_RRAY ($ val) || IS_OBESS ($ val)) ($ val)) ($ val)) (
Chop etish ("$ belgisi< $key$attr >\\ n));
obj2xml ($ va $ belgisi);
Chop etish ("$ belgisi\\ n));
}
Boshqa chop etish ("$ belgisi< $key$attr > $ val\\ n));
}
}
// misol.
$ x -\u003e Ism -\u003e Birinchi \u003d "Jon";
$ x -\u003e Ism -\u003e So'nggi \u003d "Smit";
$ x -\u003e BRONA ["MARKA"] \u003d "Bannana";
$ x -\u003e BRONA ["Vet"] \u003d "sabzi";
$ Y -\u003e Xaridor \u003d x $;
$ Y -\u003e Mijoz -\u003e __ATTRR -\u003e ID \u003d "176C4";
$ z \u003d get_DEFLED_VARS ();
obj2xml ($ z ["y"]);
?>
chiqadi:

Yuhanno.
Smith


Bannana.
Sabzi.

11 yil oldin.


Eslatma sifatida, get_DEFLED_VARS () o'zgaruvchan ma'lumotnomalar to'plamini qaytarmaydi (umid qilganingizdek). Masalan:
// o'zgaruvchini aniqlang
$ My_VAR \u003d "foo";
// Bizning aniq o'zgaruvchilar ro'yxatini oling
$ conded_varar \u003d get_defeded_vars ();
Endi ishonchni qaytarilgan massiv orqali o'zgartirishga harakat qiling
$ Ochilgan_varar ["My_var"] \u003d "Bar";
echo $ my_var, "\\ n";
?>

"Foo" (asl qiymati) chiqadi. Agar get_valsed_vars () ularni havola qilish uchun ixtiyoriy argument bo'lsa, lekin men ularni o'zingiz ixtisoslashgan so'rovini tasavvur qilaman.


$ aniqlangan_varar \u003d massiv ();
$ var_names \u003d arra_keylar (get_defed_vals);
oldindan so'rang ($ vaneame $ vaname)
{
$ Ochilgan_varar [$ vaname] \u003d & $ vaname;
}
?>
1 yil oldin.
Men bu erda "Bu" oldinda get_Defeded_varesda joylashgan.
Bu har doim ham yo'q, lekin Sitiain holatlarida bu tushunarli ko'rinadi.
Php -r "
Sinf sinovi (
Jamoat funktsiyasi A () (Var_dump (Cor_Kited_VARs ()); $ a \u003d 123;)
Jamoat funktsiyasi B () (Var_dump (Cor_keyds (Get_Defined_VARS ()); $ bu;)
}
$ t \u003d yangi sinov ();
$ T-\u003e a ();
$ T-\u003e b ();
"
Massiv ()
Massiv ("Bu")
Bu PHP 7.2 da sodir bo'lmaydi, ammo php 5.6 da bo'ladi.
1 yil oldin.
Ba'zi sharhlar bu funktsiyaga mos keladigan ma'lumotlarga javob berishini ta'kidlaydi. Ammo bu ismlar va ismlar "havolalar" dir.
Men uni havolalarga aylantiradigan takliflarni tavsiya qilmayman.
XTOSIY FUNCK X ($ a, $ a, $ c) (
Foreae (Array_keys (Get_Defeded_Vars () $ tugmacha)
Agar ($ tugmasi \u003d\u003d "Bu")
$ bu-\u003e y ($ ($ tugma));
}
JOSIYA FUNCIYA funktsiyasi y (& $ kiriting) (
$ kod ++;
}
$ () O'rniga siz $$ dan foydalanishingiz mumkin.
Mening vaqtimda juda umumiy kodni yaratish uchun biroz hushyorliklarni qildim, lekin men hech qachon yuqorida aytilganlarga o'xshamas edim. Bu hatto ishlamasligi mumkin, ammo bu $ [$ tugmachani].
Siz shuningdek $$ tugmachasini bajarishingiz mumkin edi ++, lekin men hech qachon men "dahshatli dinamik emas" degani kabi hech qachon kodni ko'rmaganman.
Agar siz shunga o'xshash narsani qilsangiz, unga qo'shimcha tekshiruv bering. Derazalardagi muhit o'zgaruvchilari (muhitlar) tizim sozlamalari va foydalanuvchi muhiti haqida turli xil ma'lumotlar bo'ladi. Atrof-muhit, tizimlar va jarayonlarning o'zgaruvchilari mavjud.
Windows-da atrof muhit o'zgaruvchilarining mazmunini ko'rishning eng oson usuli - Tizimning xususiyatlarini oching (sysdm.cpl) -\u003e Ilg'or -\u003e Chorshanba o'zgaruvchilar. Ko'rinib turibdiki, hozirgi bo'limlarda ikkita bo'lim mavjud: Yuqorida, pastki qismida foydalanuvchi muhitining o'zgaruvchilari mavjud.

Bundan tashqari, atrof-muhit o'zgaruvchilari tizim reestrida saqlanadi. Shaxsiy o'zgaruvchilar bo'limda saqlanadi. Tizim - B. HKLM \\ System \\ Amaldagi Amaldagi boshqaruv \\ sessiya menejeri \\ Atrof.

Windows buyruqining so'rovida barcha atrof-muhit o'zgaruvchilarining qiymatlarini qaytarib olishingiz mumkin. Jamoa oddiy:

Buyruq atrof-muhit o'zgaruvchilari va ularning qadriyatlari ro'yxatini ko'rsatadi.
PowerHellda barcha atrof-muhit o'zgaruvchisini ko'rsatish uchun siz buyruqdan foydalanishingiz mumkin:
Agar siz faqat bitta o'zgaruvchini ko'rsatishni istasangiz, aks-sado buyrug'idan foydalanishingiz kerak va o'zgaruvchining nomi foiz belgilari bo'yicha tuzilishi kerak. Masalan,
Echo% tizimroot%

cont\u003e C: \\ TMP \\ HEST.TXT

Muayyan jarayon atrof-muhitining o'zgaruvchilari bepul foydalanish mumkin jarayonni qayta ishlash yordamchislari (siesinalsdan). Jarayon xususiyatlarini oching va yorliqqa o'ting Atrof-muhit. Shaklingiz yoki uyda shkaf yoki shkafingiz bor. Ularning foydalanish printsipi oddiy: biz hozir kerak bo'lmagan narsalarni olib tashlaymiz, ammo biroz vaqtdan keyin kerak bo'lishi mumkin. O'zgaruvchilar bir xil tarzda joylashtirilgan. Ular bir oz qiymat solishi mumkin va u erga qadar saqlanadi.
O'zgaruvchilarni yaratish.
O'zgaruvchini quyidagicha joylashtiring:
Yuqoridagi kodda biz o'zgaruvchi $ ismini yaratdik va uni Ivan qiymati yaratdik, so'ng o'zgaruvchi $ 20 ni yaratdi va 20 ga teng bo'lsa.
"O'zgaruvchining" nomi uning qiymati skriptni ijro etish paytida farq qilishi mumkinligini anglatadi:
Ba'zi tillarda o'zgaruvchi birinchi bo'lib "e'lon qilish" kerak va keyin undan foydalaning. PHP-da reklama yo'q - o'zgaruvchisi uni ichiga qo'yganingizda yaratilgan.
Biroq, PHP dasturchilari ko'pincha "o'zgaruvchini yaratish" o'rniga "o'zgaruvchini e'lon qilish" deb aytishadi.
Shuningdek, "o'zgaruvchan qiymatni kiritish" o'rniga, "qiymat tayinlash" deb aytilgan.
Sababi oddiy - belgidir \u003d, bu qiymatni o'zgaruvchini tejaydigan "tayinlash operatori" deb nomlangan. Shunday qilib, "tayinlang" atamasi.
Qoidalar Nomlar o'zgaruvchilar.
1. O'zgaruvchining ismi $ belgidan boshlanadi.
2. Ikkinchi belgi xat yoki yopilishi mumkin _
O'zgaruvchilar nomlari aniq bardoshli. $ Ism va $ ism har xil o'zgaruvchilar.
Ekrandagi o'zgaruvchan qiymat.
Siz ECHO jamoasi biz bilan tanishgan echo jamoasi yordamida o'zgaruvchini olib tashlashingiz mumkin:
Echo buyrug'i birdaniga bir nechta qiymatlarni namoyish etish imkonini beradi:
E'tibor bering, biz ularni vergul bilan ajratib, aks-sado 2 qiymatga o'tkazdik. Shunday qilib, biz har qanday qiymat to'plamlarini uzatamiz. Keyingi ikkita misol bir xil natijaga olib keladi:
Shuningdek, php-da o'zgaruvchilar chiqishning qisqartirilgan sintaksisi mavjud. O'rniga
PHP 5.4 php 5.4 versiyasidan oldin, qisqartirilgan sintaksiya PHP sozlamalarida qisqa_open_tog ko'rsatgi paytida ishlagan, bu esa, shuningdek, qisqartirilgan ochilish yorlig'iga kiradi
O'zgaruvchining qiymatini tekshiring.
Echo buyrug'i har doim o'zgaruvchining joriy qiymatini tekshirish uchun qulay emas. Masalan, bo'sh satrni chiqarishga harakat qilganda "" Ekranda mutlaqo hech narsa ko'rsatilmaydi. Va bo'sh o'zgaruvchan yoki ishlamaydigan kodda nima sabab bo'lganligi aniq emas.
Shuning uchun o'zgaruvchan qiymatni tekshirish uchun, Var_dump () funktsiyasidan foydalaniladi:
Ssenariyning natijasi:
Satr (5) "Vasya" satri (0)
Ko'rinib turibdiki, PHP nafaqat o'zgaruvchining tarkibi, balki belgilar soni va hatto o'zgaruvchan turi (torli chiziq). Quyidagi darslarda biz ko'rib chiqadigan ma'lumotlar turlari.
O'zgaruvchilarni o'chirish.
Siz mavjud o'zgaruvchini barposiz () funktsiyasidan foydalanib o'chirishingiz mumkin:
Va endi biroz mashq qilish vaqti keldi.
Esingizda bo'lsin, PHP bo'yicha deyarli har qanday vazifa bir nechta echimlar bo'lishi mumkin. Shuning uchun, agar sizning echimlaringiz ushbu saytda yozishdan farq qilsa - bu siz noto'g'ri ish qilganingizni anglatmaydi.
Scriptni yozing:
1. Sarlavha va tarkib nomlari va ba'zi qiymatlar bilan o'zgaruvchini yaratadi.
2. H1 yorlig'idagi sarlavha o'zgaruvchisining qiymatini va div yorliqdagi tarkibiy qismining qiymatini ko'rsatadi.
Qarorni ko'rsating
", $ Sarlavha""; Echo"
", $ Tarkib"
"; ?>
Ushbu qaror faqat haqiqat emasligiga e'tiboringizni qaratmoqchiman. Masalan, quyidagi kod shu natijaga olib keladi:
Ushbu darsda PHP o'zgaruvchilarining ko'rinishi doirasi ko'rib chiqiladi. Mahalliy va global ko'rinishga ega bo'lgan farq tushunarli, funktsiyadagi global o'zgaruvchilarga qanday kirish mumkinligi, superg'ullar bilan qanday ishlash va statik o'zgaruvchini yaratish mumkinligini ko'rsatadi.
Siz PHP-ni o'rganishni boshlaganingizda va xususiyatlar va narsalar bilan ishlashni boshlaganingizda, o'zgaruvchilar qatoriga bir oz xijolat tortadi. Yaxshiyamki, bu borada PHP qoidalari tushunish uchun juda sodda (boshqa dasturlash tillari bilan taqqoslaganda).
Ko'rishning ko'lami qanday?
O'zgaruvchilar ko'lami - bu o'zgaruvchi aniqlangan va unga qayerga kirishingiz mumkin bo'lgan kontekst. PHP-da o'zgaruvchan ko'rinadigan joylarning ikkita maydoni mavjud:

  • Global - Siz skriptning istalgan burchagiga kirishingiz mumkin

  • Mahalliy - Siz faqat o'zingiz aniqlangan funktsiya ichiga kirishingiz mumkin

O'zgaruvchining va ayniqsa mahalliy, kodni boshqarishni sezilarli darajada oshiradi. Agar barcha o'zgaruvchilar global bo'lsa, ularni skriptning istalgan joyida o'zgartirilishi mumkin edi. Bu betartiblik va katta skriptlarga olib keladi, chunki skriptdan foydalanishning o'zgaruvchilari bir xil nomlar bilan o'zgaradi. Mahalliy kontekstga qarab, siz o'zgaruvchidan kira oladigan kodning chegarasini cheklaysiz, bu kodni o'zgartiradigan, modulli va osonlik bilan olib o'tish oson bo'lgan kodni keltirib chiqaradi. Jahon miqyosidagi o'zgaruvchan o'zgaruvchilar global deb ataladi va mahalliy ko'rinishi - mahalliy. Mana, global va mahalliy o'zgaruvchilar qanday ishlashiga misol.
";) Sayhello (); echo" qiymat \\ $ global nomi: "$ global narx"
"; Echo" qiymati \\ $ Center nomi: "$ CentalName"
"; ?>
Salom Garri! $ Global nomning qiymati: "Zoya" DASTURI DASTURI: "
Ushbu skriptda biz ikkita o'zgaruvchini yaratdik:

  • $ global nom. - bu global o'zgaruvchan

  • $ CenterLame. - bu mahalliy Sayxelllo () funktsiyasida yaratilgan o'zgaruvchi.

O'zgaruvchan va funktsiyani yaratgandan so'ng, skript "Salom, Garri!" Deb deb ataydigan Sayhello (). . Keyin skript ECHO funktsiyasidan foydalanib, skript ikkita o'zgaruvchining qiymatini aks ettirishga harakat qiladi. Bu shunday bo'ladi:

  • Kabi $ global nom. U funktsiyadan tashqarida yaratilgan, u skriptning istalgan joyida mavjud, shuning uchun "Zoya" aks etadi.

  • $ CenterLame. Bu faqat Sayxelllo () funktsiyasida mavjud bo'ladi. Echo ifodasi funktsiyadan tashqarida bo'lganligi sababli, PHP mahalliy o'zgaruvchiga kirmaydi. Buning o'rniga, PHP kod yangi o'zgaruvchini yaratadi, bu standart qiymatni oladi - bo'sh satrni oladi. Shuning uchun ikkinchi echo qo'ng'iroq haqiqiyligini ko'rsatadi.

Funktsiyadagi global o'zgaruvchilarga kirish.
Jahon o'zgaruvchisiga kirish uchun funktsiyadan tashqarida Uning ismini yozish kifoya. Ammo global o'zgaruvchanlarga kirish uchun funktsiya ichidaSiz birinchi navbatda global kalit so'z yordamida global funktsiya sifatida o'zgaruvchini e'lon qilishingiz kerak:
Funktsiya Myfunktsiyasi () (global $ global narx; // global o'zgaruvchisiga kirish
Agar buni qilmasangiz, unda PHP mahalliy o'zgaruvchini yaratganingizni yoki undan foydalanayotganingizni taxmin qiladi.
Bu erda funktsiya ichida global o'zgaruvchini ishlatadigan skriptning misoli:
"; Global dollar global yangilik; echo" salom, $ global!
";) Sayhello ();?
Skriptni bajarishda o'chiriladi:
Salom Garri! Salom, Zoe!
Sayxelllo () funktsiyasi global darajadagi $ Centare Corle-ni ajratish uchun global kalit so'zni ishlatadi. Shundan so'ng, u o'zgaruvchan va chiqish qiymatini ("Zoya") olishi mumkin.
SuperLobulbler nima?
PHP turli xil ma'lumotlarni o'z ichiga olgan oldindan belgilangan global massivlar to'plamiga ega. Bunday qatorlar deyiladi superGlobondlar, Ular har qanday skript joyidan, shu jumladan ichki funktsiyalar bo'shlig'idan, shu jumladan, ular global kalit so'z yordamida aniqlanmaslik kerak.
Bu erda PHP versiyasi mavjud bo'lgan supergogellarning ro'yxati:

  • $ Globallar - skriptdagi barcha global o'zgaruvchilar ro'yxati (Superglobal bundan mustasno)

  • $ _Get - so'rovni olish orqali brauzer tomonidan yuborilgan barcha shakllar ro'yxatini o'z ichiga oladi

  • $ _Post - Post so'rovidan foydalangan holda brauzer tomonidan brauzer tomonidan brauzer orqali shakldagi barcha maydonlarning ro'yxatini o'z ichiga oladi

  • $ _Cookie - brauzer tomonidan yuborilgan barcha cookie-fayllarning ro'yxatini o'z ichiga oladi

  • $ _Request - ASBLANTA BERADI, $ _post, $ _cookie

  • $ _Fils - brauzer tomonidan yuklangan barcha fayllar ro'yxatini o'z ichiga oladi

  • $ _Sesasce - joriy brauzer uchun o'zgaruvchan sessiyalarni saqlash va ulardan foydalanishga imkon beradi

  • $ _Server - Server haqida ma'lumotni o'z ichiga oladi, masalan, skriptning ishlangan va brauzerning IP-manzili.

  • $ _Env - PHP tomonidan uzatiladigan PHP o'zgaruvchilar ro'yxatini o'z ichiga oladi, masalan, CGI o'zgaruvchilar.

Masalan, siz Skript So'rovini URL manziliga olish va sahifada namoyish etish uchun $ $ _get-dan foydalanishingiz mumkin:
Agar siz yuqorida ko'rsatilgan skriptni URL strelkasi yordamida boshlasangiz http://www.example.com/script.php?ohnote\u003dfed, keyin u chiqadi:
Salom Fred!
Ogohlantirish! Haqiqiy skriptda siz hech qachon bunday ma'lumotlarni zaif xavfsizlik tufayli hech qachon foydalana olmaysiz. Siz har doim ma'lumotlarni tekshirish yoki filtrlashingiz kerak.
Superglobal $ STULG - bu foydalanish uchun juda qulaydir, chunki u global kalit so'zni ishlatish kerak bo'lmagan funktsiyada global o'zgaruvchilarga kirishni tashkil etishga imkon beradi. Masalan:
";) Sayhelllo (); // Display" Salom, Zoe! "?\u003e
Statik o'zgaruvchilar: ular yaqin joyda.
Funktsiya ichida mahalliy o'zgaruvchini yaratganingizda, funktsiya ishlaydi, faqat mavjud. Funktsiya tugagandan so'ng, mahalliy o'zgaruvchi yo'qoladi. Funktsiya yana chaqirilganda, yangi mahalliy o'zgaruvchilar yaratildi.
Aksariyat hollarda u yaxshi ishlaydi. Shunday qilib, funktsiyalar har doim teng va har doim teng ishlaydi.
Biroq, funktsiya qo'ng'iroqlari o'rtasida o'z qadriyatini "eslaydi" degan ma'noni anglatadigan holatlar mavjud. Bunday o'zgaruvchi statik deb nomlanadi.
Statik o'zgaruvchini yaratish uchun siz o'zgaruvchan nom oldida statik so'zni ishlatishingiz va uni boshlang'ich qiymatini ko'rsatishingiz kerak. Masalan:
Funktsiya MyFunxt () ()
Statik o'zgaruvchidan foydalanish qulay bo'lgan vaziyatni ko'rib chiqing. Aytaylik, siz qo'ng'iroq vidjetni keltirib chiqarganda, allaqachon yaratilgan vidjetlar sonini ko'rsatadigan funktsiyani yaratasiz. Siz mahalliy o'zgaruvchini ishlatgan holda bunday kodni yozishga harakat qilishingiz mumkin:

"; Aks sadowidget ()" Biz allaqachon yaratdik.


"; Aks sadowidget ()." Biz allaqachon yaratdik.\u003e
"; ?>
Ammo, o'zgaruvchan $ raqamlari har safar funktsiya deb nomlanganda yaratilganligi sababli, biz quyidagi natijaga erishamiz:
Ba'zi vidjetlarni yarating ... 1 Biz allaqachon yaratganmiz. 1 Biz allaqachon yaratganmiz. 1 Biz allaqachon yaratganmiz.
Ammo statik o'zgaruvchidan foydalanib, biz bir qo'ng'iroqdan boshqasiga qiymatni tejashimiz mumkin:
"; Aks sadowidget ()" Biz allaqachon yaratdik.
"; Aks sadowidget ()" Biz allaqachon yaratdik.
"; Aks sadowidget (). Biz allaqachon yaratdik.
"; ?>
Endi skript kutilayotgan natijani beradi:
Ba'zi vidjetlarni yarating ... 1 Biz allaqachon yaratganmiz. 2 Biz allaqachon yaratganmiz. 3 Biz allaqachon yaratganmiz.
Statik o'zgaruvchi funktsiya qo'ng'iroqlari o'rtasidagi qiymatni tejashiga qaramay, u faqat skriptni ijro etish paytida ishlaydi. Skriptning qatl etilishi bilanoq, barcha statik o'zgaruvchilar, shuningdek mahalliy va global o'zgaruvchilar yo'q qilinadi.
Подробнее: https://sukachoff.ru/uz/vosstanovlenie/peremennye-v-php-oblast-vidimosti-peremennyh-php-vse-chto-vy-hoteli-znat-no/

Xulosa.
Foydalanadigan ko'pgina dasturlash tillari mavjud, ammo PHP hali ham server tomonidagi skriptlarning eng yaxshi variantidir. Biroq, PHP mutaxassisi bo'lsangiz ham, har bir yangi loyihaning barcha qismlarini kodlash uzoq vaqt talab etadi. Biroq, ehtiyojlaringiz uchun eng yaxshi PHP asosini tanlasangiz, ko'pgina asoslarni atlayabilir va yangi loyihani ishlab chiqishning qiziqarli qismiga o'tishingiz mumkin.
Kutilganidek, ishlashda shubhasiz etakchi (ammo rivojlanish tezligi emas) Phalcon. Ikkinchi o'rin - va aslida PHP tizimidagi birinchi (Phalcon uchun manba kodi bo'lgan C emas) - CodeIgniter 3 tomonidan qabul qilinadi!
Albatta, har bir qurilmaning o'z maqsadi borligini unutmang. Agar siz kichik va engil frameworklarni tanlasangiz va oddiy ilovalardan yoki REST API-dan farq qiladigan biror narsa yozmoqchi bo'lsangiz, u holda funksiyani kengaytirishda muammolarga duch kelasiz. Va aksincha - to'liq xususiyatli, katta frameworklarning ortiqcha bo'lishi, og'ir yuk ostida boshlang'ich ilovalar uchun ham xizmat ko'rsatish uchun moliyaviy xarajatlarni keltirib chiqaradi.
Ushbu test, PHP 7.0 va 7.1 tillaridagi va kelajakdagi loyihalarda ishonchliligini tasdiqlash / tushuntirish va kuchaytirish uchun, hosildorlikning oshganligi haqida ma'lumotni etkazish uchun amalga oshirildi.


Download 190,3 Kb.

Do'stlaringiz bilan baham:
  1   2




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish