Ushbu bo'limda veb-saytlarning ayrim keng tarqalgan imkoniyatlarini amalga oshiruvchi kodni avtomatik generatsiya qilish uchun Giidan qanday foydalanish tasvirlanadi. Gii yordamida kodni avtomatik generatsiya qilish shunchaki Gii veb-sahifalarida ko'rsatilgan yo'riqnomalarga muvofiq to'g'ri ma'lumotlarni kiritishdan iborat.
Ushbu qo'llanma davomida siz quyidagilarni qanday bajarishni o'rganasiz:
Gii Yii tarkibida modul
sifatida taqdim etiladi. Gii ni ilovaning modules xossasida sozlash orqali yoqishingiz
mumkin. Ilovani qanday yaratganingizga qarab, quyidagi kod config/web.php sozlamalar faylida allaqachon mavjud
bo'lishi mumkin:
$config = [ ... ];
if (YII_ENV_DEV) {
$config['bootstrap'][] = 'gii';
$config['modules']['gii'] = [
'class' => 'yii\gii\Module',
];
}
Yuqoridagi sozlamaga ko'ra, ishlab chiqish muhitida ilova gii
nomli modulni o'z ichiga olishi kerak, bu modul yii\gii\Module klassiga mansub.
Ilovangizning web/index.php kirish skriptini tekshirsangiz, quyidagi qatorni topasiz,
u aslida YII_ENV_DEV ni true ga tenglashtiradi.
defined('YII_ENV') or define('YII_ENV', 'dev');
Shu qator tufayli ilovangiz ishlab chiqish rejimida bo'ladi va yuqoridagi sozlamaga ko'ra Gii allaqachon yoqilgan bo'ladi. Endi Gii ga quyidagi URL orqali kirishingiz mumkin:
https://hostname/index.php?r=gii
Eslatma: Agar Gii ga localhost dan boshqa kompyuterdan kirayotgan bo'lsangiz, xavfsizlik maqsadida kirish sukut bo'yicha rad etiladi. Ruxsat etilgan IP-manzillarni qo'shish uchun Gii ni quyidagicha sozlashingiz mumkin:
'gii' => [ 'class' => 'yii\gii\Module', 'allowedIPs' => ['127.0.0.1', '::1', '192.168.0.*', '192.168.178.20'] // ehtiyojlaringizga moslashtiring ],

Gii yordamida Active Record klassini generatsiya qilish uchun "Model Generator"ni tanlang (Gii bosh sahifasidagi havolani bosing). Keyin formani quyidagicha to'ldiring:
countryCountry
Keyin "Preview" tugmasini bosing. Natijada yaratiladigan klass fayllari ro'yxatida models/Country.php ko'rsatilganini
ko'rasiz. Uning tarkibini ko'rib chiqish uchun klass fayli nomini bosishingiz mumkin.
Gii dan foydalanishda, agar xuddi shunday fayl allaqachon yaratilgan bo'lsa va uning ustiga yozmoqchi bo'lsangiz,
generatsiya qilinadigan kod bilan mavjud versiya o'rtasidagi farqlarni ko'rish uchun fayl nomi yonidagi diff tugmasini
bosing.

Mavjud fayl ustiga yozayotganda "overwrite" yonidagi katakchani belgilang va keyin "Generate" tugmasini bosing. Yangi fayl yaratayotgan bo'lsangiz, shunchaki "Generate"ni bosishingiz mumkin.
Shundan so'ng kod muvaffaqiyatli generatsiya qilinganini bildiruvchi tasdiqlash sahifasini ko'rasiz. Agar mavjud fayl bo'lgan bo'lsa, uning yangi generatsiya qilingan kod bilan ustiga yozilgani haqidagi xabarni ham ko'rasiz.
CRUD — bu Create, Read, Update va Delete so'zlarining qisqartmasi bo'lib, ko'pchilik veb-saytlarda ma'lumotlar bilan bajariladigan to'rtta keng tarqalgan vazifani ifodalaydi. Gii yordamida CRUD funksionalligini yaratish uchun "CRUD Generator"ni tanlang (Gii bosh sahifasidagi havolani bosing). "country" misoli uchun hosil bo'lgan formani quyidagicha to'ldiring:
app\models\Countryapp\models\CountrySearchapp\controllers\CountryController
Keyin "Preview" tugmasini bosing. Quyida ko'rsatilganidek, generatsiya qilinadigan fayllar ro'yxatini ko'rasiz.

Agar avval controllers/CountryController.php va views/country/index.php fayllarini (qo'llanmaning ma'lumotlar
ombori bo'limida) yaratgan bo'lsangiz, ularni almashtirish uchun "overwrite" katakchasini belgilang. (Avvalgi versiyalar
to'liq CRUD qo'llab-quvvatlashiga ega emas edi.)
U qanday ishlashini ko'rish uchun brauzeringizda quyidagi URL ga o'ting:
https://hostname/index.php?r=country%2Findex
Siz ma'lumotlar ombori jadvalidagi davlatlarni ko'rsatuvchi ma'lumotlar to'rini ko'rasiz. To'rni saralashingiz yoki ustun sarlavhalariga filtr shartlarini kiritib, uni filtrlashingiz mumkin.
To'rda ko'rsatilgan har bir davlat uchun uning batafsil ma'lumotlarini ko'rish, uni yangilash yoki o'chirishni tanlashingiz mumkin. Shuningdek, yangi davlat yaratish formasini ochish uchun to'rning yuqorisidagi "Create Country" tugmasini bosishingiz mumkin.


Quyida, agar bu imkoniyatlar qanday amalga oshirilganini o'rganmoqchi bo'lsangiz yoki ularni moslashtirmoqchi bo'lsangiz, Gii tomonidan generatsiya qilingan fayllar ro'yxati keltirilgan:
controllers/CountryController.phpmodels/Country.php va models/CountrySearch.phpviews/country/*.phpMa'lumot uchun: Gii yuqori darajada moslashtiriladigan va kengaytiriladigan kod generatsiya qilish vositasi sifatida ishlab chiqilgan. Undan oqilona foydalanish ilovangizni ishlab chiqish tezligini sezilarli darajada oshirishi mumkin. Batafsil ma'lumot uchun Gii bo'limiga qarang.
Ushbu bo'limda siz ma'lumotlar ombori jadvalida saqlanadigan kontent uchun to'liq CRUD funksionalligini amalga oshiruvchi kodni Gii yordamida qanday generatsiya qilishni o'rgandingiz.
Found a typo, or you think this page needs improvement?
Edit it on GitHub !
User Contributed Notes
Leave a comment
Join the conversation to share a note.