You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
6.1 KiB
78 lines
6.1 KiB
6 years ago
|
Ilovani ishga tushirish
|
||
|
====================
|
||
|
|
||
|
`http://hostname/basic/web/index.php` o'rnatganingizdan so'ng, asosiy dastur `http://hostname/basic/web/index.php` URL manzilida yoki `http://hostname/index.php` orqali Veb-server sozlamalariga qarab mavjud bo'ladi. Ushbu bo'lim - kodni tashkil qilishning umumiy ta'rifi, o'rnatilgan funksionallik va murojaatlar bilan ishlash.
|
||
|
|
||
|
> Ma'lumot uchun: Ushbu qo'llanmada Yii `basic/web` katalogiga o'rnatilganini inobatga oladi va u o'z navbatida veb-server sozlamalaridagi ildiz katalogi sifatida o'rnatiladi. Natijada `http://hostname/index.php` URL manziliga kirish orqali `basic/web` joylashgan ilovaga kirishingiz mumkin. Boshlang'ich konfiguratsiya jarayonida batafsil ma'lumotni [Yii-ni o'rnatish bo'limida](start-installation.md) topishingiz mumkin.
|
||
|
|
||
|
Freymvorkdan farqli o'laroq, dastur o'rnatilgandan so'ng, u sizniki bolib qoladi. Siz o`zingizni kodingizni o'zingiz xohlagan tarzda o'zgartirishingiz mumkin.
|
||
|
|
||
|
Funksionallik <span id="functionality"></span>
|
||
|
---------------
|
||
|
|
||
|
Oddiy dastur uchun o'rnatilgan shablon to'rtta sahifadan iborat:
|
||
|
|
||
|
* `http://hostname/index.php` URL manziliga `http://hostname/index.php` ko'rsatiladigan asosiy sahifa
|
||
|
* "About" ("Biz haqimizda") sahifasi
|
||
|
* "Kontakt" sahifasida qayta aloqa shakli joylashgan ushbu shakl orqali u dasturchiga murojaat qilishi mumkin
|
||
|
* "Kirish" sahifasida avtorizatsiya shakl ko'rsatiladi. Foydalanuvchi nomi / parol bilan "login / admin" bilan tizimga kirishingiz mumkin. Asosiy menyu "Login" menyusi "Logout" menyusiga o`zgarishiga etibor bering.
|
||
|
|
||
|
Ushbu sahifalar Sayt ustuni va Sayt pastini ishlatadi. "Header" da foydalanuvchining sayt orqali o'tadigan asosiy menyusi. "Saytning pastki qismida" da - mualliflik huquqi va umumiy ma'lumot joylashgan.
|
||
|
|
||
|
Oynaning eng quyi qismida tizim xabarlarini Yii - log, disk raskadrovka ma'lumotlarini, xato xabarlarini, ma'lumotlar bazasi so'rovlarini va boshqalarni ko'rasiz. Ushbu ma'lumotlarning chiqishi [ichki xotira nazoratchisi](https://github.com/yiisoft/yii2-debug/blob/master/docs/guide/README.md) tomonidan nazorat qilinadi, u dasturni bajarish jarayoni haqidagi ma'lumotni qayd qiladi va ko'rsatadi.
|
||
|
|
||
|
Veb-ilovaga qo'shimcha ravishda, ilovaning asosiy katalogida joylashgan `yii` deb nomlangan konsoli script mavjud. Ushbu skript fon vazifalarni bajarish va dasturni saqlash uchun ishlatilishi mumkin. Bularning barchasi [Konsol buyruqlari](tutorial-console.md) bo'limida yozib o`tilgan.
|
||
|
|
||
|
Yii web-ilovasi tuzilmasi <span id="application-structure"></span>
|
||
|
---------------------
|
||
|
|
||
|
Quyidagida veb-ilovaning tuzilmasi asosiy kataloglari va fayllari ro'yxati berilgan (ilovaning `basic` katalogga o'rnatilgan deb hisoblaymiz):
|
||
|
|
||
|
```
|
||
|
basic/ ilovaning ildiz katalogi
|
||
|
composer.json Composer ishlatadigan fayl
|
||
|
config/ Sozlamalar (konfiguratsion) fayl
|
||
|
console.php Konsol ilovasining sozlamalari
|
||
|
web.php Veb-ilovasining sozlamalari
|
||
|
commands/ konsol ilovalarining klasslari joylashgan
|
||
|
controllers/ nazoratchilar
|
||
|
models/ modellar
|
||
|
runtime/ Ish jarayonida yii yasaydigan fayllar loglar va boshqa fayllar
|
||
|
vendor/ Composer paketlarini tashkil qilib Yii ni o`z ichiga oladi
|
||
|
views/ Web-ilovaning ko`rinish faylari
|
||
|
web/ Web-ilovaning ildiz katalogi,Veb-dan olish mumkin bo`lgan faylarni tashkil etadi.
|
||
|
assets/ Ilova orqali ishlatiladigan scriptlar (js, css)
|
||
|
index.php Yii ga kirish joyi. Yii ishlashni boshlaydi
|
||
|
yii Konsol buyruqlarini ishlatadigan Yii scripti
|
||
|
```
|
||
|
|
||
|
Umuman olganda, Yii ilovasini ikki `basic/web` faylga bo'lish mumkin: `basic/web` joylashgan faylar va boshqa kataloglarda joylashgan faylar. Birinchisi `(basic/web)` internet orqali kirganda ochilishi kerak, ikkinchisi internet orqali ko'rinishi kerak bo'lmagan faylar, chunki ular ish faylari.
|
||
|
|
||
|
Yii-da [MVC-arxetekturasi](http://ru.wikipedia.org/wiki/Model-View-Controller) asosida faylar va kataloglar joylashgan. [models](structure-models.md)katalogida Modellar mavjud , [Ko'rishlar](structure-views.md) ko'rinishlarda joylashgan va barcha dastur [Nazoratchilar](structure-controllers.md) katalogida.
|
||
|
|
||
|
Quyidagi diagrammada dasturning ichki tuzilmasi ko'rsatilgan.
|
||
|
|
||
|
![Ilovaning ichki tuzilmasi](images/application-structure.png)
|
||
|
|
||
|
Har bir dasturda Yii [ilovaga](structure-applications.md) kirish nuqtasi bor, web/index.php - web/index.php ishlash uchun mavjud bo'lgan yagona PHP skriptidir. Kiruvchi so'rovni qabul qiladi va [ilovani bittasini](structure-applications.md) yaratadi. [Ilova komponentlardan](concept-components.md) foydalangan holda qabul qilingan so'rovlarni bajaradi va controllerlarga so'rov yuboradi. [Vidjetlar](structure-views.md) ko'rinishda dinamik sayt interfeyslarini yaratish uchun ishlatiladi.
|
||
|
|
||
|
Foydalanuvchi so'rovining ishlash tartibi <span id="request-lifecycle"></span>
|
||
|
-----------------
|
||
|
|
||
|
Diagrammada dasturning so'rovni qanday qabul qilib ishlashini ko'rsatadi.
|
||
|
|
||
|
![Жизненный цикл запроса](images/request-lifecycle.png)
|
||
|
|
||
|
1. Foydalanuvchi web-ilovaning [kirish nuqtasiga](structure-entry-scripts.md) `web/index.php` ga murojat qilmoqda.
|
||
|
2. Dastur [sozlamalarni](concept-configurations.md) yuklamoqda va so'rovni qabul qilish uchun [web-ilovadan](structure-applications.md) nusxa yaratmoqda.
|
||
|
3. Dastur [yo'nalishni](runtime-routing.md) aniqlashtirib [so'rovni](runtime-requests.md) qabul qilishni boshlaydi.
|
||
|
4. Dastur ilova nusxasini yaratmoqda so'rovni qabul qilish uchun [nazortchi](structure-controllers.md) chaqirilmoqda.
|
||
|
5. Nazoratchi esa o`z novbatida [amalni](structure-controllers.md) yaratadi va unga filtrlarni ishlatadi.
|
||
|
6. Filtrdan birortasi ham ishtan chiqsa amalgacha so'rov bormaydi.
|
||
|
7. Agar hamma filterlar javob qaytarsa so'rov amalga borib javob qaytaradi.
|
||
|
8. Amal model ma'lumotlarini yuklaydi. Ma'lumotlar omborini ishlatishi ham mumin.
|
||
|
9. Amal ko'rinish ma'lumotlarini chiqarib beradi (shuningdek modeldan ham).
|
||
|
10. Shakilangan ma'lumot esa ilovaga [javob](runtime-responses.md) komponentni tariqasida qaytariladi.
|
||
|
11. "javob" komponentni esa foydalanuvchi browseriga javob qaytaradi.
|
||
|
|