Skip to content

Latest commit

 

History

History
135 lines (97 loc) · 3.5 KB

README.md

File metadata and controls

135 lines (97 loc) · 3.5 KB

CakePHP Tools Plugin Documentation

Installation

Upgrade Guide

Detailed Documentation - Quicklinks

Routing

  • Url for useful tooling around URL generation.

I18n

  • I18n for language detection and switching

ErrorHandler

Email

  • Email for sending Emails

Tokens

Controller

Behaviors

Components

Helpers

Widgets

Model/Entity

Note: Using native enums is recommended since CakePHP 5.

Utility

  • FileLog to log data into custom file(s) with one line

Command

  • Inflect to test inflection of words.

IDE compatibility improvements

For some methods you can find a IdeHelper task in IdeHelperExtra plugin:

  • IconHelper::render() (deprecated)

Those will give you automcomplete for the input.

Basic enhancements of the core

Model

Extend the Tools plugin table and entity class to benefit from a few gotchas:

<?php
namespace App\Model\Table;

use Tools\Model\Table\Table;

class UsersTable extends Table {}

and

<?php
namespace App\Model\Entity;

use Tools\Model\Entity\Entity;

class User extends Entity {}

You can also make yourself your own AppTable and AppEntity class in your application and then extend those for each of the individual files - which I recommend for most flexibility.

Controller

<?php
namespace App\Controller;

use Tools\Controller\Controller;

class AppController extends Controller {

    protected $components = ['Tools.Common'];

    protected $helpers = ['Tools.Common', 'Tools.Time', 'Tools.Number', 'Tools.Format'];

}

Here we can also see some of the most useful components and helpers included right away.

The Common component for example will automatically provide:

  • Auto-trim on POST (to make - not only notEmpty - validation working properly).

The Tools plugin controller will allow you to:

  • Disable cache also works for older IE versions.

BC shims for easier migration from 4.x

It contains many shims to provide 4.x functionality when upgrading apps to 5.0. This eases migration as complete parts of the code, such as validation and other model property settings can be reused immediately without refactoring them right away.

Contributing

Your help is greatly appreciated.