https://github.com/cakephp/utility
[READ-ONLY] CakePHP Utility classes such as Inflector, Text, Hash, Security and Xml. This repo is a split of the main code that can be found in https://github.com/cakephp/cakephp
https://github.com/cakephp/utility
Last synced: 7 months ago
JSON representation
[READ-ONLY] CakePHP Utility classes such as Inflector, Text, Hash, Security and Xml. This repo is a split of the main code that can be found in https://github.com/cakephp/cakephp
- Host: GitHub
- URL: https://github.com/cakephp/utility
- Owner: cakephp
- License: other
- Created: 2014-09-08T08:32:23.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2025-06-21T03:38:37.000Z (7 months ago)
- Last Synced: 2025-06-21T04:29:19.087Z (7 months ago)
- Language: PHP
- Homepage:
- Size: 16.6 MB
- Stars: 120
- Watchers: 32
- Forks: 10
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
- Security: Security.php
Awesome Lists containing this project
README
[](https://packagist.org/packages/cakephp/utility)
[](LICENSE.txt)
# 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:
```php
$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](https://book.cakephp.org/4/en/core-libraries/hash.html)
### Inflector
The Inflector class takes a string and can manipulate it to handle word variations
such as pluralizations or camelizing.
```php
echo Inflector::pluralize('Apple'); // echoes Apples
echo Inflector::singularize('People'); // echoes Person
```
Check the [official Inflector class documentation](https://book.cakephp.org/4/en/core-libraries/inflector.html)
### Text
The Text class includes convenience methods for creating and manipulating strings.
```php
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](https://book.cakephp.org/4/en/core-libraries/text.html)
### Security
The security library handles basic security measures such as providing methods for hashing and encrypting data.
```php
$key = 'wt1U5MACWJFTXGenFoZoiLwQGrLgdbHA';
$result = Security::encrypt($value, $key);
Security::decrypt($result, $key);
```
Check the [official Security class documentation](https://book.cakephp.org/4/en/core-libraries/security.html)
### Xml
The Xml class allows you to easily transform arrays into SimpleXMLElement or DOMDocument objects
and back into arrays again
```php
$data = [
'post' => [
'id' => 1,
'title' => 'Best post',
'body' => ' ... '
]
];
$xml = Xml::build($data);
```
Check the [official Xml class documentation](https://book.cakephp.org/4/en/core-libraries/xml.html)