Skip to content

Latest commit

 

History

History
445 lines (336 loc) · 29.4 KB

README.md

File metadata and controls

445 lines (336 loc) · 29.4 KB

Awesome CakePHP Awesome

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

Plugins with the "🍰" icon have CakePHP 5 compatible release too (minimum "beta").

If you are looking for previous CakePHP 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.

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.
  • 🍰 CakeDC/CachedRouting plugin - 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 - 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.
  • 🍰 lordsimal/cakephp-psalm - A Psalm extension to resolve CakePHP magic around getter return types for the static analyzer.
  • 🍰 TestHelper plugin - Provides testing enhancements and TDD support as browser backend.

Debugging

Plugins for debugging and local development.

Dependency Injection

Plugins that implement the dependency injection design pattern.

E-commerce

Plugins and applications for taking payments and building online e-commerce stores.

Email

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.
  • 🍰 Queue plugin - A dependency-free queue-based mail solution using Mailer/Email class, allowing re-queue on (network) failure.

File Manipulation

Plugins for file manipulation.

Filtering and Validation

Plugins for filtering and validating data.

  • see Cake/Localized below.

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

Libs

Useful libraries or tools that don't fit in any of the other categories.

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.

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

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.

PDF

Plugins and software for working with PDF files.

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 - CakePHP core queue system for the php-queue queue library.
  • 🍰 Queue plugin - A minimal and dependency-free queue solution.
  • 🍰 QueueScheduler plugin - 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 - 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.
  • BryanCrowe/ApiPagination plugin - Automatically adds fully configurable pagination metadata from CakePHP’s built-in pagination to JsonView or XmlView API responses by encapsulating payload data in an envelope.
  • 🍰 FractalTransformerView plugin - 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 - 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.
  • 🍰 CakeDC/SearchFilter plugin - 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 - 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, unobtrusive and extendable captcha solution providing by default an image based math captcha.
  • BryanCrowe/EncryptedType plugin - A straightforward solution that enables field-level (column) encryption within the application layer before data is stored or transmitted to the database, supporting regulatory compliance, zero-trust security, end-to-end encryption, and contextual awareness.
  • 🍰 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.

Social

Plugins around social features.

  • 🍰 Comments plugin - Allows users to comment records, supporting different formats.
  • 🍰 Favorites plugin - Allows users to star/like/favor records.
  • 🍰 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 4/5 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.
  • 🍰 Templating - HTML snippets as value objects, (Font) icons, and templating topics.
  • 🍰 Tools:Tree - Tree helper to work with Core Tree behavior and handle tree structure output.
  • 🍰 TwigView plugin - A plugin to use the Twig Templating Language for views.
  • 🍰 XlsView plugin - A view class to easily generate XLS using PHPSpreadsheet.

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 Docker - A cakephp/app template for docker.
  • CakePHP Vagrant Setup - Tool for spinning up multiple CakePHP 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.

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.