/awesome-cakephp

A curated list of amazingly awesome CakePHP plugins, resources and shiny things.

Do What The F*ck You Want To Public LicenseWTFPL

Awesome CakePHP Awesome

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

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.

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.

  • ๐Ÿ“ IdeHelper plugin - Helps to make IDE support better by adding annotations to your existing code similar to what baking does to new code.
  • ๐Ÿ“ TestHelper plugin - Provides testing enhancements and TDD support as browser backend.

Debugging

Plugins for debugging.

  • 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.
  • ๐Ÿ“ CakephpWhoops plugin - PHP errors and exceptions for cool kids with filp/whoops.
  • ๐Ÿ“ DebugKit plugin - The de-facto standard for debugging.
  • ErrorEmail plugin - A plugin to email exception/error information to your dev team.
  • ๐Ÿ“ 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.
  • ๐Ÿ“ Sentry plugin A plugin to seamlessly integrate Sentry with CakePHP 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.

  • 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).

  • ๐Ÿ“ 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.
  • 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.
  • ๐Ÿ“ Ajax plugin - A plugin to ease handling AJAX requests.
  • CakeAdmin plugin - A non-stable user management plugin with a built-in admin area.
  • 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.
  • CakeMiddlewares - A collection of Cakephp Middlewares.
  • ๐Ÿ“ 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.
  • ๐Ÿ“ 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.
  • 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 - A plugin for recursively scanning links.
  • Robotusers/Tactician plugin - Tools for Tactician command bus integration.
  • ๐Ÿ“ 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.
  • TokenVerify plugin - Easily issue tokens that can be used for mail authentication.
  • ๐Ÿ“ 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.
  • ๐Ÿ“ 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.
  • ๐Ÿ“ Queue plugin - A minimal and dependency-free queue solution.

REST and API

Plugins and web tools for developing REST-ful APIs.

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.

  • ๐Ÿ“ 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.
  • ๐Ÿ“ 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.
  • ๐Ÿ“ 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.
  • 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.

  • ๐Ÿ“ 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.
  • ๐Ÿ“ 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.
  • ๐Ÿ“ Crud plugin - CakePHP Application development on steroids - rapid prototyping / scaffolding & production ready code.
  • ๐Ÿ“ 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.
  • ๐Ÿ“ 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.
  • ๐Ÿ“ Bake plugin - Provides code generation functionality.
  • Bootstrap plugin - A Bootstrap 3 plugin with support for LESS.
  • ๐Ÿ“ 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.
  • ๐Ÿ“ 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.
  • ๐Ÿ“ 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.
  • ๐Ÿ“ 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.
  • ๐Ÿ“ 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.
  • ๐Ÿ“ 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.
  • 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.