Yummy plugin for CakePHP
, (*1)
A delightfully tasty plugin for your CakePHP 3 project including a group-based
Access Control List (ACL), a search component with an intuitive user-interface,
and boostrap 3 Bake Themes. Each of these components may be used separately., (*2)
Demo & Docs
Live Demo available and fully documented in the git wiki., (*3)
Supported Versions
Version |
Supported |
Unit Tests |
Notes |
4.0 |
No |
Failing |
See cake-4.0 branch, this is a work in progress |
3.8 |
Yes |
Passing |
- |
3.7 |
Yes |
Passing |
Tested |
3.6 |
Yes |
Passing |
- |
Note, unit tests fail on 3.5 and lower. Unit tests were ran against CakePHP 4.0.0-beta3
and failed., (*4)
Features
A search component designed to work with CakePHPs Paginator Component and Cake\ORM\Query. It supports searching the
base model and other associations such as HasOne, BelongsTo, and HasMany through an intuitive UI in just three easy steps., (*5)
, (*6)
// Step 1. Basic Controller Usage:
$query = $this->ModelName->find();
$this->loadComponent('Yummy.YummySearch',[
'query' => $query,
'allow' => [
'Table.column' => ['name' => 'Column Name'],
]
]);
$results = $this->paginate($this->YummySearch->search($query));
// Step 2. Basic View Usage:
$this->helpers()->load('Yummy.YummySearch');
echo $this->YummySearch->basicForm();
// Step 3. Include agnostic JavaScript
Check out the documentation for advanced
usage and customization., (*7)
A component that works with Auth to add group-based access controls to your admin portal., (*8)
, (*9)
// Basic Usage
$this->loadComponent('Yummy.YummyAcl',[
'group' => $this->Auth->user('group'),
]);
// Define ACLs (you can also define ACLs in a single config file)
$this->YummyAcl->actions([
'login' => '*', // allow all
'view' => ['Admin','Manager'], // allow Admin + Manager
'edit' => ['Admin'], // allow Admin
]);
Check out the documentation for advanced
usage and customization., (*10)
YummyBake
A series of bootstrap admin themes for your admin portal (demo), (*11)
bin/cake bake template <ControllerName> -t Yummy
Installation
You can install this plugin into your CakePHP application using composer., (*12)
The recommended way to install composer packages is:, (*13)
composer require cnizzardini/cakephp-yummy
Load the plugin in: config/bootstrap.php
, (*14)
Plugin::load('Yummy', ['bootstrap' => false, 'routes' => true]);
In newer versions of cake load the plugin via your src/Application.php
file., (*15)
Documentation
Checkout the Wiki., (*16)
You can also view the source code for demo project on github:, (*17)
https://github.com/cnizzardini/cakephp-yummy-demo, (*18)
Unit Testing
vendor/bin/phpunit
Developers
Fork and send a pull request. You can include Yummy in your Cake project
as a local source to make developing easier use these steps:, (*19)
-
Remove cnizzardini\cakephp-yummy
from your composer.json
, (*20)
-
Add a paths repository to your composer.json
, (*21)
"repositories": [
{
"type": "path",
"url": "/absolute/local-path-to/cakephp-yummy",
"options": {
"symlink": true
}
}
]
- Run
composer require cnizzardini/cakephp-yummy @dev
Undo these steps when you're done. Read the full composer documentation
on loading from path here: https://getcomposer.org/doc/05-repositories.md#path, (*22)