Цей ÑоздÑл опиÑÑÑ, Ñк викоÑиÑÑовÑваÑи Gii Ð´Ð»Ñ Ð°Ð²ÑомаÑиÑного генеÑÑÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð´Ñ, Ñкий ÑеалÑзовÑÑ Ð½Ð°Ð¹Ð±ÑлÑÑ Ð¿Ð¾ÑиÑений ÑÑнкÑÑонал Ð´Ð»Ñ Ð²ÐµÐ±-ÑайÑÑ. ÐикоÑиÑÑÐ°Ð½Ð½Ñ Gii Ð´Ð»Ñ Ð°Ð²ÑомаÑиÑного ÑÑвоÑÐµÐ½Ð½Ñ ÐºÐ¾Ð´Ñ Ñ Ð¿ÑоÑÑÐ¾Ñ Ð¿ÑоÑедÑÑÐ¾Ñ Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¿ÑавилÑÐ½Ð¾Ñ ÑнÑоÑмаÑÑÑ Ð·Ð³Ñдно з ÑнÑÑÑÑкÑÑÑми, ÑÐºÑ Ð¼ÑÑÑÑÑÑÑÑ Ð½Ð° веб-ÑÑоÑÑÐ½ÐºÐ°Ñ Gii.
Ð Ð´Ð°Ð½Ð¾Ð¼Ñ ÐºÐµÑÑвниÑÑÐ²Ñ Ð²Ð¸ дÑзнаÑÑеÑÑ Ñк:
Gii поÑÑаÑаÑÑÑÑÑ Ð² Yii Ñк модÑлÑ.
Ðи можеÑе пÑдклÑÑаÑи модÑÐ»Ñ Gii, налаÑÑÑвавÑи вÑдповÑÐ´Ð½Ñ Ð²Ð»Ð°ÑÑивÑÑÑÑ modules додаÑка. РзалежноÑÑÑ
вÑд Ñого, Ñк ви ÑÑвоÑили Ð²Ð°Ñ Ð´Ð¾Ð´Ð°Ñок, наÑÑÑпний код можливо вже пÑиÑÑÑнÑй в конÑÑгÑÑаÑÑÐ¹Ð½Ð¾Ð¼Ñ ÑÐ°Ð¹Ð»Ñ config/web.php
:
$config = [ ... ];
if (YII_ENV_DEV) {
$config['bootstrap'][] = 'gii';
$config['modules']['gii'] = [
'class' => 'yii\gii\Module',
];
}
Ðаведена виÑе конÑÑгÑÑаÑÑÑ Ð¿ÑдклÑÑÐ°Ñ Ð¼Ð¾Ð´ÑÐ»Ñ gii
, пÑедÑÑавлений клаÑом yii\gii\Module, Ñ ÑÐ¾Ð¼Ñ Ð²Ð¸Ð¿Ð°Ð´ÐºÑ,
коли Ð²Ð°Ñ Ð´Ð¾Ð´Ð°Ñок знаÑ
одиÑÑÑÑ Ð² ÑеÑедовиÑÑ ÑозÑобки.
ЯкÑо ви пеÑевÑÑиÑе вÑ
Ñдний ÑкÑÐ¸Ð¿Ñ web/index.php
ваÑого додаÑкÑ, Ñо
знайдеÑе наÑÑÑпний ÑÑдок, Ñкий визнаÑÐ°Ñ YII_ENV_DEV
.
defined('YII_ENV') or define('YII_ENV', 'dev');
ÐавдÑки Ð´Ð°Ð½Ð¾Ð¼Ñ ÑÑдкÑ, Ð²Ð°Ñ Ð´Ð¾Ð´Ð°Ñок Ð·Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑÑ Ð² ÑÐµÐ¶Ð¸Ð¼Ñ ÑозÑобки, Ñ Ð±Ñде пÑдклÑÑаÑи Gii, Ñз виÑÐµÐ²ÐºÐ°Ð·Ð°Ð½Ð¾Ñ ÐºÐ¾Ð½ÑÑгÑÑаÑÑÑÑ. Ð¢ÐµÐ¿ÐµÑ Ð²Ð¸ можеÑе оÑÑимаÑи доÑÑÑп до Gii за наÑÑÑÐ¿Ð½Ð¾Ñ URL-адÑеÑоÑ:
http://hostname/index.php?r=gii
ÐÑимÑÑка: ЯкÑо ви звеÑÑаÑÑеÑÑ Ð´Ð¾ Gii вÑд не локалÑÐ½Ð¾Ñ Ð¼Ð°Ñини, доÑÑÑп бÑде забоÑонений за замовÑÑваннÑм Ñз мÑÑкÑÐ²Ð°Ð½Ñ Ð±ÐµÐ·Ð¿ÐµÐºÐ¸. Ðи можеÑе налаÑÑÑваÑи Gii, додавÑи Ð´Ð¾Ð·Ð²Ð¾Ð»ÐµÐ½Ñ IP-адÑеÑи, Ñк показано нижÑе
`
php 'gii' => [
'class' => 'yii\gii\Module', 'allowedIPs' => ['127.0.0.1', '::1', '192.168.0.*', '192.168.178.20'] // налаÑÑÑваÑи Ð´Ð»Ñ Ð²Ð°ÑÐ¸Ñ Ð¿Ð¾ÑÑеб
],
`
ÐикоÑиÑÑовÑÑÑи Gii Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑÑÐ²Ð°Ð½Ð½Ñ ÐºÐ»Ð°ÑÑ Active Record, вибеÑÑÑÑ "Model Generator" (наÑиÑнÑвÑи на поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° ÑÑоÑÑнÑÑ Gii). ÐÐ°Ð»Ñ Ð·Ð°Ð¿Ð¾Ð²Ð½ÑÑÑ ÑоÑÐ¼Ñ Ð½Ð°ÑÑÑпними даними:
country
Country
ÐалÑ, наÑиÑнÑÑÑ Ð½Ð° ÐºÐ½Ð¾Ð¿ÐºÑ "ÐеÑеглÑдÑ" ("Preview"). Ðи побаÑиÑе Ñайл models/Country.php
, Ñкий бÑде ÑÑвоÑено в ÑезÑлÑÑаÑÑ
даниÑ
дÑй. Ðи можеÑе наÑиÑнÑÑи на ÑмâÑ ÑÐ°Ð¹Ð»Ñ ÐºÐ»Ð°ÑÑ Ð´Ð»Ñ Ð¿ÐµÑеглÑÐ´Ñ Ð¹Ð¾Ð³Ð¾ вмÑÑÑÑ.
ЯкÑо пÑи викоÑиÑÑÐ°Ð½Ð½Ñ Gii, ÑанÑÑе вже бÑв ÑÑвоÑений Ñайл моделÑ, Ñо вÑн бÑде пеÑезапиÑаний. ÐÐ»Ñ Ñого, Ñоб пеÑеглÑнÑÑи
вÑдмÑнноÑÑÑ Ð² ÐºÐ¾Ð´Ñ Ð½Ð°ÑиÑнÑÑÑ Ð½Ð° ÐºÐ½Ð¾Ð¿ÐºÑ diff
поÑÑÑ Ð· ÑмâÑм ÑайлÑ.
ÐÑи пеÑезапиÑÑ Ð½Ð°Ñвного ÑайлÑ, познаÑÑе пÑÐ½ÐºÑ "пеÑезапиÑаÑи" ("overwrite"), а поÑÑм наÑиÑнÑÑÑ ÐºÐ½Ð¾Ð¿ÐºÑ "СÑвоÑиÑи" ("Generate"). ÐÑи ÑÑвоÑÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ ÑайлÑ, ви можеÑе пÑоÑÑо наÑиÑнÑÑи на ÐºÐ½Ð¾Ð¿ÐºÑ "СÑвоÑиÑи" ("Generate").
ÐалÑ, ви побаÑиÑе ÑÑоÑÑÐ½ÐºÑ Ð¿ÑдÑвеÑÐ´Ð¶ÐµÐ½Ð½Ñ Ñз вÑдобÑаженнÑм кодÑ, Ñкий бÑв ÑÑпÑÑно згенеÑований. ЯкÑо ви пеÑезапиÑÑвали вже наÑвний Ñайл, Ñо побаÑиÑе повÑÐ´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñо Ñе, Ñо вÑн бÑв пеÑепиÑаний Ñ Ð·Ð°Ð¼Ñнений на Ñойно згенеÑований код.
CRUD - Ñе акÑонÑм вÑд англÑйÑÑÐºÐ¸Ñ ÑлÑв Create, Read, Update, Delete (СÑвоÑиÑи, ÐÑоÑиÑаÑи, ÐновиÑи, ÐидалиÑи), Ñо пÑедÑÑавлÑÑ ÑоÑиÑи оÑÐ½Ð¾Ð²Ð½Ñ Ð¾Ð¿ÐµÑаÑÑÑ Ð½Ð°Ð´ даними на бÑлÑÑоÑÑÑ Ð²ÐµÐ±-ÑайÑÑв. Щоб ÑеалÑзÑваÑи ÑÑнкÑÑонал CRUD викоÑиÑÑовÑÑÑи Gii, обеÑÑÑÑ "CRUD Generator" (наÑиÑнÑвÑи вÑдповÑÐ´Ð½Ñ ÐºÐ½Ð¾Ð¿ÐºÑ Ð½Ð° ÑÑоÑÑнÑÑ Gii). ÐапÑиклад, Ð´Ð»Ñ ÑаблиÑÑ "country", заповнÑÑÑ ÑоÑÐ¼Ñ Ð½Ð°ÑÑÑпним Ñином:
app\models\Country
app\models\CountrySearch
app\controllers\CountryController
ÐалÑ, наÑиÑнÑÑÑ Ð½Ð° ÐºÐ½Ð¾Ð¿ÐºÑ "ÐеÑеглÑдÑ" ("Preview"). Ðи побаÑиÑе ÑпиÑок ÑайлÑв, ÑÐºÑ Ð±ÑдÑÑÑ ÑÑвоÑенÑ, Ñк показано нижÑе.
ЯкÑо ви попеÑеднÑо ÑÑвоÑили конÑÑÐ¾Ð»ÐµÑ controllers/CountryController.php
Ñ Ñайл пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð½Ñ views/country/index.php
(в ÑоздÑÐ»Ñ "РобоÑа з базами даниÑ
" даного поÑÑбника), познаÑÑе пÑÐ½ÐºÑ "пеÑезапиÑаÑи" Ñ Ð·Ð°Ð¼ÑнÑÑÑ ÑÑ
. (ÐопеÑÐµÐ´Ð½Ñ Ð²ÐµÑÑÑÑ ÑайлÑв на маÑÑÑ Ð¿Ð¾Ð²Ð½Ð¾Ð³Ð¾ ÑÑнкÑÑÐ¾Ð½Ð°Ð»Ñ CRUD.)
Щоб побаÑиÑи Ñк Ñе пÑаÑÑÑ, вÑдкÑийÑе в бÑаÑзеÑÑ Ð½Ð°ÑÑÑпний URL:
http://hostname/index.php?r=country%2Findex
Ðи побаÑиÑе ÑаблиÑÑ Ð´Ð°Ð½Ð¸Ñ , Ñо показÑÑ ÐºÑаÑни з ÑаблиÑÑ Ð±Ð°Ð·Ð¸ Ð´Ð°Ð½Ð¸Ñ . Ðи можеÑе вÑдÑоÑÑÑваÑи данÑ, або вÑдÑÑлÑÑÑÑваÑи ÑÑ , вказавÑи Ñмови ÑÑлÑÑÑаÑÑÑ Ð² Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°Ñ ÐºÐ¾Ð»Ð¾Ð½Ð¾Ðº.
ÐÐ»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ñ ÐºÑаÑни, Ñо вÑдобÑажаÑÑÑÑÑ Ð² ÑаблиÑÑ, ви можеÑе викоÑиÑÑаÑи ÑÑнкÑÑÑ Ð¿ÐµÑеглÑÐ´Ñ Ð´ÐµÑалей, Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ , або Ð²Ð·Ð°Ð³Ð°Ð»Ñ Ð²Ð¸Ð´Ð°Ð»Ð¸Ñи ÑÑ. Ðи Ñакож можеÑе наÑиÑнÑÑи на ÐºÐ½Ð¾Ð¿ÐºÑ "СÑвоÑиÑи кÑаÑнÑ" ("Create Country") над ÑаблиÑеÑ, Ñка пеÑеадÑеÑÑÑ Ð²Ð°Ñ Ð½Ð° ÑоÑÐ¼Ñ ÑÑвоÑÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ñ ÐºÑаÑни.
ÐижÑе наведено пеÑелÑк ÑайлÑв, згенеÑÐ¾Ð²Ð°Ð½Ð¸Ñ Gii, Ñ ÑÐ¾Ð¼Ñ ÑазÑ, ÑкÑо ви Ð·Ð°Ñ Ð¾ÑеÑе доÑлÑдиÑи Ñк ÑеалÑÐ·Ð¾Ð²Ð°Ð½Ñ ÑÑ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ÑÑÑ, або налаÑÑÑваÑи ÑÑ Ð¿Ñд ÑÐ²Ð¾Ñ Ð¿Ð¾ÑÑеби:
controllers/CountryController.php
models/Country.php
Ñ models/CountrySearch.php
views/country/*.php
ÐнÑоÑмаÑÑÑ: Gii - Ñе гнÑÑкий Ñ ÑозÑиÑÑваний ÑнÑÑÑÑÐ¼ÐµÐ½Ñ Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑÑÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð´Ñ. ÐÑи пÑавилÑÐ½Ð¾Ð¼Ñ Ð²Ð¸ÐºÐ¾ÑиÑÑанÑ, вÑн дозволиÑÑ Ð²Ð°Ð¼ знаÑно пÑиÑкоÑиÑи ÑозÑÐ¾Ð±ÐºÑ Ð²Ð°ÑÐ¸Ñ Ð´Ð¾Ð´Ð°ÑкÑв. ÐÐ»Ñ Ð±ÑлÑÑ Ð´Ð¾ÐºÐ»Ð°Ð´Ð½Ð¾Ñ ÑнÑоÑмаÑÑÑ, бÑÐ´Ñ Ð»Ð°Ñка, звеÑнÑÑÑÑÑ Ð´Ð¾ ÑоздÑÐ»Ñ Gii.
Ð ÑÑÐ¾Ð¼Ñ ÑоздÑÐ»Ñ Ð²Ð¸ дÑзналиÑÑ Ñк, викоÑиÑÑовÑÑÑи Gii, генеÑÑваÑи код, Ñкий ÑеалÑзÑÑ Ð¿Ð¾Ð²Ð½Ñ ÑÑнкÑÑоналÑнÑÑÑÑ CRUD Ð´Ð»Ñ Ð¼Ð°Ð½ÑпÑлÑÐ²Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ð¼Ð¸, Ñо збеÑÑгаÑÑÑÑÑ Ð² ÑаблиÑÑÑ Ð±Ð°Ð· Ð´Ð°Ð½Ð¸Ñ .
Found a typo or you think this page needs improvement?
Edit it on github !
Signup or Login in order to comment.