Генерація коду за допомогою консолі (застаріле) ============================================== > 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 відповідний використовуваній базі даних, включений, можуть зʼявитися помилки типу «…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)