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


Рубрика: CakePHP 3

9K


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.