Створюємо crud-додаток за допомогою yii за лічені хвилини, php

Yii - це високопродуктивний фреймворк, який працює швидко, безпечно і добре підходить для додатків Web 2.0.

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

До того ж, фреймворк пропонує багато зручних, вже готових функцій, таких як: скаффолдинг, об'єкти доступу до даних, тематизация, контроль доступу, кешування і багато іншого. У цій статті я розповім основи того, як використовуючи Yii, створити CRUD систему.

Я виходжу з того, що у вас вже встановлені Apache, PHP (5.1 або вище) і MySQL. тому першим нашим кроком буде завантаження файлів фреймворка. Зайдіть на офіційний сайт Yii і скачайте останню стабільну версію (на момент написання статті - версія 1.1.13).

Розпакуйте ZIP-архів, щоб отримати папку yii-1.1.13.e9e4a0 (ідентифікатор версії може відрізнятися в залежності від версії, яку ви завантажили), перейменуйте папку в yii, потім помістіть її в ваш кореневої каталог, доступний з мережі.

У моєму випадку, це C: \ wamp \ www таким чином, шлях до файлів фреймворка буде наступним: C: \ wamp \ www \ yii.

Я буду посилатися на нього як на протязі всієї статті, тому ви можете легко слідувати всім крокам, навіть якщо ваші настройки відрізняються від моїх.

Оскільки ми будемо працювати з базою даних MySQL, розширення MYSQL PDO має бути дозволено.

Створюємо crud-додаток за допомогою yii за лічені хвилини, php

Ми хотіли швидко перевірити вимоги Yii, і тому помістили файли в доступний каталог, але рекомендується зберігати файли Yii поза мережевого каталогу. Після перевірки можете вільно перемістити файли Yii куди завгодно.

рухаємося далі

Кожне веб-додаток має свою структуру каталогу, і Yii додатки також потребують підтримки ієрархічної структури всередині мережевого каталогу.

Щоб створити каркас додатка з відповідною структурою каталогу, ви можете використовувати Yii інструмент yiic, що працює з командного рядка. Перейдіть в мережевий каталог і введіть наступне:

Ця команда створить скелет додатки під назвою yiitest з мінімальним набором необхідних файлів. Усередині ви знайдете файл index.php. який служить в якості скрипта входу, він приймає запити користувачів і вирішує, який контролер повинен обробити запит.

Фреймворк Yii заснований на принципах MVC і ООП, тому ви повинні розбиратися в цих темах. Якщо ви не знайомі з MVC, почитайте серію статей The MVC Pattern and PHP. яка пропонує гарне введення в цю тему.

Грунтуючись на ідентифікаторах, скрипт входу вирішує, який контролер і метод викликати.

Контролер, який має ідентифікатор post, повинен бути названий PostController (ідентифікатор виходить шляхом відсікання суфікса Controller від імені класу і зміною першої літери на малу).

Ідентифікатор дії - це ідентифікатор методу, представленого в контролері подібним чином; всередині PostController повинен бути метод під назвою actionCreate ().

Може бути кілька подань, асоційованих з одним контролером, тому ми зберігаємо файли представлень всередині папок protected / views / controllerID.

Ми можемо створити файл уявлення для нашого контролера під назвою create.php в описаному вище каталозі, і потім представити його користувачам, просто написавши наступний код в actionCreate ():

Також, якщо потрібно, можна передати додаткові дані в уявлення. Це робиться в такий спосіб:

Всередині файлу уявлення ми можемо отримати доступ до даних через змінну $ data.

Подання також має доступ до змінної $ this. яка вказує на екземпляр контролера, що відтворює уявлення.

Розробка CRUD додатки

Тепер, коли ви знаєте важливі угоди по Yii, прийшов час приступити до CRUD. У цій частині ми розробимо просту систему, в якій користувач може виконувати CRUD операції (створення, витяг, оновлення та видалення) з повідомленням в блозі.

Замініть testdrive на ім'я вашої бази даних, тобто, yiitest. Також ви повинні забезпечити повноваження, необхідні Yii для підключення.

У фреймворку Yii кожна таблиця бази даних повинна мати відповідний клас моделі типу CActiveRecord. Користь від цього в тому, що нам не потрібно мати справу з таблицями баз даних безпосередньо. Замість цього ми можемо працювати з об'єктами моделі, які відповідають різним рядкам таблиці.

Для того щоб швидко генерувати модель, ми будемо використовувати веб-інструмент Yii під назвою gii. Цей інструмент може бути використаний для генерації моделей, контролерів і форм для CRUD операцій.

Створюємо crud-додаток за допомогою yii за лічені хвилини, php

Перевірте папку protected / models, і ви знайдете там файл Post.php.

Тепер клацніть на CRUD Generator. Введіть в якості імені моделі Post. Ідентифікатор контролера автоматично заповниться як post.

Це означає, що новий контролер буде згенеровано під ім'ям PostController.php.

Клацніть на Generate. Згенерує контролер, а також кілька файлів уявлення з формами, необхідними для CRUD операцій.

Створюємо crud-додаток за допомогою yii за лічені хвилини, php

Тепер у вас є абсолютно нове CRUD додаток! Клацніть на посилання try it now. щоб протестувати його. Для управління повідомленнями вам потрібно буде увійти як admin / admin.

Аналогічно ви можете скласти список всіх повідомлень і видалити всі або деякі з них.

висновок

Yii - це дуже потужний фреймворк, якщо мова заходить про розробку проектів покоління Web 2.0. Фактично, ви тільки що побачили, як легко створити повністю функціонуючу CRUD систему всього за кілька хвилин!

Без сумніву, Yii може врятувати вас від важкої роботи, тому що вам не потрібно починати проект з нуля. Yii надає фундамент додатки, і ви можете розширювати його на свій розсуд.

Переклад статті «Build a CRUD App with Yii in Minutes» був підготовлений дружною командою проекту Сайтобудування від А до Я.

Схожі статті