- Url for useful tooling around URL generation.
- I18n for language detection and switching
- ExceptionTrap for improved error handling.
- Email for sending Emails
- Tokens for Token usage
- Enums using native enums (NEW)
- StaticEnums using static entity methods
Note: Using native enums is recommended since CakePHP 5.
- FileLog to log data into custom file(s) with one line
- Inflect to test inflection of words.
- Tools Backend for useful backend tools.
For some methods you can find a IdeHelper task in IdeHelperExtra plugin:
IconHelper::render()
(deprecated)
Those will give you automcomplete for the input.
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.
<?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.
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.
- See Shims for details.
Your help is greatly appreciated.
- See Contributing for details.