CakePHP Utility Classes
This library provides a range of utility classes that are used throughout the CakePHP framework
What's in the toolbox?
Hash
A Hash
(as in PHP arrays) class, capable of extracting data using an intuitive DSL:
$things = [
['name' => 'Mark', 'age' => 15],
['name' => 'Susan', 'age' => 30],
['name' => 'Lucy', 'age' => 25]
];
$bigPeople = Hash::extract($things, '{n}[age>21].name');
// $bigPeople will contain ['Susan', 'Lucy']
Check the official Hash class documentation
Inflector
The Inflector class takes a string and can manipulate it to handle word variations such as pluralizations or camelizing.
echo Inflector::pluralize('Apple'); // echoes Apples
echo Inflector::singularize('People'); // echoes Person
Check the official Inflector class documentation
Text
The Text class includes convenience methods for creating and manipulating strings.
Text::insert(
'My name is :name and I am :age years old.',
['name' => 'Bob', 'age' => '65']
);
// Returns: "My name is Bob and I am 65 years old."
$text = 'This is the song that never ends.';
$result = Text::wrap($text, 22);
// Returns
This is the song
that never ends.
Check the official Text class documentation
Security
The security library handles basic security measures such as providing methods for hashing and encrypting data.
$key = 'wt1U5MACWJFTXGenFoZoiLwQGrLgdbHA';
$result = Security::encrypt($value, $key);
Security::decrypt($result, $key);
Check the official Security class documentation
Xml
The Xml class allows you to easily transform arrays into SimpleXMLElement or DOMDocument objects and back into arrays again
$data = [
'post' => [
'id' => 1,
'title' => 'Best post',
'body' => ' ... '
]
];
$xml = Xml::build($data);
Check the official Xml class documentation