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 --------------- 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 --------------------- 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 ----------------- 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.