Awesome Cakephp Overview
A curated list of amazingly awesome CakePHP plugins, resources and shiny things.
🏠 Home · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 FriendsOfCake/awesome-cakephp · ⭐ 909 · 🏷️ Back-End Development
Awesome CakePHP
A curated list of amazingly awesome CakePHP 5.x+ plugins, resources and shiny things.
If you are looking for previous CakePHP resources please visit:
- the CakePHP 2.x version (⭐909) of this awesome list
- the CakePHP 3.x version (⭐909) of this awesome list
- the CakePHP 4.x version (⭐909) of this awesome list
- this wiki with a list of not-yet upgraded plugins (⭐909)
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
- File Manipulation
- Filtering and Validation
- Geolocation
- 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 (⭐67) - Service layer and domain/business model implementation.
Asset Management
Tools for managing, compressing and minifying website assets.
- AssetCompress plugin (⭐370) - A complete asset manager for CakePHP.
- AssetMix plugin (⭐33) - Provides integration with Laravel Mix asset compilation.
Auditing / Logging
Plugins for auditing and logging.
- AuditStash plugin (⭐78) - Flexible and rock solid audit log tracking.
- DatabaseLog plugin (⭐43) - Simple and stand-alone logging to database instead of files.
- Muffin/Footprint plugin (⭐95) - Plugin to allow passing currently logged in user to model layer.
- Version plugin (⭐51) - A plugin that facilitates versioned database entities.
Authentication and Authorization
Plugins and libraries for implementing authentication and authorization.
- ADmad/SocialAuth plugin (⭐49) - A plugin which allows you to authenticate using social providers like Facebook/Google/Twitter etc. using SocialConnect/auth (⭐550) social sign on library.
- ApiTokenAuthenticator plugin (⭐3) - A simple token authentication plugin for CakePHP REST APIs.
- Authentication plugin (⭐117) - Official CakePHP authentication middleware plugin.
- Authorization plugin (⭐76) - Official CakePHP authorization stack.
- CakeDC/Users plugin (⭐521) - Complete user management (admin panel, remember me, etc), Social login (FB, Twitter, LinkedIn, Google, Instagram), RBAC, API and more.
- TinyAuth plugin (⭐126) - Authentication and role-based (single/multi) authorization as very light-weight approach.
- Tools:Passwordable (⭐334) - Containing Passwordable behavior (⭐334) for a DRY approach on password hashing.
- TwoFactorAuth plugin (⭐37) - Allows two factor authentication using Google Authenticator or similar app to generate one-time codes. Based on RobThree/TwoFactorAuth (⭐1.1k) library.
Caching
Plugins for caching data.
- Cache plugin (⭐33) - For caching views (HTML, CSV, JSON, XML, ...) as static cache files.
- CakeDC/CachedRouting plugin (⭐4) - Provides a cached version of the RoutingMiddleware to improve the load time of routes.
Code Analysis
Plugins for analyzing, parsing and manipulation codebases.
- cakedc/cakephp-phpstan (⭐36) - A PHPStan extension to resolve CakePHP magic around getter return types for the static analyzer.
- IdeHelper plugin (⭐186) - Helps to make IDE support better by adding annotations to your existing code similar to what baking does to new code.
- IdeHelperExtra plugin (⭐2) - Useful IdeHelper addons for other plugins or custom use cases.
- lordsimal/cakephp-psalm (⭐2) - A Psalm extension to resolve CakePHP magic around getter return types for the static analyzer.
- TestHelper plugin (⭐7) - Provides testing enhancements and TDD support as browser backend.
Debugging
Plugins for debugging and local development.
- AssociationsDebugger plugin (⭐10) - A plugin that draws your model associations as diagram.
- CakephpWhoops plugin (⭐13) - PHP errors and exceptions for cool kids with filp/whoops (⭐13k).
- DebugKit plugin (⭐851) - The de-facto standard for debugging.
- Execution order (⭐21) - A demo app to display the execution order of files, methods and callbacks.
- Sentry plugin (⭐10) A plugin to seamlessly integrate Sentry for errors and exceptions.
- Setup plugin (⭐34) - A lightweight setup plugin containing debugging and maintenance tools.
Plugins for sending and parsing email.
- Queue plugin (⭐307) - A dependency-free queue-based mail solution using Mailer/Email class, allowing re-queue on (network) failure.
File Manipulation
Plugins for file manipulation.
- FileStorage plugin (⭐4) - Flexible file storage and upload plugin.
- Josegonzalez/Upload plugin (⭐550) - 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.
- see Cake/Localized below.
Geolocation
Plugins for geocoding addresses and working with latitudes and longitudes.
- Geo plugin (⭐47) - Containing Geocoder behavior and GoogleMaps helper.
I18n
Plugins for I18n (Internationalization) and L10n (Localization).
- ADmad/I18n plugin (⭐44) - A plugin with I18n related tools.
- Cake/Localized plugin (⭐212) - Localized validation and ready-to-use translation PO files.
Imagery
Plugins for manipulating images.
- ADmad/Glide plugin (⭐35) - A plugin for using Glide image manipulation library.
- QrCodePlugin (⭐7) - Easily render SVG/PNG QR Codes for your app.
Libs
Useful libraries or tools that don't fit in any of the other categories.
- Chronos (⭐1.4k) - A simple standalone DateTime API extension (successor of Carbon).
- Composer Installers (⭐1.4k) - A multi framework Composer library installer.
- Composer/Packagist - A package and dependency manager.
- Graphviz (⭐73) - A Graphviz library.
- Rocketeer (⭐2.7k) - PHP task runner and deployment package.
Markup
Plugins for working with markup.
- Markup plugin (⭐3) - Allows to use PHP or JS based syntax highlighting.
Migration
Plugins and resources around migration and upgrading.
- Migrations plugin (⭐137) - (DB) Migration plugin.
- Upgrade app (⭐110) - Official upgrade app for 3.x=>4.x and 4.x=>5.x.
- Upgrade app (extended) (⭐24) - An extended upgrade app for 3.x=>4.x and some 5.x snippets.
- Upgrade/Migration Guide - Official migration guide.
Miscellaneous
Misc plugins and libraries.
- Ajax plugin (⭐56) - A plugin to ease handling AJAX requests.
- CakeDC/Enum plugin (⭐29) - A plugin to add enumeration list support to your app.
- CakeDto plugin (⭐24) - Quickly generate useful data transfer objects for your app (mutable/immutable), replacing messy arrays and leveraging your IDE through typehinting and autocomplete.
- Calendar plugin (⭐16) - For generating basic calendars. Includes IcalView for ICS calendar file generation.
- Feedback plugin (⭐6) - Allow visitors to send quick and easy feedback incl. a screenshot via sidebar form.
- Flash plugin (⭐12) - More powerful flash messages for your application.
- OPCache Preloader (⭐11) - An OPCache Preloader for CakePHP applications.
- Setup:Maintenance (⭐34) - Maintenance shell to go into maintenance mode for all requests with optional IP whitelisting.
- Shim plugin (⭐37) - A plugin containing useful shims and improvements as basis for your application.
- Tools plugin (⭐334) - Containing lots of useful libs, helpers, behaviors, components, shells and more.
Navigation
Tools for building navigation structures.
- Icings/Menu plugin (⭐11) - A KnpMenu (⭐1.4k) 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 (⭐44) - Behavior for maintaining ordered list of records.
- CakeDecimal plugin (⭐8) - A value object approach on handling decimals.
- Duplicatable plugin (⭐52) - Behavior for duplicating entities including related data.
- Lampager/Cake plugin (⭐5) - Rapid pagination without using OFFSET.
- Muffin/Orderly plugin (⭐22) - Allows setting default order for your tables.
- Muffin/Trash plugin (⭐85) - Soft-delete behavior for CakePHP.
- Itosho/EasyQuery plugin (⭐26) - Behavior for easily generating some complicated queries like (bulk) insert/upsert etc.
- Icings/Partitionable plugin (⭐16) - Partitionable associations allowing for basic limiting per group.
Plugins and software for working with PDF files.
- CakePdf plugin (⭐373) - A plugin around PDF generation.
Queue
Plugins for working with event and task queues.
- Queue plugin (⭐37) - CakePHP core queue system for the php-queue queue library.
- Queue plugin (⭐307) - A minimal and dependency-free queue solution.
- QueueScheduler plugin (⭐6) - A dependency-free crontab-like scheduler as DB driven solution and addon to Queue (dereuromark) plugin.
REST and API
Plugins and web tools for developing REST-ful APIs.
- CRUD plugin (⭐375) - CakePHP Application development on steroids - rapid prototyping / scaffolding & production-ready code.
- CakeDC/Api plugin (⭐61) - All-in-one solution to provide a complete API. It includes versioning, renderers, CRUD, authentication, extensions (paginate, filter, HATEOAS), and much more.
- FractalTransformerView plugin (⭐19) - A plugin which allows using Fractal transformers for your API output.
- MixerApi - Streamline development of modern RESTful APIs for your team's CakePHP project.
- SwaggerBake plugin (⭐60) - 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 (⭐87) - Alternative ORM using Elasticsearch as its backend.
- CakeDC/SearchFilter plugin (⭐0) - Powerful and flexible solution for implementing advanced search functionality. Provides a robust set of tools for creating dynamic, user-friendly search interfaces with minimal effort.
- PlumSearch plugin (⭐19) - Implements custom, flexible and extendable search strategies. Implements PRG pattern.
- Search plugin (⭐170) - Provides easy searching/filtering for paginated views using PRG pattern.
- Tags plugin (⭐14) - For tagging and finding tagged records.
Security
Plugins and information around security, preventing vulnerabilities and protection against XSS and alike.
- Captcha plugin (⭐10) - Simple, unobtrusive and extendable captcha solution providing by default an image based math captcha.
- Expose plugin (⭐8) - 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 (⭐36) - Primary key obfuscation/shortening using UUIDs, HashIds, Optimus, Tiny and/or custom obfuscation strategies.
- Muffin/Throttle plugin (⭐63) - A plugin for rate limiting (API) requests.
- Recaptcha plugin (⭐21) - Simple, lightweight Google Recaptcha v2.
SEO
Search Engine Optimization.
- Muffin/Slug plugin (⭐35) - A plugin for generating slugs and finding records by slug. Uses a pluggable architecture which allows using your own slug generator class.
- Tools:Slugged (⭐334) - Containing Slugged behavior to auto-generate URL-compatible slugs from titles.
Skeleton
Plugins and repositories around app skeletons.
- App template (⭐374) - An empty CakePHP project for use with composer.
- BS flavored App template (⭐0) - An empty CakePHP project with BS5 and FontAwesome out of the box.
Social
Plugins around social features.
- Comments plugin (⭐1) - Allows users to comment records, supporting different formats.
- Favorites plugin (⭐2) - Allows users to star/like/favor records.
- Ratings plugin (⭐9) - Allows users to rate records and displays ratings.
Templating
Plugins for templating and lexing.
- Bake plugin (⭐112) - Provides code generation functionality.
- BootstrapUI plugin (⭐340) - Bootstrap 4/5 integration.
- CsvView plugin (⭐176) - A view class to easily generate CSV.
- Feed plugin (⭐13) - Containing an RssView class to easily generate (complex) RSS feeds.
- Meta plugin (⭐7) - Makes handling meta tags and SEO-relevant HTML markup DRY and easy.
- Templating (⭐2) - HTML snippets as value objects, (Font) icons, and templating topics.
- Tools:Tree (⭐334) - Tree helper to work with Core Tree behavior and handle tree structure output.
- TwigView plugin (⭐14) - A plugin to use the Twig Templating Language for views.
- XlsView plugin (⭐0) - A view class to easily generate XLS using PHPSpreadsheet.
Testing
Plugins/Tools for testing codebases and generating test data.
- CakePHP CodeSniffer rules (⭐238) - The official CakePHP CS rules.
- CakephpFixtureFactories plugin (⭐85) - Create your fixtures dynamically on a test basis, accelerate the writing and maintenance of your tests.
- FriendsOfCake/Fixturize plugin (⭐24) - 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 (⭐29) - A cakephp/app template for docker.
- CakePHP Vagrant Setup (⭐5) - Tool for spinning up multiple CakePHP vanilla dev environments.
- DDEV - Docker based local env.
- Devilbox - A docker development environment for (CakePHP) apps to be auto-setup including a lot of tools.
- Docker (⭐31) - CakePHP in a docker container environment.
- Galley - A small Docker dev environment for CakePHP development which includes a simple command line utility.
- NetBeans (⭐46) - This package provides support for CakePHP in NetBeans 8.1+.
- Oven (⭐141) - 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 (⭐186).
Web Applications
CMS and applications built on CakePHP
- baserCMS (⭐173) - This is a website development framework with RESTful APIs. Installable as a plugin for CakePHP.
Demo
Web-based (demo) applications and tools.
- BlogMVC (⭐8) - A simple Blog example with CakePHP based on BlogMVC Project (⭐214).
- Bookmarkr (⭐17) A bookmarking application built with the CRUD plugin.
- Fluentd + Grafana Loki demo application (⭐1) - A demo application to send CakePHP docker container logs to Grafana Loki via Fluentd.
- RealWorld (⭐103) - Example CakePHP codebase containing real world examples (CRUD, auth, advanced patterns and more) that adheres to the RealWorld (⭐81k) spec and API.
- Sandbox - A sandbox CakePHP application with lots of demos and plugin showcasings.
- Query Examples (⭐56) Advanced query building examples.
- Xeta (⭐53) - A resource to help people starting with CakePHP.
- Vue.js Demo App (⭐49) - 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.
- Official CakePHP Forum - This is for generic questions and alike.
- 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.
- 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 (⭐8.7k) - 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 (⭐909), too.