Генерация кода при помощи консоли (устаревшее) ============================================== > 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)