787 lines
35 KiB
HTML
787 lines
35 KiB
HTML
<h1 id="awesome-cakephp-awesome">Awesome CakePHP <a
|
||
href="https://github.com/sindresorhus/awesome"><img
|
||
src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"
|
||
alt="Awesome" /></a></h1>
|
||
<p>A curated list of amazingly awesome <strong>CakePHP 4.x+</strong>
|
||
plugins, resources and shiny things.</p>
|
||
<p>Plugins with the “🍰” icon have CakePHP 5 compatible release too
|
||
(minimum “beta”).</p>
|
||
<p>If you are looking for previous CakePHP resources please visit: - the
|
||
<a
|
||
href="https://github.com/FriendsOfCake/awesome-cakephp/tree/cake2">CakePHP
|
||
2.x version</a> of this awesome list - the <a
|
||
href="https://github.com/FriendsOfCake/awesome-cakephp/tree/cake3">CakePHP
|
||
3.x version</a> of this awesome list - this wiki with a <a
|
||
href="https://github.com/FriendsOfCake/awesome-cakephp/wiki#plugins-not-yet-upgraded-from-2x-to-3x">list
|
||
of not-yet upgraded plugins</a></p>
|
||
<p>Additional lists you might find useful: - <a
|
||
href="https://plugins.cakephp.org">CakePHP Plugins</a> - <a
|
||
href="https://github.com/ziadoz/awesome-php">Awesome PHP</a> - <a
|
||
href="https://github.com/bayandin/awesome-awesomeness">Awesome
|
||
Awesomeness</a></p>
|
||
<blockquote>
|
||
<p>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.</p>
|
||
</blockquote>
|
||
<h2 id="table-of-contents">Table of Contents</h2>
|
||
<ul>
|
||
<li><a href="#plugins">Plugins</a>
|
||
<ul>
|
||
<li><a href="#apm">APM</a></li>
|
||
<li><a href="#architecture">Architecture</a></li>
|
||
<li><a href="#asset-management">Asset Management</a></li>
|
||
<li><a href="#auditing--logging">Auditing / Logging</a></li>
|
||
<li><a href="#authentication-and-authorization">Authentication and
|
||
Authorization</a></li>
|
||
<li><a href="#caching">Caching</a></li>
|
||
<li><a href="#code-analysis">Code Analysis</a></li>
|
||
<li><a href="#debugging">Debugging</a></li>
|
||
<li><a href="#dependency-injection">Dependency Injection</a></li>
|
||
<li><a href="#e-commerce">E-commerce</a></li>
|
||
<li><a href="#email">Email</a></li>
|
||
<li><a href="#file-manipulation">File Manipulation</a></li>
|
||
<li><a href="#filtering-and-validation">Filtering and
|
||
Validation</a></li>
|
||
<li><a href="#geolocation">Geolocation</a></li>
|
||
<li><a href="#http">HTTP</a></li>
|
||
<li><a href="#i18n">I18n</a></li>
|
||
<li><a href="#imagery">Imagery</a></li>
|
||
<li><a href="#libs">Libs</a></li>
|
||
<li><a href="#markup">Markup</a></li>
|
||
<li><a href="#migration">Migration</a></li>
|
||
<li><a href="#miscellaneous">Miscellaneous</a></li>
|
||
<li><a href="#navigation">Navigation</a></li>
|
||
<li><a href="#nosql">NoSQL</a></li>
|
||
<li><a href="#notifications">Notifications</a></li>
|
||
<li><a href="#orm--database--datamapping">ORM / Database /
|
||
Datamapping</a></li>
|
||
<li><a href="#pdf">PDF</a></li>
|
||
<li><a href="#queue">Queue</a></li>
|
||
<li><a href="#rest-and-api">REST and API</a></li>
|
||
<li><a href="#search">Search</a></li>
|
||
<li><a href="#security">Security</a></li>
|
||
<li><a href="#seo">SEO</a></li>
|
||
<li><a href="#skeleton">Skeleton</a></li>
|
||
<li><a href="#social">Social</a></li>
|
||
<li><a href="#templating">Templating</a></li>
|
||
<li><a href="#testing">Testing</a></li>
|
||
<li><a href="#third-party-apis">Third Party APIs</a></li>
|
||
</ul></li>
|
||
<li><a href="#software">Software</a>
|
||
<ul>
|
||
<li><a href="#development-environment">Development Environment</a></li>
|
||
</ul></li>
|
||
<li><a href="#web-applications">Web Applications</a>
|
||
<ul>
|
||
<li><a href="#cms-and-applications-built-on-cakephp">CMS and
|
||
applications built on CakePHP</a></li>
|
||
<li><a href="#demo">Demo</a></li>
|
||
</ul></li>
|
||
<li><a href="#resources">Resources</a>
|
||
<ul>
|
||
<li><a href="#help">Help</a></li>
|
||
<li><a href="#cakephp-websites">CakePHP Websites</a></li>
|
||
<li><a href="#cakephp-books-and-articles">CakePHP Books and
|
||
Articles</a></li>
|
||
<li><a href="#cakephp-videos">CakePHP Videos</a></li>
|
||
<li><a href="#cakephp-tutorials">CakePHP Tutorials</a></li>
|
||
<li><a href="#cakephp-reading-and-listening">CakePHP Reading and
|
||
Listening</a></li>
|
||
<li><a href="#cakephp-internals-reading">CakePHP Internals
|
||
Reading</a></li>
|
||
</ul></li>
|
||
<li><a href="#conferences">Conferences</a></li>
|
||
<li><a href="#contributing">Contributing</a></li>
|
||
</ul>
|
||
<h1 id="plugins">Plugins</h1>
|
||
<h2 id="apm">APM</h2>
|
||
<p><em>Plugins for Application Performance Monitoring.</em></p>
|
||
<h2 id="architecture">Architecture</h2>
|
||
<ul>
|
||
<li>🍰 <a
|
||
href="https://github.com/burzum/cakephp-service-layer">Burzum/CakeServiceLayer
|
||
plugin</a> - Service layer and domain/business model
|
||
implementation.</li>
|
||
</ul>
|
||
<h2 id="asset-management">Asset Management</h2>
|
||
<p><em>Tools for managing, compressing and minifying website
|
||
assets.</em></p>
|
||
<ul>
|
||
<li>🍰 <a
|
||
href="https://github.com/markstory/asset_compress">AssetCompress
|
||
plugin</a> - A complete asset manager for CakePHP.</li>
|
||
<li>🍰 <a href="https://github.com/ishanvyas22/asset-mix">AssetMix
|
||
plugin</a> - Provides integration with <a
|
||
href="https://laravel-mix.com">Laravel Mix</a> asset compilation.</li>
|
||
</ul>
|
||
<h2 id="auditing-logging">Auditing / Logging</h2>
|
||
<p><em>Plugins for auditing and logging.</em></p>
|
||
<ul>
|
||
<li>🍰 <a href="https://github.com/lorenzo/audit-stash">AuditStash
|
||
plugin</a> - Flexible and rock solid audit log tracking.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/dereuromark/CakePHP-DatabaseLog">DatabaseLog
|
||
plugin</a> - Simple and stand-alone logging to database instead of
|
||
files.</li>
|
||
<li>🍰 <a href="https://github.com/UseMuffin/Footprint">Muffin/Footprint
|
||
plugin</a> - Plugin to allow passing currently logged in user to model
|
||
layer.</li>
|
||
<li>🍰 <a href="https://github.com/josegonzalez/cakephp-version">Version
|
||
plugin</a> - A plugin that facilitates versioned database entities.</li>
|
||
</ul>
|
||
<h2 id="authentication-and-authorization">Authentication and
|
||
Authorization</h2>
|
||
<p><em>Plugins and libraries for implementing authentication and
|
||
authorization.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/cakephp/acl/">Acl plugin</a> - Managing
|
||
ACL as database approach.</li>
|
||
<li><a href="https://github.com/ADmad/cakephp-jwt-auth">ADmad/JwtAuth
|
||
plugin</a> - A plugin for authenticating using JSON Web Tokens.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/ADmad/cakephp-social-auth">ADmad/SocialAuth
|
||
plugin</a> - A plugin which allows you to authenticate using social
|
||
providers like Facebook/Google/Twitter etc. using <a
|
||
href="https://github.com/SocialConnect/auth">SocialConnect/auth</a>
|
||
social sign on library.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/rrd108/api-token-authenticator">ApiTokenAuthenticator
|
||
plugin</a> - A simple token authentication plugin for CakePHP REST
|
||
APIs.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/cakephp/authentication">Authentication
|
||
plugin</a> - Official CakePHP authentication middleware plugin.</li>
|
||
<li>🍰 <a href="https://github.com/cakephp/authorization">Authorization
|
||
plugin</a> - Official CakePHP authorization stack.</li>
|
||
<li>🍰 <a href="https://github.com/CakeDC/users">CakeDC/Users plugin</a>
|
||
- Complete user management (admin panel, remember me, etc), Social login
|
||
(FB, Twitter, LinkedIn, Google, Instagram), RBAC, API and more.</li>
|
||
<li><a href="https://github.com/UseMuffin/Tokenize">Muffin/Tokenize
|
||
plugin</a> - Event driven behavior for easily generating single-use
|
||
security tokens.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/dereuromark/cakephp-tinyauth">TinyAuth
|
||
plugin</a> - Authentication and role-based (single/multi) authorization
|
||
as very light-weight approach.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/dereuromark/cakephp-tools">Tools:Passwordable</a>
|
||
- Containing <a
|
||
href="https://github.com/dereuromark/cakephp-tools/blob/master/docs/Behavior/Passwordable.md">Passwordable
|
||
behavior</a> for a DRY approach on password hashing.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/andrej-griniuk/cakephp-two-factor-auth">TwoFactorAuth
|
||
plugin</a> - Allows two factor authentication using Google Authenticator
|
||
or similar app to generate one-time codes. Based on <a
|
||
href="https://github.com/RobThree/TwoFactorAuth">RobThree/TwoFactorAuth</a>
|
||
library.</li>
|
||
</ul>
|
||
<h2 id="caching">Caching</h2>
|
||
<p><em>Plugins for caching data.</em></p>
|
||
<ul>
|
||
<li>🍰 <a href="https://github.com/dereuromark/cakephp-cache">Cache
|
||
plugin</a> - For caching views (HTML, CSV, JSON, XML, …) as static cache
|
||
files.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/CakeDC/cakephp-cached-routing">CakeDC/CachedRouting
|
||
plugin</a> - Provides a cached version of the RoutingMiddleware to
|
||
improve the load time of routes.</li>
|
||
</ul>
|
||
<h2 id="code-analysis">Code Analysis</h2>
|
||
<p><em>Plugins for analyzing, parsing and manipulation
|
||
codebases.</em></p>
|
||
<ul>
|
||
<li>🍰 <a
|
||
href="https://github.com/CakeDC/cakephp-phpstan">cakedc/cakephp-phpstan</a>
|
||
- A PHPStan extension to resolve CakePHP magic around getter return
|
||
types for the static analyzer.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/dereuromark/cakephp-ide-helper">IdeHelper
|
||
plugin</a> - Helps to make IDE support better by adding annotations to
|
||
your existing code similar to what baking does to new code.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/dereuromark/cakephp-ide-helper-extra">IdeHelperExtra
|
||
plugin</a> - Useful IdeHelper addons for other plugins or custom use
|
||
cases.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/LordSimal/cakephp-psalm">lordsimal/cakephp-psalm</a>
|
||
- A Psalm extension to resolve CakePHP magic around getter return types
|
||
for the static analyzer.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/dereuromark/cakephp-test-helper">TestHelper
|
||
plugin</a> - Provides testing enhancements and TDD support as browser
|
||
backend.</li>
|
||
</ul>
|
||
<h2 id="debugging">Debugging</h2>
|
||
<p><em>Plugins for debugging and local development.</em></p>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/zunnu/associations-debugger">AssociationsDebugger
|
||
plugin</a> - A plugin that draws your model associations as
|
||
diagram.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/dereuromark/cakephp-whoops">CakephpWhoops
|
||
plugin</a> - PHP errors and exceptions for cool kids with <a
|
||
href="https://github.com/filp/whoops">filp/whoops</a>.</li>
|
||
<li>🍰 <a href="https://github.com/cakephp/debug_kit">DebugKit
|
||
plugin</a> - The de-facto standard for debugging.</li>
|
||
<li><a href="https://github.com/dereuromark/executionorder">Execution
|
||
order</a> - A demo app to display the execution order of files, methods
|
||
and callbacks.</li>
|
||
<li>🍰 <a href="https://github.com/lordsimal/cakephp-sentry">Sentry
|
||
plugin</a> A plugin to seamlessly integrate Sentry for errors and
|
||
exceptions.</li>
|
||
<li>🍰 <a href="https://github.com/dereuromark/cakephp-setup">Setup
|
||
plugin</a> - A lightweight setup plugin containing debugging and
|
||
maintenance tools.</li>
|
||
</ul>
|
||
<h2 id="dependency-injection">Dependency Injection</h2>
|
||
<p><em>Plugins that implement the dependency injection design
|
||
pattern.</em></p>
|
||
<h2 id="e-commerce">E-commerce</h2>
|
||
<p><em>Plugins and applications for taking payments and building online
|
||
e-commerce stores.</em></p>
|
||
<h2 id="email">Email</h2>
|
||
<p><em>Plugins for sending and parsing email.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/lorenzo/cakephp-email-queue">EmailQueue
|
||
plugin</a> - Email queue plugin with a preview and sender shell.</li>
|
||
<li><a href="https://github.com/narendravaghela/cakephp-mailgun">Mailgun
|
||
plugin</a> - Email transport plugin for sending email via Mailgun.</li>
|
||
<li>🍰 <a href="https://github.com/dereuromark/cakephp-queue">Queue
|
||
plugin</a> - A dependency-free queue-based mail solution using
|
||
Mailer/Email class, allowing re-queue on (network) failure.</li>
|
||
</ul>
|
||
<h2 id="file-manipulation">File Manipulation</h2>
|
||
<p><em>Plugins for file manipulation.</em></p>
|
||
<ul>
|
||
<li>🍰 <a
|
||
href="https://github.com/dereuromark/cakephp-file-storage">FileStorage
|
||
plugin</a> - Flexible file storage and upload plugin.</li>
|
||
<li><a
|
||
href="https://github.com/josbeir/cakephp-filesystem">Josbeir/Filesystem
|
||
plugin</a> - Abstract <a
|
||
href="https://flysystem.thephpleague.com/">Flysystem</a> + file entity
|
||
based upload plugin.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/FriendsOfCake/cakephp-upload">Josegonzalez/Upload
|
||
plugin</a> - A customisable plugin that uses <a
|
||
href="https://flysystem.thephpleague.com/">Flysystem</a> to write to
|
||
multiple backends (Dropbox, FTP, S3, Local, etc.).</li>
|
||
</ul>
|
||
<h2 id="filtering-and-validation">Filtering and Validation</h2>
|
||
<p><em>Plugins for filtering and validating data.</em></p>
|
||
<ul>
|
||
<li>see Cake/Localized below.</li>
|
||
</ul>
|
||
<h2 id="geolocation">Geolocation</h2>
|
||
<p><em>Plugins for geocoding addresses and working with latitudes and
|
||
longitudes.</em></p>
|
||
<ul>
|
||
<li>🍰 <a href="https://github.com/dereuromark/cakephp-geo">Geo
|
||
plugin</a> - Containing <a
|
||
href="https://www.dereuromark.de/2012/06/12/geocoding-with-cakephp/">Geocoder
|
||
behavior</a> and <a
|
||
href="https://www.dereuromark.de/2010/12/21/googlemapsv3-cakephp-helper/">GoogleMaps
|
||
helper</a>.</li>
|
||
</ul>
|
||
<h2 id="http">HTTP</h2>
|
||
<p><em>Plugins for HTTP and client abstraction</em></p>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/php-http/cakephp-adapter">Http/Adapter/Cake
|
||
library</a> - Adapter for <a
|
||
href="https://github.com/php-http/httplug">HTTPlug</a> HTTP client
|
||
abstraction.</li>
|
||
</ul>
|
||
<h2 id="i18n">I18n</h2>
|
||
<p><em>Plugins for I18n (Internationalization) and L10n
|
||
(Localization).</em></p>
|
||
<ul>
|
||
<li>🍰 <a href="https://github.com/ADmad/cakephp-i18n">ADmad/I18n
|
||
plugin</a> - A plugin with I18n related tools.</li>
|
||
<li>🍰 <a href="https://github.com/cakephp/localized">Cake/Localized
|
||
plugin</a> - Localized validation and ready-to-use translation PO
|
||
files.</li>
|
||
<li><a href="https://github.com/dereuromark/cakephp-translate">Translate
|
||
plugin</a> - Manage translations of your static content the easy way via
|
||
web backend, incl. import from POT files, auto-suggest and
|
||
auto-translate via API.</li>
|
||
</ul>
|
||
<h2 id="imagery">Imagery</h2>
|
||
<p><em>Plugins for manipulating images.</em></p>
|
||
<ul>
|
||
<li>🍰 <a href="https://github.com/ADmad/cakephp-glide">ADmad/Glide
|
||
plugin</a> - A plugin for using <a
|
||
href="https://glide.thephpleague.com/">Glide</a> image manipulation
|
||
library.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/dereuromark/cakephp-qrcode/">QrCodePlugin</a> -
|
||
Easily render SVG/PNG QR Codes for your app.</li>
|
||
</ul>
|
||
<h2 id="libs">Libs</h2>
|
||
<p><em>Useful libraries or tools that don’t fit in any of the other
|
||
categories.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/jadb/capcake">Capcake</a> - Deploy
|
||
CakePHP applications using Capistrano.</li>
|
||
<li><a href="https://github.com/cakephp/chronos">Chronos</a> - A simple
|
||
standalone DateTime API extension (successor of Carbon).</li>
|
||
<li><a href="https://github.com/composer/installers">Composer
|
||
Installers</a> - A multi framework Composer library installer.</li>
|
||
<li><a href="https://getcomposer.org/">Composer</a>/<a
|
||
href="https://packagist.org/">Packagist</a> - A package and dependency
|
||
manager.</li>
|
||
<li><a href="https://github.com/alexandresalome/graphviz">Graphviz</a> -
|
||
A Graphviz library.</li>
|
||
<li><a href="https://github.com/rocketeers/rocketeer">Rocketeer</a> -
|
||
PHP task runner and deployment package.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/makallio85/yaml-route">makallio85/YamlRoute
|
||
plugin</a> - Configure routes with simple YAML files.</li>
|
||
</ul>
|
||
<h2 id="markup">Markup</h2>
|
||
<p><em>Plugins for working with markup.</em></p>
|
||
<ul>
|
||
<li>🍰 <a href="https://github.com/dereuromark/cakephp-markup">Markup
|
||
plugin</a> - Allows to use PHP or JS based syntax highlighting.</li>
|
||
</ul>
|
||
<h2 id="migration">Migration</h2>
|
||
<p><em>Plugins and resources around migration and upgrading.</em></p>
|
||
<ul>
|
||
<li>🍰 <a href="https://github.com/cakephp/migrations">Migrations
|
||
plugin</a> - (DB) Migration plugin.</li>
|
||
<li>🍰 <a href="https://github.com/cakephp/upgrade">Upgrade app</a> -
|
||
Official upgrade app for 3.x=>4.x and 4.x=>5.x.</li>
|
||
<li>🍰 <a href="https://github.com/dereuromark/upgrade">Upgrade app
|
||
(extended)</a> - An extended upgrade app for 3.x=>4.x and some 5.x
|
||
snippets.</li>
|
||
<li>🍰 <a
|
||
href="https://book.cakephp.org/5/en/appendices.html">Upgrade/Migration
|
||
Guide</a> - Official migration guide.</li>
|
||
</ul>
|
||
<h2 id="miscellaneous">Miscellaneous</h2>
|
||
<p><em>Misc plugins and libraries.</em></p>
|
||
<ul>
|
||
<li>🍰 <a href="https://github.com/dereuromark/cakephp-ajax">Ajax
|
||
plugin</a> - A plugin to ease handling AJAX requests.</li>
|
||
<li>🍰 <a href="https://github.com/CakeDC/enum">CakeDC/Enum plugin</a> -
|
||
A plugin to add enumeration list support to your app.</li>
|
||
<li>🍰 <a href="https://github.com/dereuromark/cakephp-dto">CakeDto
|
||
plugin</a> - Quickly generate useful data transfer objects for your app
|
||
(mutable/immutable), replacing messy arrays and leveraging your IDE
|
||
through typehinting and autocomplete.</li>
|
||
<li><a href="https://github.com/jomweb/CakeImpersonate">CakeImpersonate
|
||
plugin</a> - 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.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/dereuromark/cakephp-calendar">Calendar
|
||
plugin</a> - For generating basic calendars. Includes IcalView for ICS
|
||
calendar file generation.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/dereuromark/cakephp-feedback">Feedback
|
||
plugin</a> - Allow visitors to send quick and easy feedback incl. a
|
||
screenshot via sidebar form.</li>
|
||
<li>🍰 <a href="https://github.com/dereuromark/cakephp-flash">Flash
|
||
plugin</a> - More powerful flash messages for your application.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/cnizzardini/cakephp-preloader">OPCache
|
||
Preloader</a> - An OPCache Preloader for CakePHP applications.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/dereuromark/cakephp-setup/blob/master/docs/Maintenance/Maintenance.md">Setup:Maintenance</a>
|
||
- Maintenance shell to go into maintenance mode for all requests with
|
||
optional IP whitelisting.</li>
|
||
<li>🍰 <a href="https://github.com/dereuromark/cakephp-shim">Shim
|
||
plugin</a> - A plugin containing useful shims and improvements as basis
|
||
for your application.</li>
|
||
<li>🍰 <a href="https://github.com/dereuromark/cakephp-tools">Tools
|
||
plugin</a> - Containing lots of useful libs, helpers, behaviors,
|
||
components, shells and more.</li>
|
||
</ul>
|
||
<h2 id="navigation">Navigation</h2>
|
||
<p><em>Tools for building navigation structures.</em></p>
|
||
<ul>
|
||
<li>🍰 <a href="https://github.com/icings/menu">Icings/Menu plugin</a> -
|
||
A <a href="https://github.com/KnpLabs/KnpMenu">KnpMenu</a> seasoned menu
|
||
plugin for CakePHP.</li>
|
||
</ul>
|
||
<h2 id="nosql">NoSQL</h2>
|
||
<p><em>Plugins for working with “NoSQL” backends.</em></p>
|
||
<h2 id="notifications">Notifications</h2>
|
||
<p><em>Plugins for working with notification software.</em></p>
|
||
<h2 id="orm-database-datamapping">ORM / Database / Datamapping</h2>
|
||
<p><em>Plugins that implement object-relational mapping or data-mapping
|
||
techniques.</em></p>
|
||
<ul>
|
||
<li>🍰 <a
|
||
href="https://github.com/ADmad/cakephp-sequence">ADmad/Sequence
|
||
plugin</a> - Behavior for maintaining ordered list of records.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/dereuromark/cakephp-decimal">CakeDecimal
|
||
plugin</a> - A value object approach on handling decimals.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/riesenia/cakephp-duplicatable">Duplicatable
|
||
plugin</a> - Behavior for duplicating entities including related
|
||
data.</li>
|
||
<li><a href="https://github.com/lampager/lampager-cakephp">Lampager/Cake
|
||
plugin</a> - Rapid pagination without using OFFSET.</li>
|
||
<li>🍰 <a href="https://github.com/usemuffin/orderly">Muffin/Orderly
|
||
plugin</a> - Allows setting default order for your tables.</li>
|
||
<li><a href="https://github.com/UseMuffin/Sti">Muffin/Sti plugin</a> -
|
||
Single Table Inheritance for CakePHP.</li>
|
||
<li>🍰 <a href="https://github.com/usemuffin/trash">Muffin/Trash
|
||
plugin</a> - Soft-delete behavior for CakePHP.</li>
|
||
<li><a
|
||
href="https://github.com/robotusers/cakephp-table-inheritance">Robotusers/TableInheritance
|
||
plugin</a> - Singe Table Inheritance (STI) plugin.</li>
|
||
<li><a href="https://github.com/lorenzo/row-locker">RowLocker plugin</a>
|
||
- Exclusive locks for rows in your tables.</li>
|
||
<li><a href="https://github.com/usemuffin/webservice">Muffin/Webservices
|
||
ORM plugin</a> - An ORM like interface for webservices.</li>
|
||
<li><a
|
||
href="https://github.com/Connehito/cakephp-master-replica">Connehito/CakephpMasterReplica
|
||
plugin</a> - Switch master/replica database connections.</li>
|
||
<li>🍰 <a href="https://github.com/itosho/easy-query">Itosho/EasyQuery
|
||
plugin</a> - Behavior for easily generating some complicated queries
|
||
like (bulk) insert/upsert etc.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/icings/partitionable">Icings/Partitionable
|
||
plugin</a> - Partitionable associations allowing for basic limiting per
|
||
group.</li>
|
||
</ul>
|
||
<h2 id="pdf">PDF</h2>
|
||
<p><em>Plugins and software for working with PDF files.</em></p>
|
||
<ul>
|
||
<li>🍰 <a href="https://github.com/FriendsOfCake/CakePdf">CakePdf
|
||
plugin</a> - A plugin around PDF generation.</li>
|
||
</ul>
|
||
<h2 id="queue">Queue</h2>
|
||
<p><em>Plugins for working with event and task queues.</em></p>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/josegonzalez/cakephp-queuesadilla">CakeQueuesadilla
|
||
plugin</a> - A plugin that provides queueing integration with a variety
|
||
of backends (BeanstalkD, MySQL, Redis, etc.).</li>
|
||
<li>🍰 <a href="https://github.com/cakephp/queue">Queue plugin</a> -
|
||
CakePHP core queue system for the <a
|
||
href="https://php-enqueue.github.io">php-queue</a> queue library.</li>
|
||
<li>🍰 <a href="https://github.com/dereuromark/cakephp-queue">Queue
|
||
plugin</a> - A minimal and dependency-free queue solution.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/dereuromark/cakephp-queue-scheduler">QueueScheduler
|
||
plugin</a> - A dependency-free crontab-like scheduler as DB driven
|
||
solution and addon to Queue plugin.</li>
|
||
</ul>
|
||
<h2 id="rest-and-api">REST and API</h2>
|
||
<p><em>Plugins and web tools for developing REST-ful APIs.</em></p>
|
||
<ul>
|
||
<li>🍰 <a href="https://github.com/FriendsOfCake/crud">CRUD plugin</a> -
|
||
CakePHP Application development on steroids - rapid prototyping /
|
||
scaffolding & production-ready code.</li>
|
||
<li><a href="https://github.com/alt3/cakephp-swagger">Alt3/Swagger
|
||
plugin</a> - Swagger 2.0 documentation for your CakePHP APIs using
|
||
swagger-php and swagger-ui.</li>
|
||
<li>🍰 <a href="https://github.com/CakeDC/cakephp-api">CakeDC/Api
|
||
plugin</a> - All-in-one solution to provide a complete API. It includes
|
||
versioning, renderers, CRUD, authentication, extensions (paginate,
|
||
filter, HATEOAS), and much more.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/andrej-griniuk/cakephp-fractal-transformer-view">FractalTransformerView
|
||
plugin</a> - A plugin which allows using <a
|
||
href="https://fractal.thephpleague.com/transformers/">Fractal
|
||
transformers</a> for your API output.</li>
|
||
<li>🍰 <a href="https://mixerapi.com">MixerApi</a> - Streamline
|
||
development of modern RESTful APIs for your team’s CakePHP project.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/cnizzardini/cakephp-swagger-bake">SwaggerBake
|
||
plugin</a> - This plugin automatically builds OpenAPI from your existing
|
||
models and routes for display in Swagger and Redoc.</li>
|
||
</ul>
|
||
<h2 id="search">Search</h2>
|
||
<p><em>Plugins and software for indexing and performing search queries
|
||
on data.</em></p>
|
||
<ul>
|
||
<li>🍰 <a
|
||
href="https://github.com/cakephp/elastic-search">Cake/ElasticSearch
|
||
plugin</a> - Alternative ORM using <a
|
||
href="https://www.elastic.co/">Elasticsearch</a> as its backend.</li>
|
||
<li>🍰 <a href="https://github.com/skie/plum_search">PlumSearch
|
||
plugin</a> - Implements custom, flexible and extendable search
|
||
strategies. Implements PRG pattern.</li>
|
||
<li>🍰 <a href="https://github.com/FriendsOfCake/search">Search
|
||
plugin</a> - Provides easy searching/filtering for paginated views using
|
||
PRG pattern.</li>
|
||
<li>🍰 <a href="https://github.com/dereuromark/cakephp-tags">Tags
|
||
plugin</a> - For tagging and finding tagged records.</li>
|
||
</ul>
|
||
<h2 id="security">Security</h2>
|
||
<p><em>Plugins and information around security, preventing
|
||
vulnerabilities and protection against XSS and alike.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/Ali1/cakephp-bruteforce/">Bruteforce</a>
|
||
- Simple way to add Brute Force Protection to your installation without
|
||
involving database.</li>
|
||
<li>🍰 <a href="https://github.com/dereuromark/cakephp-captcha">Captcha
|
||
plugin</a> - Simple, unobtrusive and extendable captcha solution
|
||
providing by default an image based math captcha.</li>
|
||
<li>🍰 <a href="https://github.com/dereuromark/cakephp-expose">Expose
|
||
plugin</a> - Expose entities through additional UUIDs instead of their
|
||
AIID primary keys to obfuscate those IDs and data associated with these
|
||
numerically ordered values.</li>
|
||
<li>🍰 <a href="https://github.com/usemuffin/obfuscate">Muffin/Obfuscate
|
||
plugin</a> - Primary key obfuscation/shortening using UUIDs, HashIds,
|
||
Optimus, Tiny and/or custom obfuscation strategies.</li>
|
||
<li>🍰 <a href="https://github.com/usemuffin/throttle">Muffin/Throttle
|
||
plugin</a> - A plugin for rate limiting (API) requests.</li>
|
||
<li>🍰 <a href="https://github.com/ctlabvn/Recaptcha">Recaptcha
|
||
plugin</a> - Simple, lightweight Google Recaptcha v2.</li>
|
||
</ul>
|
||
<h2 id="seo">SEO</h2>
|
||
<p><em>Search Engine Optimization.</em></p>
|
||
<ul>
|
||
<li>🍰 <a href="https://github.com/UseMuffin/Slug">Muffin/Slug
|
||
plugin</a> - A plugin for generating slugs and finding records by slug.
|
||
Uses a pluggable architecture which allows using your own slug generator
|
||
class.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/dereuromark/cakephp-tools">Tools:Slugged</a> -
|
||
Containing Slugged behavior to auto-generate URL-compatible slugs from
|
||
titles.</li>
|
||
</ul>
|
||
<h2 id="skeleton">Skeleton</h2>
|
||
<p><em>Plugins and repositories around app skeletons.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/cakephp/app">App template</a> - An empty
|
||
CakePHP project for use with composer.</li>
|
||
</ul>
|
||
<h2 id="social">Social</h2>
|
||
<p><em>Plugins around social features.</em></p>
|
||
<ul>
|
||
<li>🍰 <a
|
||
href="https://github.com/dereuromark/cakephp-comments">Comments
|
||
plugin</a> - Allows users to comment records, supporting different
|
||
formats.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/dereuromark/cakephp-favorites">Favorites
|
||
plugin</a> - Allows users to star/like/favor records.</li>
|
||
<li>🍰 <a href="https://github.com/dereuromark/cakephp-ratings">Ratings
|
||
plugin</a> - Allows users to rate records and displays ratings.</li>
|
||
</ul>
|
||
<h2 id="templating">Templating</h2>
|
||
<p><em>Plugins for templating and lexing.</em></p>
|
||
<ul>
|
||
<li>🍰 <a href="https://github.com/cakephp/bake">Bake plugin</a> -
|
||
Provides code generation functionality.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/friendsofcake/bootstrap-ui">BootstrapUI
|
||
plugin</a> - Bootstrap 4/5 integration.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/FriendsOfCake/cakephp-csvview">CsvView
|
||
plugin</a> - A view class to easily generate CSV.</li>
|
||
<li>🍰 <a href="https://github.com/dereuromark/cakephp-feed">Feed
|
||
plugin</a> - Containing an RssView class to easily generate (complex)
|
||
RSS feeds.</li>
|
||
<li>🍰 <a href="https://github.com/dereuromark/cakephp-meta">Meta
|
||
plugin</a> - Makes handling meta tags and SEO-relevant HTML markup DRY
|
||
and easy.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/dereuromark/cakephp-templating">Templating</a>
|
||
- HTML snippets as value objects, (Font) icons, and templating
|
||
topics.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/dereuromark/cakephp-tools">Tools:Tree</a> -
|
||
Tree helper to work with Core Tree behavior and handle tree structure
|
||
output.</li>
|
||
<li>🍰 <a href="https://github.com/cakephp/twig-view">TwigView
|
||
plugin</a> - A plugin to use the Twig Templating Language for
|
||
views.</li>
|
||
</ul>
|
||
<h2 id="testing">Testing</h2>
|
||
<p><em>Plugins/Tools for testing codebases and generating test
|
||
data.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/cakephp/codeception">CakePHP Codeception
|
||
module</a> - The official CakePHP integration with <a
|
||
href="https://codeception.com">Codeception</a>.</li>
|
||
<li><a href="https://github.com/cakephp/cakephp-codesniffer">CakePHP
|
||
CodeSniffer rules</a> - The official CakePHP CS rules.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/pakacuda/cakephp-fixture-factories">CakephpFixtureFactories
|
||
plugin</a> - Create your fixtures dynamically on a test basis,
|
||
accelerate the writing and maintenance of your tests.</li>
|
||
<li><a href="https://github.com/gourmet/faker">Faker plugin</a> - <a
|
||
href="https://github.com/fzaninotto/Faker">Faker</a> support for CakePHP
|
||
fixtures.</li>
|
||
<li><a href="https://github.com/LubosRemplik/CakePHP-Fixtures">Fixtures
|
||
plugin</a> - Fixtures plugin to read existing fixtures and create
|
||
table/insert data for quick start with app.</li>
|
||
<li>🍰 <a
|
||
href="https://github.com/FriendsOfCake/fixturize">FriendsOfCake/Fixturize
|
||
plugin</a> - More efficient inserting fixtures when running test suites
|
||
by decreasing amount of inserts (mysql only).</li>
|
||
</ul>
|
||
<h2 id="third-party-apis">Third Party APIs</h2>
|
||
<p><em>Plugins for accessing third party APIs.</em></p>
|
||
<h1 id="software">Software</h1>
|
||
<p><em>Software for creating a development environment.</em></p>
|
||
<h2 id="development-environment">Development Environment</h2>
|
||
<p><em>Software and tools for creating a sandboxed development
|
||
environment.</em></p>
|
||
<ul>
|
||
<li>🍰 <a href="https://github.com/cnizzardini/cakephp-docker">CakePHP
|
||
Docker</a> - A cakephp/app template for docker.</li>
|
||
<li><a href="https://github.com/cpierce/cakephp-vagrant-setup">CakePHP
|
||
Vagrant Setup</a> - Tool for spinning up multiple CakePHP vanilla dev
|
||
environments.</li>
|
||
<li><a href="https://devilbox.readthedocs.io/en/latest/">Devilbox</a> -
|
||
A docker development environment for (CakePHP) apps to be auto-setup
|
||
including a lot of tools.</li>
|
||
<li><a
|
||
href="https://github.com/stefanvangastel/docker-cakephp">Docker</a> -
|
||
CakePHP in a docker container environment.</li>
|
||
<li>🍰 <a href="https://gitlab.com/amayer5125/galley">Galley</a> - A
|
||
small Docker dev environment for CakePHP development which includes a
|
||
simple command line utility.</li>
|
||
<li><a
|
||
href="https://github.com/junichi11/cakephp3-netbeans">NetBeans</a> -
|
||
This package provides support for CakePHP in NetBeans 8.1+.</li>
|
||
<li><a href="https://github.com/CakeDC/oven">Oven</a> - Setup your
|
||
favorite framework with 1 file and 1 click.</li>
|
||
<li><a href="https://puppetlabs.com/">Puppet</a> - A server automation
|
||
framework and application.</li>
|
||
<li><a href="https://www.vagrantup.com/">Vagrant</a> - A portable
|
||
development environment utility.</li>
|
||
</ul>
|
||
<p>IDE specific compatibility information and tips can be found <a
|
||
href="https://github.com/dereuromark/cakephp-ide-helper/wiki#ide-support-and-tips">here</a>.</p>
|
||
<h2 id="web-applications">Web Applications</h2>
|
||
<h2 id="cms-and-applications-built-on-cakephp">CMS and applications
|
||
built on CakePHP</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/baserproject/basercms">baserCMS</a> -
|
||
This is a website development framework with RESTful APIs. Installable
|
||
as a plugin for CakePHP 4.x.</li>
|
||
<li><a href="https://croogo.org">Croogo</a> - CMS software (see 5.0
|
||
branch).</li>
|
||
</ul>
|
||
<h2 id="demo">Demo</h2>
|
||
<p><em>Web-based (demo) applications and tools.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/Kareylo/BlogMVC-CakePHP3">BlogMVC</a> -
|
||
A simple Blog example with CakePHP based on <a
|
||
href="https://github.com/Grafikart/BlogMVC">BlogMVC Project</a>.</li>
|
||
<li><a
|
||
href="https://github.com/lorenzo/cakephp3-bookmarkr">Bookmarkr</a> A
|
||
bookmarking application built with the CRUD plugin.</li>
|
||
<li><a href="http://cakefest.dereuromark.de/">CakeFest</a> - Demo
|
||
application around the annual CakePHP Conference “CakeFest”.</li>
|
||
<li><a href="https://github.com/ishanvyas22/cakephp-loki-demo">Fluentd +
|
||
Grafana Loki demo application</a> - A demo application to send CakePHP
|
||
docker container logs to <a href="https://grafana.com/logs/">Grafana
|
||
Loki</a> via <a href="https://www.fluentd.org/">Fluentd</a>.</li>
|
||
<li><a
|
||
href="https://github.com/gothinkster/cakephp-realworld-example-app">RealWorld</a>
|
||
- Example CakePHP codebase containing real world examples (CRUD, auth,
|
||
advanced patterns and more) that adheres to the <a
|
||
href="https://github.com/gothinkster/realworld-example-apps">RealWorld</a>
|
||
spec and API.</li>
|
||
<li><a href="https://sandbox.dereuromark.de">Sandbox</a> - A sandbox
|
||
CakePHP application with lots of demos and plugin showcasings.</li>
|
||
<li><a href="https://github.com/lorenzo/cakephp3-examples">Query
|
||
Examples</a> Advanced query building examples.</li>
|
||
<li><a href="https://github.com/XetaIO/Xeta">Xeta</a> - A resource to
|
||
help people starting with CakePHP.</li>
|
||
<li><a href="https://github.com/ishanvyas22/cakephpvue-spa">Vue.js Demo
|
||
App</a> - A CakePHP + VueJS single page application skeleton.</li>
|
||
</ul>
|
||
<h1 id="resources">Resources</h1>
|
||
<p>Various resources, such as books, websites and articles, for
|
||
improving your CakePHP development skills and knowledge.</p>
|
||
<h2 id="help">Help</h2>
|
||
<p><em>Where to get help.</em></p>
|
||
<ul>
|
||
<li><a href="http://cakephp-fr.org">CakePHP-FR.org</a> - The french
|
||
community website.</li>
|
||
<li><a href="https://discourse.cakephp.org/">Official CakePHP Forum</a>
|
||
- This is for generic questions and alike.</li>
|
||
<li><a
|
||
href="https://www.dereuromark.de/2013/01/27/irc-cakephp-channel/">IRC
|
||
Channel</a> - Live chat/discussion with other devs and core devs.</li>
|
||
<li><a
|
||
href="https://stackoverflow.com/questions/tagged/cakephp">stackoverflow.com/questions/tagged/cakephp</a>
|
||
- This is for specific questions, ideally along with some example
|
||
code.</li>
|
||
</ul>
|
||
<h2 id="cakephp-websites">CakePHP Websites</h2>
|
||
<p><em>Useful and current CakePHP-related websites and blogs.</em></p>
|
||
<ul>
|
||
<li><a href="http://www.cakedc.com/articles">CakeDC</a> - Articles
|
||
around CakePHP.</li>
|
||
<li><a href="https://www.dereuromark.de">dereuromark.de</a> - An
|
||
extensive CakePHP core dev blog.</li>
|
||
<li><a href="http://jedistirfry.co.uk">jedistirfry.co.uk</a> - A CakePHP
|
||
related dev blog.</li>
|
||
<li><a href="http://josediazgonzalez.com/">josediazgonzalez.com</a> - A
|
||
mainly CakePHP related core dev blog.</li>
|
||
<li><a href="http://mark-story.com">mark-story.com</a> - CakePHP lead
|
||
dev blog.</li>
|
||
</ul>
|
||
<h2 id="cakephp-books-and-articles">CakePHP Books and Articles</h2>
|
||
<p><em>Fantastic CakePHP-related (e)books and other reading
|
||
material.</em></p>
|
||
<h2 id="cakephp-videos">CakePHP Videos</h2>
|
||
<p><em>Fantastic CakePHP-related videos.</em></p>
|
||
<ul>
|
||
<li><a href="https://www.youtube.com/user/CakePHP">CakePHP</a> - Channel
|
||
about CakePHP videos.</li>
|
||
</ul>
|
||
<h2 id="cakephp-tutorials">CakePHP Tutorials</h2>
|
||
<p><em>Must-do tutorials.</em></p>
|
||
<ul>
|
||
<li><a
|
||
href="https://book.cakephp.org/4.0/en/tutorials-and-examples/blog/blog.html">Official
|
||
Blog tutorial</a></li>
|
||
<li><a
|
||
href="https://book.cakephp.org/4/en/tutorials-and-examples/cms/installation.html">Official
|
||
Content Management Tutorial</a></li>
|
||
</ul>
|
||
<h2 id="cakephp-reading-and-listening">CakePHP Reading and
|
||
Listening</h2>
|
||
<p><em>Documentation and CakePHP-related reading and listening
|
||
materials.</em></p>
|
||
<ul>
|
||
<li><a href="https://book.cakephp.org/">CakePHP Cookbook(!)</a> - The
|
||
official CakePHP documentation.</li>
|
||
</ul>
|
||
<h2 id="cakephp-internals-reading">CakePHP Internals Reading</h2>
|
||
<p><em>Reading materials related to the CakePHP internals and
|
||
decisions.</em></p>
|
||
<ul>
|
||
<li><a href="https://github.com/cakephp/cakephp/graphs/contributors">Top
|
||
10 (and more) core contributors</a> - Give ’em a hand.</li>
|
||
</ul>
|
||
<h1 id="conferences">Conferences</h1>
|
||
<h2 id="official">Official</h2>
|
||
<p><em>International conference.</em></p>
|
||
<ul>
|
||
<li><a href="https://cakefest.org/">cakefest.org</a> - Annual CakePHP
|
||
Conference.</li>
|
||
</ul>
|
||
<h2 id="meetups">MeetUps</h2>
|
||
<p><em>Regional meet-ups.</em></p>
|
||
<ul>
|
||
<li><a href="https://www.meetup.com/CakePHP-DE">CakePHP-DE</a> - MeetUps
|
||
in Germany.</li>
|
||
</ul>
|
||
<h1 id="contributing">Contributing</h1>
|
||
<p>Please see <a href="CONTRIBUTING.md">CONTRIBUTING</a> for
|
||
details.</p>
|
||
<h2 id="credits">Credits</h2>
|
||
<p>awesome-cakephp has been created by <a
|
||
href="https://github.com/dereuromark">dereuromark</a> and is currently
|
||
maintained by him and the FriendsOfCake group. Thank you to all <a
|
||
href="https://github.com/FriendsOfCake/awesome-cakephp/graphs/contributors">contributors</a>,
|
||
too.</p>
|