Генерация кода при помощи консоли (устаревшее)
==============================================

> Note|Примечание: Генераторы кода `yiic shell` считаются устаревшими, начиная с
> версии 1.1.2. Пожалуйста, используйте более мощные расширяемые веб-генераторы
> [Gii](/doc/guide/topics.gii).
 
Откроем консоль и выполним следующие команды:

~~~
% cd WebRoot/testdrive
% protected/yiic shell
Yii Interactive Tool v1.1
Please type 'help' for help. Type 'exit' to quit.
>> model User tbl_user
   generate models/User.php
   generate fixtures/tbl_user.php
   generate unit/UserTest.php

The following model classes are successfully generated:
    User

If you have a 'db' database connection, you can test these models now with:
    $model=User::model()->find();
    print_r($model);

>> crud User
   generate UserController.php
   generate UserTest.php
   mkdir D:/testdrive/protected/views/user
   generate create.php
   generate update.php
   generate index.php
   generate view.php
   generate admin.php
   generate _form.php
   generate _view.php

Crud 'user' has been successfully created. You may access it via:
http://hostname/path/to/index.php?r=user
~~~

В примере выше мы использовали команду `shell` утилиты `yiic` для взаимодействия с 
созданным каркасом приложения. В командной строке мы вводим две команды: `model User tbl_user` и `crud User`.
Команда `model` автоматически создает класс модели `User`, основываясь на структуре таблицы `tbl_user`, 
а команда `crud` генерирует класс контроллера и файлы представлений, которые обеспечивают 
выполнение соответствующих операций CRUD.

> Note|Примечание: Даже если проверка соответствия требованиям показывает, что расширение PDO и драйвер PDO, соответствующий используемой базе
> данных, включены, могут возникать ошибки типа «…could not find driver». В этом случае необходимо запустить утилиту `yiic` следующим образом:
>
> ~~~
> % php -c path/to/php.ini protected/yiic.php shell
> ~~~
>
> где `path/to/php.ini` — путь до файла PHP ini


Давайте порадуемся нашим трудам, перейдя по следующему URL:

~~~
http://hostname/testdrive/index.php?r=user
~~~

Мы увидим страницу со списком пользователей из таблицы `tbl_user`. Поскольку наша таблица пустая, то записей в ней не будет.
Кликнем по кнопке `Create User` и, если мы еще не авторизованы, отобразится страница авторизации.
Затем загрузится форма добавления нового пользователя. Заполним её и нажмем кнопку `Create`.
Если при заполнении формы были допущены ошибки,  мы увидим аккуратное сообщение об ошибке.

Вернувшись назад к списку пользователей, мы должны увидеть только что созданного пользователя.
Повторите описанную операцию и добавьте ещё несколько пользователей. Обратите внимание, что при значительном
количестве пользователей для их отображения на одной странице список будет автоматически разбиваться на страницы.
Выполнив вход в качестве администратора (`admin/admin`),
можно увидеть страницу управления пользователями по адресу:

~~~
http://hostname/testdrive/index.php?r=user/admin
~~~

Появится аккуратная таблица пользователей. Кликнув на название одного из полей заголовка таблицы,
можно упорядочить записи по значениям соответствующего столбца.
Для просмотра, редактирования или удаления записей можно воспользоваться кнопками в соответствующих строках таблицы.
Также можно переходить на разные страницы, фильтровать результаты и производить поиск по ним.

Всё это не требует написания ни одной строчки кода!

![Страница управления пользователями](first-app6.png)

![Страница добавления нового пользователя](first-app7.png)