CakePHP background processing

0

The easy way 🙂 Some might also already be in the #CakePHP coding world for some time. They might remember an article from like 11 years ago: queue-deferred-execution-in-cakephp. If not, maybe catch up on that one first, as that is…

Templating and Icons in CakePHP

0

There is a new plugin on the block: Templating Check it out. PS: This is a direct successor of www.dereuromark.de/2022/12/19/font-icons-in-cakephp-apps. So all of the functionality around icons is directly ported, as well. Please read that article for some history on…

Improved Paginator for CakePHP

0

The default paginator throws a 404 on "OutOfBounds", so when you happen to access the pagination with a too high page number. What can be the issue with this? So first: This is not very user friendly. Often times this…

Database migration tips for CakePHP

0

CakePHP uses Phinx by default. The following tips will help with larger and legacy projects to maybe clean things up. Migration file count Problems If your migrations piled up over the years, and you have like hundreds of migrations, maybe…

CakePHP 5 upgrade guide

0

CakePHP 5 has just been released as 5.0.0. As it stabilizes, here already some tips and helpful tools to quickly update your app or plugin code. This aims to be a living doc on the process, so I will update…

Font icons in CakePHP apps

2

Everyone uses font icons these days. The most common, most powerful library seems to be FontAwesome. But also BootstrapIcons is used quite a bit. Not so common yet are Material and Feather as icon libraries. Some of those also use…

Improved CakePHP ErrorHandler

0

Some might already know the improved error handler parts of the Tools plugin from CakePHP 2 or 3. Here I rewrite and publish those now for the 2020 CakePHP 4 scope. Motivation The main goal of the error.log is to…

Flash Messages in CakePHP 4

1

This replaces the old and outdated v2+ article about this topic. Looking back at v3 As the old article was still from CakePHP 2 days, the CakePHP 3 version was already its own plugin. It was moved to a standalone…