Cakephp з нуля використовуємо генератор bake

Консоль 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).

Cakephp з нуля використовуємо генератор bake

Cakephp з нуля використовуємо генератор bake

Всі три таблиці будуть використовуватися в нашому додатку. Тепер відкриваємо командний рядок Windows і переходимо в папку нашого застосування (D: \ xampp \ htdocs \ cakephp).

Вводимо код в командний рядок:

Якщо все правильно налаштовано, то ви побачите приблизно таку відповідь додатки:

Cakephp з нуля використовуємо генератор bake

Ваші каталоги, які використовуються для додатка, напевно будуть відрізнятися. Якщо ви отримали повідомлення про конфігурацію бази даних, як на наведеному вище зображенні, просто натисніть Enter. щоб використовувати конфігурацію за замовчуванням. Bake видасть запит, які таблиці бази даних будуть використовуватися для побудови програми. Введемо 1 для вказівки на таблицю Categories. Після введення консоль повинна виглядати наступним чином:

Cakephp з нуля використовуємо генератор bake

Коли ви отримаєте повідомлення про класи тесту (unit test classes), слід відмовитися від побудови тестів. Після відмови від тестів, Bake перейде до побудови контролерів і видів.

Cakephp з нуля використовуємо генератор bake

Cakephp з нуля використовуємо генератор bake

Bake згенерував посилання на список вакансій (List jobs) і на створення нової вакансії (New job), але вони поки не працюють. Код для них ми сгенерируем трохи пізніше.

Крім того, у нас не було можливості встановити критерії перевірки для нашої моделі Categories. Введемо cake bake в командний рядок. Інтерфейс генератора буде виглядати по іншому, і ми отримаємо повний контроль над процесом створення додатку.

Cakephp з нуля використовуємо генератор bake

Спочатку Bake запитає нас, що ми хочемо робити. Вибираємо побудова моделі і потім вказуємо таблицю Category. Самий останній запит на представленому вище зображенні стосується створення правил перевірки даних. Відповідаємо на нього y (Так) і переходимо до формування правил.

Cakephp з нуля використовуємо генератор bake

Критерії перевірки треба вводити для кожного поля в таблиці. Так як для поля id ніяких перевірок не потрібно, то вводимо 28.

А ось для поля name критерій перевірки повинен бути notempty (потрібно буде ввести 19).

Cakephp з нуля використовуємо генератор bake

На запити про додаткові правила перевірки відповідаємо і визначенні асоціацій моделі відповідаємо n (немає).

Cakephp з нуля використовуємо генератор bake

Потім Bake виведе модель і попросить нашого підтвердження про її коректності. Стверджуємо модель, підтверджуємо зміна файлів в нашому проекті і відмовляємося від генерації тестів.

Cakephp з нуля використовуємо генератор bake

Bake буде запитувати підтвердження на зміну вже наявних файлів в системі. На такі запити потрібно відповідати y (та).

Переходимо до створення образу.

Cakephp з нуля використовуємо генератор bake

Вибираємо створення образу і використання конфігурації бази даних за замовчуванням. Потім вказуємо контролер Categories і вибираємо інтерактивне побудова образу. Bake видає повідомлення, що для створення видів необхідна наявність моделі і контролера. Вони у нас вже є, тому стверджуємо створення видів. Від видів для маршрутизації відмовляємося.

Bake буде запитувати підтвердження на зміну вже наявних файлів в системі. На такі запити потрібно відповідати y (та).

Після створення видів з програми Bake можна виходити (водимо q при виборі подальших дій).

В результаті у нас вийшло готове додаток для роботи з таблицею Categories. Тобто, то що ми робили вручну в попередніх двох уроках Bake виконує за лічені хвилини.

У наступному уроці ми створимо файли для таблиць Jobs і Users і побудуємо відносини між таблицями.

Cakephp з нуля використовуємо генератор bake

За рахунок отримання інформації відразу по двох каналах (зір і слух) ефективність навчання значно перевершує навчання по книгах. А домашні завдання і онлайн-тести дозволять вам постійно думати на мові, що вивчається і відразу перевіряти свої знання!

Cakephp з нуля використовуємо генератор bake

Cakephp з нуля використовуємо генератор bake

Якщо ви давно хочете як слід вивчити HTML, то у мене для Вас є чудова новина!

Cakephp з нуля використовуємо генератор bake

Якщо ви вже вивчили HTML і хочете рухатися далі, то наступним кроком буде вивчення технології CSS.

Cakephp з нуля використовуємо генератор bake

Якщо ви хочете розібратися з поняттями домену і хостингу, навчитися створювати бази даних, закачувати файли сайту на сервер по FTP, створювати піддомени, налаштовувати поштові скриньки для свого сайту і стежити за його відвідуваністю, то цей курс створений спеціально для вас!