|
|
@@ -40,90 +40,9 @@ This plugin for the Cake 3 version also contains some 2.x shims to ease migratio
|
|
|
- Model::$validate, Model::$primaryKey, Model::$displayField and Model relations as properties
|
|
|
- Set/Multibyte class, Session component and a cut down version of JsHelper
|
|
|
|
|
|
-## How to include
|
|
|
-Installing the Plugin is pretty much as with every other CakePHP Plugin.
|
|
|
+## Docs
|
|
|
|
|
|
-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):
|
|
|
-```php
|
|
|
-Plugin::load('Tools');
|
|
|
-```
|
|
|
-or
|
|
|
-```php
|
|
|
-Plugin::loadAll();
|
|
|
-```
|
|
|
-
|
|
|
-In case you want the Tools bootstrap file included (recommended), you can do that in your `APP/Config/bootstrap.php` with
|
|
|
-
|
|
|
-```php
|
|
|
-Plugin::load('Tools', array('bootstrap' => true));
|
|
|
-```
|
|
|
-
|
|
|
-or
|
|
|
-
|
|
|
-```php
|
|
|
-Plugin::loadAll(array(
|
|
|
- 'Tools' => array('bootstrap' => true)
|
|
|
-));
|
|
|
-```
|
|
|
-
|
|
|
-## Namespacing
|
|
|
-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:
|
|
|
-```php
|
|
|
-namespace Tools\Model\Behavior;
|
|
|
-
|
|
|
-use Cake\ORM\Behavior;
|
|
|
-
|
|
|
-class CoolBehavior extends Behavior {
|
|
|
-}
|
|
|
-```
|
|
|
-
|
|
|
-For a new APP behavior "MySlugged" that extends "Tools.Slugged" it is:
|
|
|
-```php
|
|
|
-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.
|
|
|
-
|
|
|
-### Internal handling via plugin dot notation
|
|
|
-Internally (method access), you don't use the namespace declaration. The plugin name suffices:
|
|
|
-```php
|
|
|
-// In a Table
|
|
|
-$this->addBehavior('Tools.Slugged'); // Adding SluggedBehavior
|
|
|
-
|
|
|
-// In a Controller
|
|
|
-public $helpers = array('Tools.Foo'); // Adding FooHelper
|
|
|
-```
|
|
|
-
|
|
|
-## Testing
|
|
|
-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
|
|
|
+- [Documentation](docs/README.md)
|
|
|
|
|
|
### TODOs
|
|
|
|