Awesome CakePHP
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: - the
CakePHP 2.x version
of this awesome list - this wiki with a
list of not-yet upgraded plugins
Additional lists you might find useful: -
CakePHP Plugins -
Awesome PHP -
Awesome Awesomeness
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
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.
Architecture
Asset Management
Tools for managing, compressing and minifying website assets.
Auditing / Logging
Plugins for auditing and logging.
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
league/oauth2-client
.
-
: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.
Caching
Plugins for caching data.
-
:strawberry:
Cache plugin
- For caching views (HTML, CSV, JSON, XML, …) as static cache files.
Code Analysis
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.
Debugging
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.
Dependency Injection
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.
E-commerce
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.
Email
Plugins for sending and parsing email.
Environment
Plugins for environment.
File Manipulation
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.
Geolocation
Plugins for geocoding addresses and working with latitudes and
longitudes.
HTTP
Plugins for HTTP and client abstraction
I18n
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.
Imagery
Plugins for manipulating images.
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.
-
Jenkins - The free alternative for
private (GitHub) repos.
-
Rocketeer - PHP
task runner and deployment package.
-
Travis CI - A continuous
integration platform - de-facto standard for testing (GitHub) repos.
-
YamlRoute -
Configure routes with simple YAML files.
Markup
Plugins for working with markup.
Migration
Plugins and resources around migration and upgrading.
Miscellaneous
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.
Navigation
Tools for building navigation structures.
NoSQL
Plugins for working with “NoSQL” backends.
Notifications
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.
PDF
Plugins and software for working with PDF files.
Queue
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 your Swagger UI documentation from
your existing models and routes. A redoc option is also available.
Search
Plugins and software for indexing and performing search queries on
data.
Security
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.
SEO
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.
Skeleton
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.
Social
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.
Templating
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.
Testing
Plugins/Tools for testing codebases and generating test data.
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.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.
Web Applications
CMS and applications built on CakePHP
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”.
-
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.
Resources
Various resources, such as books, websites and articles, for improving
your CakePHP development skills and knowledge.
Help
Where to get help.
CakePHP Websites
Useful and current CakePHP-related websites and blogs.
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 Internals Reading
Reading materials related to the CakePHP internals and decisions.
Conferences
Official
International conference.
MeetUps
Regional meet-ups.
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.