Awesome CakePHP
A curated list of amazingly awesome CakePHP 4.x+ plugins, resources and shiny things.
Plugins with the "
If you are looking for previous CakePHP resources please visit:
- the CakePHP 2.x version of this awesome list
- the CakePHP 3.x version of this awesome list
- this wiki with a list of not-yet upgraded plugins
Additional lists you might find useful:
For those wondering; this list differs from plugins.cakephp.org by supporting plugin subparts (instead of only the whole plugin/repo), more granular grouping and the primary focus on task specific functionality.
Table of Contents
- Plugins
- APM
- Architecture
- Asset Management
- Auditing / Logging
- Authentication and Authorization
- Caching
- Code Analysis
- Debugging
- Dependency Injection
- E-commerce
- Environment
- File Manipulation
- Filtering and Validation
- Geolocation
- HTTP
- I18n
- Imagery
- Libs
- Markup
- Migration
- Miscellaneous
- Navigation
- NoSQL
- Notifications
- ORM / Database / Datamapping
- Queue
- REST and API
- Search
- Security
- SEO
- Skeleton
- Social
- Templating
- Testing
- Third Party APIs
- Software
- Web Applications
- Resources
- Conferences
- Contributing
Plugins
APM
Plugins for Application Performance Monitoring.
Architecture
- Burzum/CakeServiceLayer plugin - Service layer and domain/business model implementation.
Asset Management
Tools for managing, compressing and minifying website assets.
- AssetCompress plugin - A complete asset manager for CakePHP.
- AssetMix plugin - Provides integration with Laravel Mix asset compilation.
Auditing / Logging
Plugins for auditing and logging.
- AuditStash plugin - Flexible and rock solid audit log tracking.
- DatabaseLog plugin - Simple and stand-alone logging to database instead of files.
- Muffin/Footprint plugin - Plugin to allow passing currently logged in user to model layer.
- Version plugin - A plugin that facilitates versioned database entities.
Authentication and Authorization
Plugins and libraries for implementing authentication and authorization.
- Acl plugin - Managing ACL as database approach.
- ADmad/JwtAuth plugin - A plugin for authenticating using JSON Web Tokens.
- ADmad/SocialAuth plugin - A plugin which allows you to authenticate using social providers like Facebook/Google/Twitter etc. using SocialConnect/auth social sign on library.
- ApiTokenAuthenticator plugin - A simple token authentication plugin for CakePHP REST APIs.
- Authentication plugin - Official CakePHP authentication middleware plugin.
- Authorization plugin - Official CakePHP authorization stack.
- CakeDC/Users plugin - Complete user management (admin panel, remember me, etc), Social login (FB, Twitter, LinkedIn, Google, Instagram), RBAC, API and more.
- Muffin/Tokenize plugin - Event driven behavior for easily generating single-use security tokens.
- TinyAuth plugin - Authentication and role based (single/multi) authorization as very light-weight approach.
- Tools:Passwordable - Containing Passwordable behavior for a DRY approach on password hashing.
- TwoFactorAuth plugin - Allows two factor authentication using Google Authenticator or similar app to generate one-time codes. Based on RobThree/TwoFactorAuth library.
Caching
Plugins for caching data.
- Cache plugin - For caching views (HTML, CSV, JSON, XML, ...) as static cache files.
Code Analysis
Plugins for analysing, parsing and manipulation codebases.
- CakeDC/PHPStan - A PHPStan extension to resolve CakePHP magic around getter return types for the static analyzer.
- IdeHelper plugin - Helps to make IDE support better by adding annotations to your existing code similar to what baking does to new code.
- IdeHelperExtra plugin - Useful IdeHelper addons for other plugins or custom use cases.
- TestHelper plugin - Provides testing enhancements and TDD support as browser backend.
Debugging
Plugins for debugging and local development.
- AssociationsDebugger plugin - A plugin that draws your model associations as diagram.
- CakephpWhoops plugin - PHP errors and exceptions for cool kids with filp/whoops.
- DebugKit plugin - The de-facto standard for debugging.
- Execution order - A demo app to display the execution order of files, methods and callbacks.
- Sentry plugin A plugin to seamlessly integrate Sentry for errors and exceptions.
- Setup plugin - A lightweight setup plugin containing debugging and maintenance tools.
Dependency Injection
Plugins that implement the dependency injection design pattern.
E-commerce
Plugins and applications for taking payments and building online e-commerce stores.
Plugins for sending and parsing email.
- EmailQueue plugin - Email queue plugin with a preview and sender shell.
- Mailgun plugin - Email transport plugin for sending email via Mailgun.
Environment
Plugins for environment.
File Manipulation
Plugins for file manipulation.
- FileStorage plugin - Flexible file storage and upload plugin.
- Josbeir/Filesystem plugin - Abstract Flysystem + file entity based upload plugin.
- Josegonzalez/Upload plugin - A customisable plugin that uses Flysystem to write to multiple backends (Dropbox, FTP, S3, Local, etc.).
Filtering and Validation
Plugins for filtering and validating data.
Geolocation
Plugins for geocoding addresses and working with latitudes and longitudes.
- Geo plugin - Containing Geocoder behavior and GoogleMaps helper.
HTTP
Plugins for HTTP and client abstraction
- Http/Adapter/Cake library - Adapter for HTTPlug HTTP client abstraction.
I18n
Plugins for I18n (Internationalization) and L10n (Localization).
- ADmad/I18n plugin - A plugin with I18n related tools.
- Cake/Localized plugin - Localized validation and ready-to-use translation PO files.
- ShadowTranslate plugin - A plugin with shadow table based replacement for core's Translate behavior.
- Translate plugin - Manage translations of your static content the easy way via web backend, incl. import from POT files, auto-suggest and auto-translate via API.
Imagery
Plugins for manipulating images.
- ADmad/Glide plugin - A plugin for using Glide image manipulation library.
Libs
Useful libraries or tools that don't fit in any of the other categories.
- Capcake - Deploy CakePHP applications using Capistrano.
- Chronos - A simple standalone DateTime API extension (successor of Carbon).
- Composer Installers - A multi framework Composer library installer.
- Composer/Packagist - A package and dependency manager.
- Graphviz - A Graphviz library.
- Rocketeer - PHP task runner and deployment package.
- makallio85/YamlRoute plugin - Configure routes with simple YAML files.
Markup
Plugins for working with markup.
- Markup plugin - Allows to use PHP or JS based syntax highlighting.
Migration
Plugins and resources around migration and upgrading.
- Migrations plugin - (DB) Migration plugin.
- Upgrade app - Official upgrade app for 2.x=>3.x and 3.x=>4.x.
- Upgrade app (extended) - An extended upgrade app for 2.x=>3.x, between 3.x and some 4.x snippets.
- Upgrade/Migration Guide - Official migration guide.
Miscellaneous
Misc plugins and libraries.
- Ajax plugin - A plugin to ease handling AJAX requests.
- CakeDC/Enum plugin - A plugin to add enumeration list support to your app.
- CakeDto plugin - Quickly generate useful data transfer objects for your app (mutable/immutable), replacing messy arrays and leveraging your IDE through typehinting and autocomplete.
- CakeImpersonate plugin - A component that stores the current authentication session and creates new session for impersonating Users. User can revert back to original authentication sessions without the need to re-login.
- Calendar plugin - For generating basic calendars. Includes IcalView for ICS calendar file generation.
- Feedback plugin - Allow visitors to send quick and easy feedback incl. a screenshot via sidebar form.
- Flash plugin - More powerful flash messages for your application.
- OPCache Preloader - An OPCache Preloader for CakePHP 4.x applications.
- Setup:Maintenance - Maintenance shell to go into maintenance mode for all requests with optional IP whitelisting.
- Shim plugin - A plugin containing useful shims and improvements as basis for your application.
- Tools plugin - Containing lots of useful libs, helpers, behaviors, components, shells and more.
Navigation
Tools for building navigation structures.
- Icings/Menu plugin - A KnpMenu seasoned menu plugin for CakePHP.
NoSQL
Plugins for working with "NoSQL" backends.
Notifications
Plugins for working with notification software.
ORM / Database / Datamapping
Plugins that implement object-relational mapping or data-mapping techniques.
- ADmad/Sequence plugin - Behavior for maintaining ordered list of records.
- CakeDecimal plugin - A value object approach on handling decimals.
- Duplicatable plugin - Behavior for duplicating entities including related data.
- Lampager/Cake plugin - Rapid pagination without using OFFSET.
- Muffin/Orderly plugin - Allows setting default order for your tables.
- Muffin/Sti plugin - Single Table Inheritance for CakePHP.
- Muffin/Trash plugin - Soft-delete behavior for CakePHP.
- Robotusers/TableInheritance plugin - Singe Table Inheritance (STI) plugin.
- RowLocker plugin - Exclusive locks for rows in your tables.
- Muffin/Webservices ORM plugin - An ORM like interface for webservices.
- Connehito/CakephpMasterReplica plugin - Switch master/replica database connections.
- Itosho/EasyQuery plugin - Behavior for easily generating some complicated queries like (bulk) insert/upsert etc.
- Icings/Partitionable plugin - Partitionable associations allowing for basic limiting per group.
Plugins and software for working with PDF files.
- CakePdf plugin - A plugin around PDF generation.
Queue
Plugins for working with event and task queues.
- CakeQueuesadilla plugin - A plugin that provides queueing integration with a variety of backends (BeanstalkD, MySQL, Redis, etc.).
- Queue plugin - A minimal and dependency-free queue solution.
- Queue plugin - CakePHP core queue system for the php-queue queue library.
REST and API
Plugins and web tools for developing REST-ful APIs.
- CRUD plugin - CakePHP Application development on steroids - rapid prototyping / scaffolding & production ready code.
- Alt3/Swagger plugin - Swagger 2.0 documentation for your CakePHP APIs using swagger-php and swagger-ui.
- CakeDC/Api plugin - All-in-one solution to provide a complete API. It includes versioning, renderers, CRUD, authentication, extensions (paginate, filter, HATEOAS), and much more.
- FractalTransformerView plugin - A plugin which allows using Fractal transformers for your API output.
- MixerApi - Streamline development of modern RESTful APIs for your teams CakePHP project.
- SwaggerBake plugin - This plugin automatically builds OpenAPI from your existing models and routes for display in Swagger and Redoc.
Search
Plugins and software for indexing and performing search queries on data.
- Cake/ElasticSearch plugin - Alternative ORM using Elasticsearch as its backend.
- PlumSearch plugin - Search plugin implements custom, flexible and extendable search strategies. Implements PRG pattern.
- Search plugin - Provides easy searching/filtering for paginated views using PRG pattern.
- Tags plugin - For tagging and finding tagged records.
Security
Plugins and information around security, preventing vulnerabilities and protection against XSS and alike.
- Bruteforce - Simple way to add Brute Force Protection to your installation without involving database.
- Captcha plugin - Simple, unobstrusive and extendable captcha solution providing by default an image based math captcha.
- Expose plugin - Expose entities through additional UUIDs instead of their AIID primary keys to obfuscate those IDs and data associated with these numerically ordered values.
- Muffin/Obfuscate plugin - Primary key obfuscation/shortening using UUIDs, HashIds, Optimus, Tiny and/or custom obfuscation strategies.
- Muffin/Throttle plugin - A plugin for rate limiting (API) requests.
- Recaptcha plugin - Simple, lightweight Google Recaptcha v2.
SEO
Search Engine Optimization.
- Muffin/Slug plugin - A plugin for generating slugs and finding records by slug. Uses a pluggable architecture which allows using your own slug generator class.
- Tools:Slugged - Containing Slugged behavior to auto-generate URL-compatible slugs from titles.
Skeleton
Plugins and repositories around app skeletons.
- App template - An empty CakePHP project for use with composer.
- MixerApi/Bake - Bake theme for generating RESTful controllers.
Social
Plugins around social features.
- Ratings plugin - Allows users to rate records and displays ratings.
Templating
Plugins for templating and lexing.
- Bake plugin - Provides code generation functionality.
- BootstrapUI plugin - Bootstrap 3 integration.
- CsvView plugin - A view class to easily generate CSV.
- Feed plugin - Containing an RssView class to easily generate (complex) RSS feeds.
- Meta plugin - Makes handling meta tags and SEO relevant HTML markup DRY and easy.
- TwigView plugin - A plugin to use the Twig Templating Language for views.
Testing
Plugins/Tools for testing codebases and generating test data.
- CakePHP Codeception module - The official CakePHP integration with Codeception.
- CakePHP CodeSniffer rules - The official CakePHP CS rules.
- CakephpFixtureFactories plugin - Create your fixtures dynamically on a test basis, accelerate the writing and maintainance of your tests.
- Faker plugin - Faker support for CakePHP fixtures.
- Fixtures plugin - Fixtures plugin to read existing fixtures and create table/insert data for quick start with app.
- FriendsOfCake/Fixturize plugin - More efficient inserting fixtures when running test suites by decreasing amount of inserts (mysql only).
Third Party APIs
Plugins for accessing third party APIs.
Software
Software for creating a development environment.
Development Environment
Software and tools for creating a sandboxed development environment.
- CakePHP Docker - A cakephp/app template for docker and kubernetes setup.
- CakePHP Vagrant Setup - Tool for spinning up multiple CakePHP 3.x Vanilla Dev Environments.
- Devilbox - A docker development environment for (CakePHP) apps to be auto-setup including a lot of tools.
- Docker - CakePHP in a docker container environment.
- Galley - A small Docker dev environment for CakePHP development which includes a simple command line utility.
- NetBeans - This package provides support for CakePHP in NetBeans 8.1+.
- Oven - Setup your favorite framework with 1 file and 1 click.
- Puppet - A server automation framework and application.
- Vagrant - A portable development environment utility.
IDE specific compatibility information and tips can be found here.
Web Applications
CMS and applications built on CakePHP
- baserCMS - This is a website development framework with RESTful APIs. Installable as a plugin for CakePHP 4.x.
- Croogo - CMS software (see 5.0 branch).
Demo
Web-based (demo) applications and tools.
- BlogMVC - A simple Blog example with CakePHP based on BlogMVC Project.
- Bookmarkr A bookmarking application built with the CRUD plugin.
- CakeFest - Demo application around the annual CakePHP Conference "CakeFest".
- Fluentd + Grafana Loki demo application - A demo application to send CakePHP docker container logs to Grafana Loki via Fluentd.
- RealWorld - Example CakePHP codebase containing real world examples (CRUD, auth, advanced patterns and more) that adheres to the RealWorld spec and API.
- Sandbox - A sandbox CakePHP application with lots of demos and plugin showcasings.
- Query Examples Advanced query building examples.
- Xeta - A resource to help people starting with CakePHP.
- Vue.js Demo App - A CakePHP + VueJS single page application skeleton.
Resources
Various resources, such as books, websites and articles, for improving your CakePHP development skills and knowledge.
Help
Where to get help.
- CakePHP-FR.org - The french community website.
- Official CakePHP Forum - This is for generic questions and alike.
- IRC Channel - Live chat/discussion with other devs and core devs.
- stackoverflow.com/questions/tagged/cakephp - This is for specific questions, ideally along with some example code.
CakePHP Websites
Useful and current CakePHP-related websites and blogs.
- CakeDC - Articles around CakePHP.
- dereuromark.de - An extensive CakePHP core dev blog.
- jedistirfry.co.uk - A CakePHP related dev blog.
- josediazgonzalez.com - A mainly CakePHP related core dev blog.
- mark-story.com - CakePHP lead dev blog.
CakePHP Books and Articles
Fantastic CakePHP-related (e)books and other reading material.
CakePHP Videos
Fantastic CakePHP-related videos.
- CakePHP - Channel about CakePHP videos.
CakePHP Tutorials
Must-do tutorials.
CakePHP Reading and Listening
Documentation and CakePHP-related reading and listening materials.
- CakePHP Cookbook(!) - The official CakePHP documentation.
CakePHP Internals Reading
Reading materials related to the CakePHP internals and decisions.
- Top 10 (and more) core contributors - Give 'em a hand.
Conferences
Official
International conference.
- cakefest.org - Annual CakePHP Conference.
MeetUps
Regional meet-ups.
- CakePHP-DE - MeetUps in Germany.
Contributing
Please see CONTRIBUTING for details.
Credits
awesome-cakephp has been created by dereuromark and is currently maintained by him and the FriendsOfCake group. Thank you to all contributors, too.