Консоль CakePHP Bake може створити будь-який базовий компонент CakePHP: моделі, види і контролери. Причому будуть згенеровані не тільки базові класи, а Bake може створити повністю функціональний додаток за кілька хвилин.
В даному уроці ми розглянемо як використовувати Bake на комп'ютері під керуванням Windows. Для уроку використовується дистрибутив XAMPP (аналог Denwer), встановлений в папку D: \ xampp. Bake - це консольний додаток PHP CLI, яке генерує код відповідно до моделі бази даних. Для його запуску користувачеві Windows потрібно додати кілька змінних оточення в систему.
Спочатку треба скопіювати свіжу версію CakePHP в архіві і розпакувати її в папку проекту (для уроку використовувалася папка D: \ xampp \ htdocs \ cakephp). Потрібно також встановити з'єднання з базою даних (дивіться урок "CakePHP з нуля: установка. Частина 1 з 10")
Потрібно в змінні середовища додати в PATH шлях до папки з консоллю CakePHP (D: \ xampp \ htdocs \ cakephp \ cake \ console) і шлях до виконуваного файлу PHP (D: \ xampp \ php).
Всі три таблиці будуть використовуватися в нашому додатку. Тепер відкриваємо командний рядок Windows і переходимо в папку нашого застосування (D: \ xampp \ htdocs \ cakephp).
Вводимо код в командний рядок:
Якщо все правильно налаштовано, то ви побачите приблизно таку відповідь додатки:
Ваші каталоги, які використовуються для додатка, напевно будуть відрізнятися. Якщо ви отримали повідомлення про конфігурацію бази даних, як на наведеному вище зображенні, просто натисніть Enter. щоб використовувати конфігурацію за замовчуванням. Bake видасть запит, які таблиці бази даних будуть використовуватися для побудови програми. Введемо 1 для вказівки на таблицю Categories. Після введення консоль повинна виглядати наступним чином:
Коли ви отримаєте повідомлення про класи тесту (unit test classes), слід відмовитися від побудови тестів. Після відмови від тестів, Bake перейде до побудови контролерів і видів.
Bake згенерував посилання на список вакансій (List jobs) і на створення нової вакансії (New job), але вони поки не працюють. Код для них ми сгенерируем трохи пізніше.
Крім того, у нас не було можливості встановити критерії перевірки для нашої моделі Categories. Введемо cake bake в командний рядок. Інтерфейс генератора буде виглядати по іншому, і ми отримаємо повний контроль над процесом створення додатку.
Спочатку Bake запитає нас, що ми хочемо робити. Вибираємо побудова моделі і потім вказуємо таблицю Category. Самий останній запит на представленому вище зображенні стосується створення правил перевірки даних. Відповідаємо на нього y (Так) і переходимо до формування правил.
Критерії перевірки треба вводити для кожного поля в таблиці. Так як для поля id ніяких перевірок не потрібно, то вводимо 28.
А ось для поля name критерій перевірки повинен бути notempty (потрібно буде ввести 19).
На запити про додаткові правила перевірки відповідаємо і визначенні асоціацій моделі відповідаємо n (немає).
Потім Bake виведе модель і попросить нашого підтвердження про її коректності. Стверджуємо модель, підтверджуємо зміна файлів в нашому проекті і відмовляємося від генерації тестів.
Bake буде запитувати підтвердження на зміну вже наявних файлів в системі. На такі запити потрібно відповідати y (та).
Переходимо до створення образу.
Вибираємо створення образу і використання конфігурації бази даних за замовчуванням. Потім вказуємо контролер Categories і вибираємо інтерактивне побудова образу. Bake видає повідомлення, що для створення видів необхідна наявність моделі і контролера. Вони у нас вже є, тому стверджуємо створення видів. Від видів для маршрутизації відмовляємося.
Bake буде запитувати підтвердження на зміну вже наявних файлів в системі. На такі запити потрібно відповідати y (та).
Після створення видів з програми Bake можна виходити (водимо q при виборі подальших дій).
В результаті у нас вийшло готове додаток для роботи з таблицею Categories. Тобто, то що ми робили вручну в попередніх двох уроках Bake виконує за лічені хвилини.
У наступному уроці ми створимо файли для таблиць Jobs і Users і побудуємо відносини між таблицями.
За рахунок отримання інформації відразу по двох каналах (зір і слух) ефективність навчання значно перевершує навчання по книгах. А домашні завдання і онлайн-тести дозволять вам постійно думати на мові, що вивчається і відразу перевіряти свої знання!
Якщо ви давно хочете як слід вивчити HTML, то у мене для Вас є чудова новина!
Якщо ви вже вивчили HTML і хочете рухатися далі, то наступним кроком буде вивчення технології CSS.
Якщо ви хочете розібратися з поняттями домену і хостингу, навчитися створювати бази даних, закачувати файли сайту на сервер по FTP, створювати піддомени, налаштовувати поштові скриньки для свого сайту і стежити за його відвідуваністю, то цей курс створений спеціально для вас!