CakePHP 框架的工具

euromark 446c44fae4 minor fix 13 年 前
Config 449b9599ad KeyValue Behavior 13 年 前
Console db0a2cc0de BitmaskedBehavior enhancements 13 年 前
Controller 785b46f315 fix attachment mime types in emails 13 年 前
Lib 446c44fae4 minor fix 13 年 前
Locale 560d168a8b qlogin and fixes 14 年 前
Model db0a2cc0de BitmaskedBehavior enhancements 13 年 前
Test 4c13cf3d5c Excel Reader 13 年 前
TestSuite f59c1d5ef1 whitespace issues 13 年 前
Vendor 4c13cf3d5c Excel Reader 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