|
|
11 years ago | |
|---|---|---|
| config | 11 years ago | |
| docs | 11 years ago | |
| src | 11 years ago | |
| tests | 11 years ago | |
| .coveralls.yml | 11 years ago | |
| .gitattributes | 11 years ago | |
| .gitignore | 11 years ago | |
| .scrutinizer.yml | 11 years ago | |
| .travis.yml | 11 years ago | |
| README.md | 11 years ago | |
| composer.json | 11 years ago | |
| phpunit.xml.dist | 11 years ago |
A CakePHP 3.x Plugin containing several useful tools that can be used in many projects.
This cake3 branch only works for CakePHP3.x - please use the master branch for CakePHP 2.x! It is still dev (not even alpha), please be careful with using it.
Dev (currently), Alpha, Beta, RC, 1.0 stable (incl. tagged release then).
This plugin for the Cake 3 version also contains some 2.x shims to ease migration of existing applications from 2.x to 3.x:
Installing the Plugin is pretty much as with every other CakePHP Plugin.
Put the files in ROOT/plugins/Tools, using Packagist/Composer:
"require": {
"dereuromark/cakephp-tools": "dev-cake3"
}
and
composer update
Details @ https://packagist.org/packages/dereuromark/cakephp-tools
This will load the plugin (within your boostrap file):
Plugin::load('Tools');
or
Plugin::loadAll();
In case you want the Tools bootstrap file included (recommended), you can do that in your APP/Config/bootstrap.php with
Plugin::load('Tools', array('bootstrap' => true));
or
Plugin::loadAll(array(
'Tools' => array('bootstrap' => true)
));
Using Cake3 and namespaces, don't forget to add "Tools" as namespace to new files.
Also don't forget the use statements.
If you create a new behavior in the plugin, it might look like this:
namespace Tools\Model\Behavior;
use Cake\ORM\Behavior;
class CoolBehavior extends Behavior {
}
For a new APP behavior "MySlugged" that extends "Tools.Slugged" it is:
namespace App\Model\Behavior;
use Tools\Model\Behavior\SluggedBehavior;
class MySluggedBehavior extends SluggedBehavior {
}
Note that use statements should be in alphabetical order. See CakePHP coding standards for details.
Internally (method access), you don't use the namespace declaration. The plugin name suffices:
// In a Table
$this->addBehavior('Tools.Slugged'); // Adding SluggedBehavior
// In a Controller
public $helpers = array('Tools.Foo'); // Adding FooHelper
You can test using a local installation of phpunit or the phar version of it:
cd Plugin/Tools
composer update
phpunit
To test a specific file:
phpunit /path/to/class.php