Ленивая загрузка ассоциаций (Lazy Loading)


Рубрика: CakePHP 3

10K


Lazy loadingВ этой статье мы научимся применять так называемую «ленивую» загрузку ассоциаций (lazy loading) для объектов ORM без использования метода contains(). Основное отличие «ленивой» загрузки от «жадной» (eager loading) заключается в том, что в первом случае, данные ассоциаций объекта будут подгружаться только тогда, когда к ним происходит обращение. При «жадной» загрузке, с использованием метода contains(), данные будут загружены в любом случае и не важно используем мы их в дальнейшем или нет. Тут следует отметить, что lazy loading может как сэкономить процессорное время, поскольку неиспользуемые данные не гидратируются в объекты, но и привести к отправке в базу данных большего количества запросов. В любом случае, нужно понимать, что во всем нужна золотая середина, и что следует подходить к выбору способа загрузки данных из базы индивидуально для каждого конкретного случая.

Использование Cookie с шифрованием через промежуточное ПО



CookieВсе мы знаем, что Cookie - небольшой фрагмент данных, отправленный веб-сервером и хранимый на компьютере пользователя. В современном интернете трудно себе представить реализацию полноценного функционала практически любого сайта без использования cookie, которые в значительной степени облегчают жизнь как самим веб-разработчикам, так и простым пользователям. В этой статье мы разберем пример использования в CakePHP 3 файлов cookie и подключим к приложению промежуточное программное обеспечение Cake\Http\Middleware\EncryptedCookieMiddleware, которое даст нам возможность шифрования и дешифрования этих фрагментов данных.

Предпросмотр электронной почты в DebugKit CakePHP 3



email_previewСегодня мы продолжим разговор о DebugKit - штатном плагине CakePHP 3. А именно, как я и обещал в видеообзоре плагина, более подробно рассмотрим такую панель как Email. Данная панель позволяет нам не только просматривать вид сообщений, отправленных при текущем запросе, но и организовать их предпросмотр без отправки, что весьма удобно при тестировании приложения (в том числе и на локальном сервере).

Отладка проектов CakePHP с помощью DebugKit



AJAX-в-CakePHPDebugKit предоставляет доступ к отладочной информации вашего приложения. С помощью него можно просматривать данные конфигурации, содержимое сессии, запроса, sql-лог, а также информацию о времени выполнения и производительности. По умолчанию DebugKit устанавливается со скелетом приложения что называется из коробки и является практически незаменимым в процессе создания, отладки и последующей поддержке работоспособности вашего проекта на базе фреймворка CakePHP

Отправка электронной почты в CakePHP 3



AJAX-в-CakePHPПри создании большинства сайтов часто возникает необходимость многократной отправки электронных сообщений различным пользователям. Чтобы производить подобные отправки из любой части приложения в CakePHP 3 существует класс Mailer. Этот класс также может использоваться для хранения нескольких конфигураций электронной почты в одном месте, что помогает поддерживать код в стиле DRY и устраняет помехи конфигурации электронной почты из других областей вашего приложения. В этой статье я покажу шаги для правильной настройки и работы функции отправки электронной почты в приложении на базе фреймворка CakePHP 3.

Объекты запроса и ответа (Request & Response Objects)



Объекты запроса и ответа (Request & Response Objects) являются абстрактными представителями HTTP-запросов и ответов. Объект запроса в CakePHP позволяет работать с входящим запросом, в то время как объект ответа позволяет легко создавать ответы HTTP от контроллеров приложения.

Пагинация страниц при кэшировании объектов в CakePHP



AJAX-в-CakePHPВ этой статье будет рассмотрен вариант кэширования объектов, полученных в результате запросов к базе данных, созданных с помощью CakePHP ORM. А так как этих объектов (например, статей) может быть большое количество, мы произведем их постраничную разбивку. Хотя, даже если объем информации получаемой из базы данных не велик и особого выигрыша в производительности достичь не удастся, вы просто обязаны настроить хэширование в своем приложении, так как его реализация в CakePHP очень проста.

AJAX в CakePHP



AJAX-в-CakePHPРеализация AJAX в CakePHP. В данном уроке мы увидим, как легко работать с AJAX в СakePHP, где всю основную работу берет на себя фреймворк. На примере разберем создание механизма управления простым списком комментариев к статьям без перезагрузки страницы, подробно рассмотрим добавление новых комментариев. Для упрощения поставленной задачи в примере будут использоваться Twitter Bootstrap и библиотека Jquery.