Curated list of awesome lists
A curated list of amazingly awesome CakePHP 3.x+ plugins, resources and shiny things.
Plugins with the ":strawberry:" icon have CakePHP 4 compatible release too.
If you are looking for CakePHP 2.x resources please visit:
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 for Application Performance Monitoring.
NewRelic plugin - A complete plugin that enables full New Relic integration for a CakePHP application, including CLI naming, exceptions sending, custom timings, etc.
NewRelic plugin - A simple plugin that enables just name transaction and browser timing using the New Relic PHP agent.
Tools for managing, compressing and minifying website assets.
Auditing / Logging
Plugins for auditing and logging.
- :strawberry: AuditStash plugin - Flexible and rock solid audit log tracking.
- :strawberry: DatabaseLog plugin - Simple and stand-alone logging to database instead of files.
- :strawberry: Muffin/Footprint plugin - Plugin to allow passing currently logged in user to model layer.
- :strawberry: Version plugin - A plugin that facilitates versioned database entities.
Authentication and Authorization
Plugins and libraries for implementing authentication and authorization.
- :strawberry: Acl plugin - Managing ACL as database approach.
- :strawberry: ADmad/JwtAuth plugin - A plugin for authenticating using JSON Web Tokens.
- :strawberry: 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.
- :strawberry: Authentication plugin - Official CakePHP authentication middleware plugin.
- :strawberry: Authorization plugin - Official CakePHP authorization stack.
CakeDC/NavAuth plugin - A plugin for authenticating against Navision® service using SOAP or OData services. It includes NTLM authentication and more.
- :strawberry: CakeDC/Users plugin - Complete user management (admin panel, remember me, etc), Social login (FB, Twitter, LinkedIn, Google, Instagram), RBAC, API and more.
CookieAuth plugin - A simple Cake 3 plugin to automatically authenticate users with Cookies.
HierAuth plugin - A CakePHP plugin for hierarchical, role based, simple authorization.
Muffin/OAuth2 plugin - OAuth2 authentication using the
- :strawberry: Muffin/Tokenize plugin - Event driven behavior for easily generating single-use security tokens.
MultiTenant plugin - Easily build SaaS enabled web applications.
- :strawberry: TinyAuth plugin - Authentication and role based (single/multi) authorization as very light-weight approach.
- :strawberry: Tools:Passwordable - Containing Passwordable behavior for a DRY approach on password hashing.
- :strawberry: TwoFactorAuth plugin - Allows two factor authentication using Google Authenticator or similar app to generate one-time codes. Based on RobThree/TwoFactorAuth library.
UserPermissions plugin - Allow groups of users or single users to view a specific page.
Plugins for caching data.
- :strawberry: Cache plugin - For caching views (HTML, CSV, JSON, XML, ...) as static cache files.
Plugins for analysing, parsing and manipulation codebases.
- :strawberry: CakeDC/PHPStan - A PHPStan extension to resolve CakePHP magic around getter return types for the static analyzer.
- :strawberry: IdeHelper plugin - Helps to make IDE support better by adding annotations to your existing code similar to what baking does to new code.
- :strawberry: TestHelper plugin - Provides testing enhancements and TDD support as browser backend.
Plugins for debugging and local development.
Airbrake plugin A plugin to seamlessly integrate Airbrake with CakePHP for errors and exceptions.
AssociationsDebugger plugin - A plugin that draws your model associations as diagram.
- :strawberry: CakephpWhoops plugin - PHP errors and exceptions for cool kids with filp/whoops.
- :strawberry: DebugKit plugin - The de-facto standard for debugging.
ErrorEmail plugin - A plugin to email exception/error information to your dev team.
- :strawberry: Execution order - A demo app to display the execution order of files, methods and callbacks.
Psa/FixtureCheck plugin - A plugin to help detect mismatches in live DB and fixtures in order to make fixture based tests more reliable and deployments safer.
- :strawberry: Sentry plugin A plugin to seamlessly integrate Sentry with CakePHP for errors and exceptions.
- :strawberry: Setup plugin - A lightweight setup plugin containing debugging and maintenance tools.
Plugins that implement the dependency injection design pattern.
PimpleDi plugin Allows dependency injection based on Pimple library.
PipingBag plugin - Dependency injection container plugin that adds the ability to configure object instances and their dependencies before they are used, and to store them into a container class for easy access.
Plugins and applications for taking payments and building online e-commerce stores.
PaypalWPP plugin - For communicating with Paypal Web Payments Pro for transactions and information about your account.
Plugins for sending and parsing email.
Plugins for environment.
Plugins for file manipulation.
Filtering and Validation
Plugins for filtering and validating data.
Gourmet/Filters plugin - Extra dispatcher filters (maintenance, robots, ip, etc).
Gourmet/Validation plugin - Extra validation providers (Respect, IsoCodes, etc.) and rules.
HtmlPurifier plugin - Purifier Plugin that features a trait, behavior and helper to allow you to get sanitization and filtering where you need it. You can configure multiple sets of filter rules as well.
HtmlPurifier plugin - Purifier Plugin Behavior that cleanses data before it is marshaled into the entity and/or before saving.
Plugins for geocoding addresses and working with latitudes and longitudes.
Plugins for HTTP and client abstraction
Plugins for I18n (Internationalization) and L10n (Localization).
- :strawberry: ADmad/I18n plugin - A plugin with I18n related tools.
- :strawberry: Cake/Localized plugin - Localized validation and ready-to-use translation PO files.
- :strawberry: ShadowTranslate plugin - A plugin with shadow table based replacement for core's Translate behavior.
Transifex plugin - Managing i18n PO files and translations via Transifex API.
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.
Translation plugin - Extract pot files, translate string (manually, google, community), export translations to pot files.
Plugins for manipulating images.
Useful libraries or tools that don't fit in any of the other categories.
Plugins for working with markup.
Plugins and resources around migration and upgrading.
Misc plugins and libraries.
ActionsClass plugin - Gives you the ability to manage your Controller actions as single classes.
- :strawberry: Ajax plugin - A plugin to ease handling AJAX requests.
CakeAdmin plugin - A non-stable user management plugin with a built-in admin area.
- :strawberry: CakeDC/Enum plugin - A plugin to add enumeration list support to your app.
- :strawberry: CakeDto plugin - Quickly generate useful data transfer objects for your app (mutable/immutable), replacing messy arrays and leveraging your IDE through typehinting and autocomplete.
- :strawberry: 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.
CakeMiddlewares - A collection of Cakephp Middlewares.
- :strawberry: Calendar plugin - For generating basic calendars. Includes IcalView for ICS calendar file generation.
Comments plugin - A fully customizable Comments plugin.
CurrencyConverter plugin - A plugin to convert currency into another one.
Dashboard plugin - Build beautiful dashboards for your cakes.
DatabaseBackup plugin - A plugin to export, import and manage database backups.
- :strawberry: Feedback plugin - Allow visitors to send quick and easy feedback incl. a screenshot via sidebar form.
- :strawberry: Flash plugin - More powerful flash messages for your application.
- :strawberry: OPCache Preloader - An OPCache Preloader for CakePHP 4.x applications.
OrcaServices/Heartbeat plugin - Monitor the hearbeat of your application (e.g. whether the database is available and up-to-date).
Inertia plugin - Server side adapter for Inertia.js.
Interval plugin - Converts seconds to human readable string (string to seconds), uses business hours (1 week = 5 days, 1 day = 8 hours).
LinkScanner plugin - A plugin for recursively scanning links.
Robotusers/Tactician plugin - Tools for Tactician command bus integration.
- :strawberry: Setup:Maintenance - Maintenance shell to go into maintenance mode for all requests with optional IP whitelisting.
- :strawberry: Shim plugin - A plugin containing useful shims and improvements as basis for your application.
TokenVerify plugin - Easily issue tokens that can be used for mail authentication.
- :strawberry: Tools plugin - Containing lots of useful libs, helpers, behaviors, components, shells and more.
UserTools plugin - User tools for login, registration, password reset and more. Works out of the box CRUD like and is highly configurable.
Utils plugin - Containing useful components (Authorizer, Menu) and behaviors (WhoDidIt, Uploadable, Metas, Stateable).
Wrench plugin - Maintenance Mode plugin. Easily extensible and customizable.
Yaml plugin - For using YAML config files instead of PHP arrays.
Tools for building navigation structures.
Plugins for working with "NoSQL" backends.
Plugins for working with notification software.
ker0x/CakeGcm plugin - A plugin to send downstream messages to an Android or iOS device through Google Cloud Messaging.
Notifier plugin - A plugin that makes creating and reading notifications easy.
ker0x/Push plugin - A plugin to send push notifications through services like Firebase Cloud Messaging.
ORM / Database / Datamapping
Plugins that implement object-relational mapping or data-mapping techniques.
Plugins and software for working with PDF files.
Plugins for working with event and task queues.
CakeResque plugin - A plugin for Resque, a library for creating background jobs.
- :strawberry: CakeQueuesadilla plugin - A plugin that provides queueing integration with a variety of backends (BeanstalkD, MySQL, Redis, etc.).
Gearman plugin - A plugin for offloading CakePHP tasks to a Gearman Job Server.
- :strawberry: Queue plugin - A minimal and dependency-free queue solution.
REST and API
Plugins and web tools for developing REST-ful APIs.
- :strawberry: Alt3/Swagger plugin - Swagger 2.0 documentation for your CakePHP APIs using swagger-php and swagger-ui.
Alt3/ValidationExposer plugin - Easily expose your application's validation rules.
ApiPagination plugin - Injects pagination information from CakePHP's Paginator into serialized JsonView and XmlView responses.
- :strawberry: 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.
Cors plugin - Activate CORS with Middleware.
Cors plugin - A lightweight plugin for adding CORS headers to specified endpoints.
CrudJsonApi plugin - Crud listener for building JSON API compliant APIs.
- :strawberry: FractalTransformerView plugin - A plugin which allows using Fractal transformers for your API output.
- :strawberry: MixerApi - Streamline development of modern RESTful APIs for your teams CakePHP project.
- :strawberry: SwaggerBake plugin - This plugin automatically builds OpenAPI from your existing models and routes for display in Swagger and Redoc.
Plugins and software for indexing and performing search queries on data.
Plugins and information around security, preventing vulnerabilities and protection against XSS and alike.
- :strawberry: Bruteforce - Simple way to add Brute Force Protection to your installation without involving database.
BryanCrowe/EncryptedType - Simple solution that enables Encrypted data types to be stored in the database.
- :strawberry: Captcha plugin - Simple, unobstrusive and extendable captcha solution providing by default an image based math captcha.
CipherBehavior plugin - Cipher your entities data with this behavior. Encryption is done at PHP level using CakePHP Security class.
- :strawberry: 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.
- :strawberry: Muffin/Obfuscate plugin - Primary key obfuscation/shortening using UUIDs, HashIds, Optimus, Tiny and/or custom obfuscation strategies.
- :strawberry: Muffin/Throttle plugin - A plugin for rate limiting (API) requests.
- :strawberry: Recaptcha plugin - Simple, lightweight Google Recaptcha v2.
Recaptcha Mailhide plugin - A plugin that allows you to hide email addresses using reCAPTCHA.
StopSpam plugin - A plugin that allows you to check if a username, email address or IP address has been reported as a spammer.
Search Engine Optimization.
- :strawberry: 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.
Seo plugin - Auto-creates and manages your SEO tags.
Sluggable plugin - A simple Cake3 plugin to slug fields and find records by slug.
- :strawberry: Tools:Slugged - Containing Slugged behavior to auto-generate URL-compatible slugs from titles.
Plugins and repositories around app skeletons.
- :strawberry: App template - An empty CakePHP project for use with composer.
- :strawberry: Crud plugin - CakePHP Application development on steroids - rapid prototyping / scaffolding & production ready code.
- :strawberry: MixerApi/Bake - Bake theme for generating RESTful controllers.
Plugin Skeleton - A skeleton example to create a Cake3 plugin.
Plugins around social features.
CakeDC/Forum plugin - Forum plugin including categories, threads and replies, reporting messages, moderators, admin interface and more.
- :strawberry: Ratings plugin - Allows users to rate records and displays ratings.
SocialShare plugin - Link generator for sharing content on social networks.
Plugins for templating and lexing.
Address plugin - An address helper that outputs a marked up address.
- :strawberry: Bake plugin - Provides code generation functionality.
Bootstrap plugin - A Bootstrap 3 plugin with support for LESS.
- :strawberry: BootstrapUI plugin - Bootstrap 3 integration.
CakeExcel plugin - An Excel view to generate XLSX files.
Chocolate plugin - Front-End framework FormHelper extensions.
CommonMark plugin - Adds CommonMark (markdown) support to models and views.
- :strawberry: CsvView plugin - A view class to easily generate CSV.
Datalist plugin - Support for HTML5 datalist element with the possibility to create new entries into associated models.
- :strawberry: Feed plugin - Containing an RssView class to easily generate (complex) RSS feeds.
InlineCss plugin - A plugin to convert HTML style blocks to inline CSS on a View template (intended for use with email templates).
JadeView plugin - Jade template engine plugin.
Liquid plugin - A plugin to use the Liquid templating language for views.
- :strawberry: Meta plugin - Makes handling meta tags and SEO relevant HTML markup DRY and easy.
SocialMeta plugin - Adds support for Facebook's OpenGraph and Twitter's Card meta tags.
- :strawberry: TwigView plugin - A plugin to use the Twig Templating Language for views.
VideoEmbed plugin - Helper for embedding YouTube, Vimeo and Dailymotion videos.
Plugins/Tools for testing codebases and generating test data.
Third Party APIs
Plugins for accessing third party APIs.
Software for creating a development environment.
Software and tools for creating a sandboxed development environment.
CakePHP.gitignore - The .gitignore file proposals.
- :strawberry: 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.
- :strawberry: Galley - A small Docker dev environment for CakePHP development which includes a simple command line utility.
Mixer - A plugin to discover and manage CakePHP plugins.
NetBeans - This package provides support for CakePHP in NetBeans 8.1+.
Oven - Setup your favorite framework with 1 file and 1 click.
PhpStorm plugin - CakePHP auto-completion support for console commands in PhpStorm IDE.
Puppet - A server automation framework and application.
Vagrant - A portable development environment utility.
IDE specific compatibility information and tips can be found here.
CMS and applications built on CakePHP
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".
Croogo 3.x - Croogo 3.x demo
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.
Various resources, such as books, websites and articles, for improving your CakePHP development skills and knowledge.
Where to get help.
Useful and current CakePHP-related websites and blogs.
CakePHP Books and Articles
Fantastic CakePHP-related (e)books and other reading material.
Fantastic CakePHP-related videos.
CakePHP - Channel about CakePHP videos.
CakePHP Reading and Listening
Documentation and CakePHP-related reading and listening materials.
CakePHP Internals Reading
Reading materials related to the CakePHP internals and decisions.
Please see CONTRIBUTING for details.
awesome-cakephp has been created by dereuromark and is currently maintained by him and the FriendsOfCake group. Thank you to all contributors, too.