CakePHP. Общие сведения. Создание приложения

Download Report

Transcript CakePHP. Общие сведения. Создание приложения

Представил
студент группы И-52,
инженер ЦКТ
Руденко Я.В.
Короткий список возможностей,
предоставляемых CakePHP
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Активное и дружественное сообщество
Гибкое лицензирование
Совместимость с 4 и 5 версией PHP
Интегрированый CRUD (Create Retrieve Update Delete) для баз данных
Скаффолдинг приложений
Генерация кода
MVC архитектура
Запросы с чистыми и настраиваемыми URL и маршрутами
Встроеная валидация (проверка данных)
Быстрая и гибкая шаблонизация (PHP синтакс с хелперами (подсказками))
Хелперы Отображения (View) для AJAX, JavaScript, HTML Форм и т.д.
Почта, Куки, Безопасность, Сессии и Компоненты Обработки Запросов
Гибкий ACL
Data Sanitization (Чистка плохих данных)
Гибкое Кеширование
Локализация
Работа из любого каталога веб-сайта, с небольшим знанием конфигурации
Apache
Простой MVC запрос
Расширения контроллеров,
моделей и видов CakePHP
•
•
•
•
Расширения контроллеров – компоненты (Components);
Расширения отображений – хелперы (Helpers);
Расширения моделей – поведения (Behaviors);
Расширения приложения.
Встроенные функции обратного
вызова CakePHP
CallBack контроллеров
beforeFilter()
beforeRender()
afterFilter()
afterRender()
CallBack моделей
beforeFind()
afterFind()
beforeValidate()
beforeSave()
afterSave()
beforeDelete()
afterDelete()
Структура папок CakePHP
App
для размещения файлов ваших приложений.
Cake
ядро CakePHP (не должно подлежать редактированию).
Vendors
место для размещения PHP библиотек третьих лиц необходимых
для использования с приложениями CakePHP.
App/Config
Содержит конфигурационные файлы. Информация о базе данных,
начальной загрузке, конфигурации ядра и подобная, должна
содержаться именно в этой папке.
App/Controllers
Содержит контроллеры и компоненты.
App/Locale
Содержит файлы для интернационализации (или локализации).
App/Models
Содержит модели, поведения и источники данных.
App/Plugins
Содержит пакеты плагинов.
App/Tmp
Содержит временные данные CakePHP. Обычной в ней хранятся
описания модели, логи и некоторая информация сессий.
App/Vendors
Не родные для CakePHP классы или библиотеки должны
содержаться здесь.
App/Views
Содержит: elements (элементы), error pages (страницы ошибок),
helpers (хелперы), layouts (шаблоны) и файлы отображений.
App/Webroot
При конечной установке, эта папка должна быть указана как
корневая для вашего веб-приложения. Папки находящиеся здесь,
созданы для хранения CSS стилей, изображений и файов JavaScript.
Соглашения CakePHP
URL для метода index:
URL для метода lift_working():
Таблица БД
Модель
Контроллер
Таблица БД, которую
представляет модель
Метод контроллера
(ation)
Шаблон
представления
Access Control Lists (ACL)
Access Request Object
(ARO)
Access Control Object
(ACO)
Пример таблицы acos
id
parent_id
alias
1
null
controllers
2
1
Buildings
3
2
index
4
1
Phones
5
4
index
6
4
add
7
4
edit
Таблица aros_acos
Таблица aros
Таблица acos
id
model
foreign_key
alias
id
parent_id
alias
1
Group
1
admin
1
null
controllers
2
Group
2
user
2
1
Buildings
3
2
index
4
1
Phones
5
4
index
6
4
add
7
4
edit
Таблица aros_acos
id
aro_id
aco_id
_create
_read
_update
_delete
1
1
1
1
1
1
1
2
2
1
-1
-1
-1
-1
3
2
5
1
1
1
1
4
2
6
1
1
1
1
Представил
студент группы И-52,
инженер ЦКТ
Руденко Я.В.