Documentation
Book
API
Videos
Reporting Security Issues
Privacy Policy
Logos & Trademarks
Business Solutions
Swag
Road Trip
Team
Community
Community
Get Involved
Issues (Github)
Bakery
Featured Resources
Training
Meetups
My CakePHP
CakeFest
Newsletter
Linkedin
YouTube
Facebook
Twitter
Help & Support
Forum
Stack Overflow
IRC
Slack
Paid Support
B
CakePHP 3.9 Red Velvet
Cookbook
A
Language:
ru
en
pt
es
ja
fr
zh
tr
Version:
3.x
4.x Book
3.x Book
2.x Book
1.3 Book
1.2 Book
1.1 Book
Nav
Table of Contents
×
Improve This Doc
Содержание
¶
Введение
Первое знакомство с CakePHP
Соглашения превыше конфигурации
Модель
Вид
Контроллер
Цикл обработки запросов CakePHP
Только начало
Рекомендуется к прочтению
Где получить помощь
Соглашения CakePHP
Структура папок CakePHP
Инструкция по началу работы
Пример Менеджер Закладок
Получение CakePHP
Проверка нашей установки
Создание Базы данных
Конфигурация Базы данных
Генерирование шаблонного кода
Хеширование паролей
Получение закладок с определенным тегом
Пример Менеджер Закладок Часть 2
Вход пользователя
Выход пользователя
Добавление регистрации пользователей
Ограничение доступа к закладкам
Доработка форм и Вида списка закладок
Улучшение пользовательского опыта в тегах
Заключение
Руководство по миграции 3.x
Руководство по миграции 3.5
3.5 Migration Guide
Руководство по миграции 3.4
3.4 Migration Guide
Руководство по миграции 3.3
3.3 Migration Guide
Руководство по миграции 3.2
3.2 Migration Guide
Руководство по миграции 3.1
3.1 Migration Guide
Руководство по миграции 3.0
Руководство по миграции 3.0
Руководство по миграции на новую ORM
Руководства и примеры
Пример Менеджер Закладок
Получение CakePHP
Проверка нашей установки
Создание Базы данных
Конфигурация Базы данных
Генерирование шаблонного кода
Хеширование паролей
Получение закладок с определенным тегом
Пример Менеджер Закладок Часть 2
Вход пользователя
Выход пользователя
Добавление регистрации пользователей
Ограничение доступа к закладкам
Доработка форм и Вида списка закладок
Улучшение пользовательского опыта в тегах
Заключение
Пример создания блога
Получение CakePHP
Разрешения для папок tmp и logs
Создание Базы данных блога
Конфигурация Базы данных
Дополнительные настройки
Замечание о mod_rewrite
Пример создания блога - Часть 2
Создание Модели статей
Создание Контроллера статей
Создание Вида статей
Добавление статьи
Валидация данных
Редактирование статей
Удаление статей
Маршруты
Заключение
Пример создания блога - Часть 3
Создание дерева категорий
Плагин Миграций
Доработка таблиц
Генерирование шаблонного кода для категорий
Привязка TreeBehavior к CategoriesTable
Изменение порядка категорий с TreeBehavior
Изменение контроллера ArticlesController
Доработка шаблонов статей
Пример создания блога - Часть 4 - Аутентификация и авторизация
Создание всего кода касающегося пользователей
Аутентификация (Вход и выход из системы)
Авторизация (кому и к чему разрешен доступ)
Сотрудничество
Документация
Переводы
Руководство по форматированию документации
Билеты
Отчеты об ошибках
Отчеты по безопасности
Код
Начальная настройка
Работа над патчем
Отправка Pull Request
Стандарты кодирования
Добавление новых функций
Установка IDE
Отступ
Длина строки
Управляющие структуры
Сравнение
Вызовы функций
Определение метода
Цепочки методов
Комментарии в коде
Подключаемые файлы
PHP теги
Соглашение об именовании
Осторожность при использовании empty()/isset()
Руководство по совместимости
Руководства по миграции
Использование CakePHP
Работающим над CakePHP
Устаревшее
Начало работы
Установка
Требования к установке
Установка CakePHP
Установка Composer
Создание проекта CakePHP
Обновление CakePHP до актуальной версии
Установка с помощью Oven
Права доступа
Встроенный веб-сервер PHP
Полноценная установка
Запускайте
Переопределение URL
Apache
nginx
IIS7 (Windows хостинги)
Я не могу использовать переопределение URL
Конфигурация
Настройка вашего приложения
Загрузка дополнительных файлов конфигурации
Общая конфигурация
Настройка базы данных
Конфигурация кэширования
Конфигурация ошибок и исключений
Конфигурация логирования
Настройка электронной почты
Настройка сеанса(сессии)
Конфигурация маршрутизации
Дополнительные пути классов
Плагин, Шаблон просмотра и локальные пути
Настройка интонации
Переменные среды (окружения)
Настроить класс
Запись данных конфигурации
Чтение данных конфигурации
Проверка наличия определенных данных конфигурации
Удаление данных конфигурации
Чтение и удаление данных конфигурации
Чтение и запись файлов конфигурации
Загрузка файлов конфигурации
Создание или изменение файлов конфигурации
Сохранение конфигурации времени выполнения
Восстановление конфигурации времени выполнения
Конфигурационные двигатели
Загрузочный CakePHP
Application::bootstrap()
Отключение общих таблиц
Маршрутизация
Быстрый тур
Подключение маршрутов
Элементы маршрута
Настройка параметров маршрута
Передача параметров в действие(экшен)
Использование именованных маршрутов
Префиксная маршрутизация
Маршрутизация плагинов
Создание ссылок на плагины
Маршрутизация, ориентированная на SEO
Соответствие определенным HTTP-методам
Соответствие определённым именам хостов
Расширения файлов маршрутизации
Соединение с областью Middleware (промежуточного ПО)
Группировка промежуточного ПО
Создание RESTful маршрутов
Создание маршрутов вложенных ресурсов (под-ресурсов)
Ограничение созданных маршрутов
Изменение используемых экшенов контроллера
Сопоставление дополнительных маршрутов ресурсов
Пользовательские классы маршрутов для маршрутов ресурсов
URL-инфлексия для ресурсных маршрутов
Изменение пути элемента
Переданные аргументы
Создание URL-адресов
Перенаправление маршрутизации
Пользовательские классы маршрутов
Класс маршрута по умолчанию
Метод откатов
Создание постоянных параметров URL
Обработка именованных параметров в URL-адресах
Dispatcher Filters
Объекты запроса и ответа
Запрос
Параметры запроса
Параметры строки запроса
Данные в теле запроса
PUT, PATCH или DELETE данные
Переменные среды (из $_SERVER и $_ENV)
XML или JSON данные
Информация о пути
Проверка условий запроса
Данные сеанса(сессии)
Хост и доменное имя
Чтение HTTP-метода
Ограничение того, какой HTTP метод принимает экшен
Чтение HTTP заголовков
Доверенные прокси-заголовки
Проверка принятия заголовков
Cookies
Ответ
Работа с типами контента
Отправка файлов
Отправка строки в виде файла
Настройка заголовков
Настройка body
Установка кодировки символов
Взаимодействие с кэшированием браузера
Точная настройка HTTP-кэша
Настройка файлов cookie
Настройка Cross Origin Request Headers (CORS)
Общие ошибки с неизменяемыми ответами
Коллекции файлов cookie
Создание файлов cookie
Чтение файлов cookie
Промежуточное ПО
Промежуточное ПО в CakePHP
Использование промежуточного ПО
Добавление промежуточного ПО из плагинов
Запросы и ответы PSR-7
Взаимодействие с запросами
Взаимодействие с ответами
Создание промежуточного ПО
Добавление заголовков безопасности
Промежуточное ПО для шифрования файлов cookie
Cross Site Request Forgery (CSRF) Middleware
Интеграция с FormHelper
Защита CSRF и AJAX запросы
Добавление нового HTTP-стека в существующее приложение
Контроллеры
Контроллер уровня приложения (AppController)
Поток запросов
Экшены контроллера
Взаимодействие с видами
Назначение переменных вида
Установка параметров вида
Обработка вида
Перенаправление на другие страницы
Перенаправление на другой экшен внутри того же контроллера
Загрузка дополнительных моделей
Пагинация модели
Настройка загружаемых компонентов
Настройка загружаемых хелперов
Коллбеки жизненного цикла запроса
Список событий
Коллбеки контроллера
Подробнее о контроллерах
Контроллер страниц
Компоненты
Представления
Представление уровня приложения
Шаблоны Представления
Варианты вывода значений переменных
Альтернативные управляющие конструкции
Переменные Представления
Назначение переменных Представления
Расширение Представлений
Использование блоков Представления
Отображение блоков
Использование блоков для скриптов и CSS-файлов
Макеты
Использование макетов из плагинов
Элементы
Передача переменных в элемент
Кэширование элементов
Запрос элементов из плагина
Префикс маршрута и элементы
Кэширование секций вашего представления
События представления
Список событий
Создание ваших собственных классов представления
Подробнее о Представлениях
Ячейки Представления
Темы
Представления JSON и XML
Хелперы
Доступ к Базе Данных и ORM
Пример использования
Больше инфорации
Основы конфигурации базы данных
Query Builder
Табличные объекты
Entities
Retrieving Data & Results Sets
Validating Data
Saving Data
Deleting Data
Associations - Linking Tables Together
Behaviors
Schema System
ORM Cache Shell
Использование CakePHP
Аутентификация
Рекомендуется к прочтению
Аутентификация
Выбор типа аутентификации
Настройка обработчиков аутентификации
Кастомизация поискового запроса
Идентификация и вход пользователей
Перенаправление пользователей после входа
Создание системы аутентификации без сохранения состояния
Использование базовой аутентификации
Использование Дайджест-аутентификации
Создание кастомных объектов аутентификации
Использование кастомных объектов аутентификации
Обработка неаутентифицированных запросов
Вывод флэш-сообщений компонента Auth
Хеширование паролей
Создание пользовательских классов хеширования паролей
Изменение алгоритмов хэширования
Вход пользователей вручную
Получение доступа к вошедшим пользователям
Выход пользователей
Когда выполнять аутентификацию
Авторизация
Настройка обработчиков авторизации
Создание пользовательских объектов авторизации
Отказ от использования авторизации
Создание общедоступных экшенов
Создание экшенов требующих авторизации
Использование ControllerAuthorize
Параметры конфигурации
Тестирование экшенов защищенных AuthComponent
Кэширование
Встроенные механизмы кеширования:
Настройка класса кэша
Настройка откатов кэша
Удаление сконфигурированных кеш-двигателей
Запись в кэш
Написание нескольких ключей одновременно
Чтение через кеширование
Чтение из кеша
Одновременное чтение нескольких ключей
Удаление из кэша
Одновременное удаление нескольких ключей
Очистка закэшированных данных
Использование кеша для хранения счетчиков
Использование кеша для хранения общих результатов запроса
Использование групп
Глобальное включение или отключение кеша
Создание механизма хранения для кеша
Shells, Tasks & Console Tools
More Topics
Shell Helpers
Interactive Console (REPL)
Running Shells as Cron Jobs
I18N Shell
Completion Shell
Plugin Shell
Routes Shell
Upgrade Shell
Server Shell
Cache Shell
Debugging
Deployment
Email
Основное использование
Выбор отправителя
Конфигурация
Настройка транспорта
Конфигурационные профили
Настройка заголовков
Отправка шаблонных писем
Отправка вложений
Использование транспорта
Создание пользовательских транспортов
Правила валидации e-mail адресов
Быстрая отправка сообщений
Отправка писем из CLI (командной строки)
Создание многоразовых писем
Error & Exception Handling
Error & Exception Configuration
Built in Exceptions for CakePHP
Exception Renderer
Creating your own Application Exceptions
Events System
Tracking Events
Establishing Priorities
Stopping Events
Additional Reading
Internationalization & Localization
Logging
Logging Configuration
Logging to Syslog
Using Levels
Logging Scopes
Формы без Модели
Создание формы
Обработка данных запроса
Установка значений формы
Получение ошибок в форме
Невалидность отдельных полей формы из контроллера
Создание HTML с помощью FormHelper
Пагинация
Использование Controller::paginate()
Непосредственное использование пагинатора
Пагинация по нескольким запросам
Управление полями используемыми для сортировки
Ограничиние максимального количества строк на страницу
Присоединение дополнительных ассоциаций
Запросы на заданную страницу
Разбиение страницы в Виде
Плагины
Установка плагина с Composer
Файл карты плагина
Загрузка плагина
Автозагрузка классов плагина
Конфигурация плагина
Использование плагинов
Создание собственных плагинов
Создание плагина с использованием Bake
Маршрутизация плагина
Контроллеры плагина
Модели плагина
Представления плагина
Переопределение шаблонов плагинов изнутри вашего приложения
Ресурсы плагина
Связывание с активами в плагине
Компоненты, Помощники и Поведение
Расширьте свой плагин
Опубликуйте свой плагин
Управление плагинами с помощью Микшера
REST
Безопасность
Security
Межсайтовая подделка запроса
Использование CsrfComponent
Интеграция с FormHelper
CSRF-защита и AJAX-запросы
Отключение компонента CSRF для определенных экшенов
Security Component
Обработка Blackhole-коллбэков
Доступ к экшенам через SSL
Ограничение межконтроллерных взаимодействий
Предотвращение подделки форм
Использование
CSRF Protection
Отключение компонента Security для определенных экшенов
Cессии
Настройка сессии
Встроенные обработчики сессий и конфигурации
Обработчики сессий
База данных сессий
Кеширование сессий
Настройка ini директив
Создание пользовательского обработчика сессии
Доступ к объекту сессии
Чтение и запись данных сессии
Уничтожение сессии
Возобновление идентификаторов сессии
Flash-сообщения
Testing
Fixtures
Controller Integration Testing
Testing Actions That Require Authentication
Testing Events
Running Tests
Validation
Creating Validators
Creating Reusable Validators
Вспомогательные классы
App Class
Collections
Folder & File
Hash
Hash Path Syntax
Http Client
Request Method Options
Creating Scoped Clients
Response Objects
Reading JSON and XML Response Bodies
Inflector
Summary of Inflector Methods and Their Output
Inflection Configuration
Number
Formatting Currency Values
Configure formatters
Registry Objects
Text
Highlighting Substrings
Date & Time
Creating Time Instances
Dates
Immutable Dates and Times
Xml
Плагины
Bake
Chronos
Debug kit
Migrations
ElasticSearch
Upgrade Tool
Прочее
Константы и Функции
Глобальные функции
Основные определения констант
Сроки определения времени
Приложение
Руководство по миграции 3.x
Руководство по миграции 3.x
Основная информация
CakePHP Development Process
Глоссарий
Добро пожаловать
→
Follow @CakePHP