- Url for useful tooling around URL generation.
- I18n for language detection and switching
- DateTime and Date Improved Date(Time) handling.
- ExceptionTrap for improved error handling.
- Email for sending Emails
- Tokens for Token usage
- Login Links For one time login link functionality
- Table enhancements with validation and other improvements.
- 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 {
public function initialize(): void {
parent::initialize();
$this->loadComponent('Tools.Common');
}
}In your AppView:
public function initialize(): void {
parent::initialize();
$this->loadHelper('Tools.Common');
$this->loadHelper('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.