CakePHP 框架的工具

euromark 32342af327 fix geocoding 13 年之前
Config 449b9599ad KeyValue Behavior 13 年之前
Console ecc62497e3 strict comparison and FormExtHelper compitable to 2.3RC 13 年之前
Controller 785b46f315 fix attachment mime types in emails 13 年之前
Lib 32342af327 fix geocoding 13 年之前
Locale 560d168a8b qlogin and fixes 14 年之前
Model 32342af327 fix geocoding 13 年之前
Test 32342af327 fix geocoding 13 年之前
TestSuite f59c1d5ef1 whitespace issues 13 年之前
Vendor f8b6d45ca4 rtim files for coding standards 13 年之前
View 32342af327 fix geocoding 13 年之前
webroot bbb8cacfa2 doc update 14 年之前
README.md 89106f3432 README.md 13 年之前
USAGE 5c8f26c714 usage update 13 年之前
composer.json daae04ad12 adding composer.json 13 年之前

README.md

Tools

A cake2.x plugin

This plugin contains several useful tools that can be used in many projects. Please fork and help to improve (bugfixing, test cases, ...)

Please note: New functionality has been tested against cake2.3 only. Please upgrade if possible.

CODING STANDARDS

How to include

Installing the Plugin is pretty much as with every other CakePHP Plugin.

  • Put the files in APP/Plugin/Tools
  • Make sure you have CakePlugin::load('Tools') or CakePlugin::loadAll() in your bootstrap

Tip: You can also use packagist now @ https://packagist.org/packages/dereuromark/tools-cakephp

That's it. It should be up and running.

The basics

Include the Tools bootstrap file in your APP/Config/bootstrap.php with

App::import('Lib', 'Tools.Bootstrap/MyBootstrap');

You cannot use App::uses because this file does not contain a class and needs to be included right away (not lazy loaded).

MyModel can be extended to use more powerful validation and other improvements:

App::uses('MyModel', 'Tools.Model');

class AppModel extends MyModel {
}

MyController can be extended for DRY improvements and to fix some common bugs:

App::uses('MyController', 'Tools.Controller');

class MyController extends MyController {
}

MyHelper can be extended and used this way:

App::uses('MyHelper', 'Tools.View/Helper');

class AppHelper extends MyHelper {
}

The test suite improvements can be used via:

App::uses('MyCakeTestCase', 'Tools.TestSuite');

class SomeClassTest extends MyCakeTestCase {
}

To run any of the console commands (replace [ShellName] and [command]!):

cake Tools.[ShellName] [command]

The models, behaviors, helpers, libs and other classes are used the same way prefixing them with the plugin name:

App::uses('GooglLib', 'Tools.Lib');
App::uses('TimeLib', 'Tools.Utility');
App::uses('GeocoderBehavior', 'Tools.Model/Behavior');
...

Tip: For how to use them, try to find some information in the test cases. Usage for some larger modules: https://github.com/dereuromark/tools/blob/master/USAGE