Scientific Journal Impact Factor
VEB DASTURLASHDA YII2 FREYMVORK
Ne'matov Oybek Erkin o'g'li
Toshkent kimyo-texnologiya instituti Shahrisabz filiali o'qituvchisi.
Telefon: +998(88)154-47-77 E-mail: [email protected]
ANNOTATSIYA
Veb dasturlashda texnalogiyalar ahamiyati, YII2 freymvorkni qo'llanilishi va undagi avfzalliklar. YII2 freymvorkni windows operatsion tizimida o'rnatish uchun materillar hamda usullar. Loyihalarni ishlab chiqishda ushbu freymvork imkoniyatlaridan foydalanish.
Важность технологий в веб-программировании, использование фреймворка YII2 и его преимущества. Материалы и способы установки фреймворка YII2 в операционной системе Windows. Использования возможности этого фреймворка в реализации проектов.
Ключевые слова: Фреймворк, YII2, PHP, MVC, Gii.
The importance of technologies in web programming, the use of the YII2 framework and its advantages. Materials and methods for installing the YII2 framework in the Windows operating system. Using the capabilities of this framework in the implementation of projects.
Keywords: Framework, YII2, PHP, MVC, Gii.
KIRISH
Hozirgi kunda axborot texnologiyalari (IT) sohalar tarmog'ida web dasturlash sohasi eng keng tarqalgan va eng ko'p yuqori natijalarga erishgan sohalardan biri bo'lib, undagi imkoniyatlarni yanada rivojlantirish borasida texnalogiyalarning o'rni kattadir.
Veb dasturlashda loyihani tez, oson va tartibli ishlab chiqish uchun, dasturlash tillari bilan bir qatorda CMS (Content Management System - Kontentlarni Boshqarish Tizimi) va Freymvork (dasturiy ta'minot platformasi, loyihalash qolipi) texnalogiyalari imkoniyatlaridan foydalaniladi. Bugungi kunda CMS va freymvorklarni juda ko'p turlari yaratilgan, ular ichida eng ommalashgan CMSlar:
Kalit so'zlar: Freymvork, YII2, PHP, MVC, Gii.
АННОТАЦИЯ
ABSTRACT
Scientific Journal Impact Factor
WordPress, 1C-bitrix, Joomla, Drupal va OpenCart bo'lsa, freymvorklardan: Django, Spring, Laravel, YII, React va Angular hisoblanadi. Shular qatoridan;
MUHOKAMA VA NATIJALAR
YII (Yes It Is) - bu tez ishlovchi komponentli PHP freymvork bo'lib, zamonaviy veb ilovalarni tez yaratish uchun mo'ljallangan. YII texnalogiyasini barcha turdagi veb ilovalar yaratishda qo'llash mumkin. Uning komponentli strukturasi va keshlashni juda zo'r qo'llab-quvvatlashi evaziga, bu freymvork asosan portallar, forumlar, CMS, magazinlar yoki RESTful ilovalar kabi katta proyektlar uchun qo'l keladi.
Ko'plab PHP freymvork singari YII ham kodni tashkillashtirish uchun MVC (Model- View-Controller - Model-Ko'rinish-Nazoratchi) modelidan foydalanadi.
YII freymvork yordamida, loyihalashni ma'lum bir qolip asosida tartibli dizaynlash, sodda, aniq, tushunarli va murakkabsiz kodlarni yozish imkoniyatiga ega bo'lamiz. Bu freymvork ko'plab dastur ishlab chiqaruvchilar tomonidan qo'llab-quvvatlanib, rivojlantirilib kelinmoqda.
YII freymvorki ko'plab tasdiqlangan va foydalanishga tayyor xususiyatlarni taqdim etgan, relatsion va NoSQL ma'lumotlar ombori uchun yaratilgan ActiveRecord, ya'ni ma'lumotlar omboridagi ma'lumotlarga bog'lanish sinfi, REST API (bu saytlar va veb ilovalarning server bilan o'zaro ta'siri) ni qo'llab-quvvatlash, ko'p qatlamli keshlash kabi imkoniyatlarni o'z ichiga oladi. Bu freymvorkning boshqa freymvorklardan afvzalligi shundaki, uni kompyuter operatsion tizimiga o'rnatish juda oson, hech qanaqa qiyinchiliklarsiz uni ishga tushirishimiz mumkin va eng asosiysi freymvorkni o'rganish ko'p vaqt talab qilmaydi.
Freymvorkni o'rganish uchun, ishlab chiqaruvchi tomonidan yaratilgan rasmiy sayt www.YIIframework.com ga kirib, u yerda ko'rsatilgan ko'rsatmalar va qo'llanmadan foydalanishimiz mumkin. Ayni vaqtda bu freymvorkning ikkita avlodi mavjud. Freymvorkning yangi 2.0 talqini - bu Composer (paket menejeri), PSR (PHP Standards Recommendations - PHP standartlari bo'yicha tavsiyalar), nomlar sohasi, treytlar (traits) va boshqa shular kabi ko'pgina oxirgi texnologiyalarni va qaydnomalarni qo'llovchi YII ning to'liq boshqatdan yozilgan talqini hisoblanadi. Bu freymvorkda dastur yozish uchun PHP dasturlash tilini bilish va dasturlashning "Obektga yo'naltirilgan dasturlash" usulini tushunish talab etiladi.
Freymvorkni o'rnatish va ishga tushurish uchun, kompyuter operatsion tizimida (Windows, Linux, Mac OS va h.k.) mahalliy veb-serverni o'rnatish lozim, ya'ni, operatsion tizimimizda OpenServer, XAMPP yoki Denwer kabi texnalogiyalar
yordamida mahalliy veb-serverni tashkillashtirib olishimiz kerak. Chunki, mahalliy veb -serverlarsiz veb dasturni ishga tushirishni, faqat IT sohasida faoliyat olib boruvchi tajribali dasturchi muhandislar amalga oshira oladilar.
YII2 Freymvorkni ikki xil usulda o'rnatish mumkin:
1-usul: Composer paket menejeri yordamida o'rnatish. Bu usulda freymorkni o'rnatish uchun avvalo operatsion tizimiga Composerni o'rnatib olamiz. Buning uchun getcomposer.org saytiga kirib, saytda berilgan ko'rsatmalar asosida Composer paket menejeri o'rnatuvchisi Composer-Setup.exe faylini ko'chirib olib, uni operatsion tizimga o'rnatish yoki, operatsion tizimning buyruq yozish oynasi yordamida, saytda berilgan buruqlarni kiritib, ishga tushirish orqali amalga oshiramiz. Ushbu tartibda Composerni o'rnatganimizdan so'ng, mahalliy veb-serverni ishga tushirib, server consolida ushbu:
composer create-project --prefer-dist YII2soft/YII22-app-basic vebdasturim
cmd (Admin)
QCS <1> cmd
W:\domains>composer Creating a "yiiscft/ create-project ■prefer-dist yiisoft/yii2-app-basic vebdasturim
Installing yiiso»t/\ - Downloading yii; ij 4 7 . ann. hac i f M >ott/yii2-app-basJ Le (2.0.43)
- Installing yiisc )ositories with p. : (2.0.43): Extracting archive
- Locking behat/gl - . ag in^t-al 1 0 îerkin (v4.9.e) lipualc3| « "entOV Ol5
- Locking bower-a: ;set/inputmask (B. .3.11)
buyruqni kiritamiz va A-rasmda ko'rsatilgan tartibda ishga tushiramiz.
A-rasm (CMD oynasida, buyruqlar yordamida, YII2 freymvorkni o'rnatish jarayoni).
Rasmda ko'rib turganimizdek buyruq, mahalliy veb-serverimizning "domains" katalogida, yangi "vebdasturim" nomli katalogni yaratib, so'ng, shu katalogda YII2 freymvorkni oxirgi basic (asosiy) shablonini o'rnatib beradi, bu esa o'z navbatida mahalliy veb-serverimizda yangi veb saytni vujudga kelganidan va "vebdasturim" nomi bilan uni test qilib ko'rishimiz mumkinligidan darak beradi. Veb saytimizni test qilishimiz uchun, mahalliy veb-serverni qayta ishga tushiramiz va brauzerda quyidagi URL:
http://vebdasturim/web/index.php
Scientific Journal Impact Factor
manzilini kiritamiz, so'ngra brauzerda ushbu B-rasmda berilgan veb sahifa
ochiladi.
B-rasm (YII2 freymvork asosiy ishchi shablon veb sahifasi).
Ushbu veb sahifa, YII2 freymvorkni ishlab chiqaruvchilari tomonidan tayyorlangan asosiy ishchi shabloni bo'lib, bu veb sahifa freymvorkni veb-serverga to'g'ri o'rnatilganligi va veb sayt ishlab chiqarishni boshlashimiz uchun tayyor holatda ekanligidan dalolat beradi.
2-usul: Arxivdan o'rnatish. YII2 freymvorkni arxivdan o'rnatish uchun uch bosqichni amalga oshirishimiz kifoya. Dastlab freymvorkni www.YIIframework.com
4 ► web.php x I
].
21 'components' => [
ii 'request' -> [
JA //III insert a secret key in the following (if it is empty) - this is required by cookie
validation
25 'cookicValidationKcy' => 'FDS123SKLDFA WEQASFIDS5DA',
2G 'enablcCsrfValidation' => false,
rasmiy saytidan yuklab olamiz, so'ngra, yuklab olingan arxiv faylni veb serverni veb ilovalar joylash jildiga ochib olamiz va config jildiga kirib web.php faylini, fayl tahrirlovchisi (Notepad, SublimeText kabilar) yordamida ochib, cookieValidationKey massiv kalitiga qiymat uchun mahfiy kalit so'z qo'shamiz, C-rasmda ko'rsatilgan kabi.
C-rasm (web.php faylida yozilgan kodini tahrirlash qismi). IMKONIYATLAR VA NATIJALAR
YII2 freymvorkda veb saytni tezkor sifatli ishlab chiqish uchun, "gii" modulining imkoniyatlaridan foydalanish maqsadga muvofiqdir. Gii moduli ishchi rejimida yoki yo'qligini bilish uchun config/web.php faylini ko'zdan kechirishimiz zarur, faylda quyidagi: Sconfig = [ ... ];
if (YII_ENV_DEV) { Sconfig['bootstrap'][] = 'gii'; Sconfig['modules,][,gii'] = [ 'class' => 'YII\gii\Module', ];}
konfiguratsiya kodi kiritilgan bo'lishi zarur, ushbu konfiguratsiya "gii" nomi bilan belgilangan modul, YII\gii\Module sinfini ishlashini taminlaydi. "Gii" modulini ushbu saytimizda ishga tushirishimiz uchun brouzerda quyidagi URL: http://vebdasturim/web/index.php?r=gii
sahifa manziliga murojat etamiz va brouzerimizda D-rasmda berilgan sahifa ochiladi.
Scientific Journal Impact Factor SJIF 2021: 5.423
D-rasm (Gii modulening ishchi stoli).
D-rasmda berilgan sahifaga tayanib takidlash joizki, ushbu modul bizga quyidagi imkoniyatlarni taqdim etadi:
Model Generator - Model yaratuvchi, belgilangan ma'lumotlar ba'zasi jadvali uchun ActivRecord sinfining voris sinfini (modelni) yaratishga yordam beradi.
CRUD Generator - CRUD (create-yaratish, read-o'qish, update-yangilash, delete-o'chirish) tizimini yaratuvchi, ma'lumotlar modeli uchun CRUD operatsiyalarini amalga oshiradigan kontroller va ko'rinishlar tizimini yaratishga yordam beradi.
Controller Generator - Nazoratchi yaratuvchi, bir yoki bir nechta nazoratchi harakatlariga va ularga mos keladigan ko'rinishga ega bo'lgan yangi nazoratchi sinfini yaratishga yordam beradi.
Form Generator - Form yaratuvchi, belgilangan model sinfi uchun ma'lumotlar bilan ishlash formasini ko'rsatadigan, ko'rinish skript faylini yaratishga yordam beradi.
Module Generator - Module yaratuvchi, YII moduli uchun zarur bo'lgan skelet kodini yaratishga yordam beradi.
Extension Generator - Extension yaratuvchi, YII kengaytmasi uchun zarur bo'lgan fayllarni yaratishga yordam beradi.
Masalan, saytimiz uchun yangi SahifaController nazoratchi sinfini yaratishga zarurat tug'ildi, buning uchun D-rasmda berilgan "Controller Generator" uskunasini ishga tushirishimiz kifoya. Ishga tushirish uchun "Start" tugmasini bosamiz, F-rasmda ko'rsatilgan sahifa ochiladi, sahifadagi formani rasmda berilgan kabi to'ldiramiz va "Preview" tugmasini bosamiz. Bizning ushbu formamiz ostidan J-rasmda tasvirlangan SahifaController sinfi fayli va ushbu sinfga bog'langan sahifa ko'rsatgich sahifa/index.php faylini yaratilishini ta'minlovchi qo'shimcha forma qo'shiladi.
F-rasm (Controller Generator formasi).
Controller Generator
Thti oanerator helps voj to quiddv car«rate ■ r«vr cortrofear date Ntth er« or savarai cantroilcr actions and Chair corraicorxfcrg vim. Ccrtrobtr Claw
aw}'>£or<njMers\SabifaController Action IDs
index view Ml«
Base Class
'.Controttar
Coö» Tamptata
«Jefj«.'t (W: VdomainsViMeKvendorvrllJ-gtivj*er>e»3tor• \cantrnllei1aultI
J-rasmda berilganlarga o'zgartirish kiritmasi "Generate" tugmasini bosganimizdan so'ng, barcha yaratishlar bajariladi.
J-rasm (Controller Generator formasi 2-qism). Yaratish muvoffaqiyatli bajarilgandan so'ng, quyidagi URL:
http://vebdasturim/web/index.php?r=sahifa
manzilni brouzerga kiritib, G-rasmda tasvirlangan yangi veb sahifaga ega
My Application
sahifa/index
Yoj may change the content of this page by modifying the file w:\domains\basic\views\sahif a\index.php .
Scientific Journal Impact Factor
bo'lamiz.
G-rasm (Yangi bo 'sh sahifa).
Shu tarzda "gii" modulining boshqa yaratuvchi uskunalari imkoniyatlaridan ham foydalanishimiz mumkin.
Hozirgi kunda veb dasturlashda juda ko'plab freymvorklar mavjud, har biri o'ziga xos uskunalari va tuzulishiga ega. Lekin, dasturning asosiy tomoni nima bilan hisoblanadi? Ha albatta, bu uning xavfsizlik tomoni bilan hisoblanadi. YII freymvorkning imkoniyatlaridan kelib chiqib qaraydigan bo'lsam, bu freymvork bizga dasturni ma'lum bir qolipga solib dastulashda, xavfsizlikni hisobga olishda va dasturchi uchun dasturni kengaytirishda tayyor kengaytmalari bilan, ish unumini oshirishda hissa qo'shadi.
REFERENCES
1. «Разработка веб-приложений в YII 2» Марк Сафронов.
2. «A step by step guide to learning YII 2 for beginners» Bill Keck.
3. «The YII Book (Second edition)» Larry Ullman.
4. «YII2 By Example» Fabrizio Caldarelli.
5. https : //www. YIIframework.com rasmiy sayt.
XULOSA