PHP Classes

Utility: Collection of various PHP utility functions

Recommend this page to a friend!
  Info   View files Documentation   View files View files (47)   DownloadInstall with Composer Download .zip   Reputation   Support forum   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2024-03-03 (25 days ago) RSS 2.0 feedNot enough user ratingsTotal: 277 This week: 1All time: 7,643 This week: 560Up
Version License PHP version Categories
esi_utility 2.0.0MIT/X Consortium ...8.2.0Tools, Libraries, PHP 7
Description 

Author

This class provides a collection of various PHP utility functions. Currently it provides functions to:

- Set the encoding of text outputted by the current script
- Flatten or traverse an array recursively
- Convert multibyte text to upper or lower case or set capitalize initials, get a substring, check if a string begins, ends or contains or not contains a text, get the character length, transliterate a text, convert to slug
- Get random text, random integer, random bytes
- Count lines of text
- Get the size of all directory files, list the directory files
- Normalize a file path, check permissions
- Etc..

Picture of Eric Sizemore
  Performance   Level  
Name: Eric Sizemore is available for providing paid consulting. Contact Eric Sizemore .
Classes: 14 packages by
Country: United States United States
Age: 36
All time rank: 15119 in United States United States
Week rank: 5 Up1 in United States United States Up
Innovation award
Innovation award
Nominee: 3x

Winner: 1x

Documentation

Utility - Collection of various PHP utility functions.

FOSSA Status Build Status Code Coverage Scrutinizer Code Quality Tests PHPStan

Latest Stable Version Downloads per Month License

Utility is a small collection of useful functions that are aimed to make developers' lives just a tad bit easier.

Installation

Composer

Install the latest version with:

$ composer require esi/utility

Then, within your project (if not already included), include composer's autoload. For example:

<?php

require 'vendor/autoload.php';

?>

Basic Usage

Utility is a set of classes that are broken down into several "components":

Utilities

* Arrays * Conversion * Dates * Environment * Filesystem * Image * Numbers * Strings

As an example, let's say you want to convert a string to title case. To do so:

<?php

use Esi\Utility\Strings;

$title = Strings::title('this is my title');

echo $title;

?>

All methods of found within Utility's classes are static. So, for example, to retrieve the information for a particular timezone:

<?php

use Esi\Utility\Dates;

$timezone = Dates::timezoneInfo('America/New_York');

print_r($timezone);

/*
Array
(
    [offset] => -5
    [country] => US
    [latitude] => 40.71416
    [longitude] => -74.00639
    [dst] => 
)
*/

?>

Documentation

Please see docs or view online.

About

Requirements

  • Utility works with PHP 8.2.0 or above.

Submitting bugs and feature requests

Bugs and feature requests are tracked on GitHub

Issues are the quickest way to report a bug. If you find a bug or documentation error, please check the following first:

  • That there is not an Issue already open concerning the bug
  • That the issue has not already been addressed (within closed Issues, for example)

Contributing

Utility accepts contributions of code and documentation from the community. These contributions can be made in the form of Issues or Pull Requests on the Utility repository.

Utility is licensed under the MIT license. When submitting new features or patches to Utility, you are giving permission to license those features or patches under the MIT license.

Utility tries to adhere to PHPStan level 9 with strict rules and bleeding edge. Please ensure any contributions do as well.

Guidelines

Before we look into how, here are the guidelines. If your Pull Requests fail to pass these guidelines it will be declined, and you will need to re-submit when you?ve made the changes. This might sound a bit tough, but it is required for me to maintain quality of the code-base.

PHP Style

Please ensure all new contributions match the PSR-12 coding style guide. The project is not fully PSR-12 compatible, yet; however, to ensure the easiest transition to the coding guidelines, I would like to go ahead and request that any contributions follow them.

Documentation

If you change anything that requires a change to documentation then you will need to add it. New methods, parameters, changing default values, adding constants, etc. are all things that will require a change to documentation. The change-log must also be updated for every change. Also, PHPDoc blocks must be maintained.

Documenting functions/variables (PHPDoc)

Please ensure all new contributions adhere to:

when documenting new functions, or changing existing documentation.

Branching

One thing at a time: A pull request should only contain one change. That does not mean only one commit, but one change - however many commits it took. The reason for this is that if you change X and Y but send a pull request for both at the same time, we might really want X but disagree with Y, meaning we cannot merge the request. Using the Git-Flow branching model you can create new branches for both of these features and send two requests.

Author

Eric Sizemore - <admin@secondversion.com> - <https://www.secondversion.com>

License

Utility is licensed under the MIT License - see the LICENSE file for details

FOSSA Status

Acknowledgements

This library is inspired by Brandon Wamboldt's utilphp library.


  Files folder image Files  
File Role Description
Files folder image.github (2 files, 1 directory)
Files folder imagedocs (11 files)
Files folder imagesrc (8 files)
Files folder imagetests (1 file, 2 directories)
Accessible without login Plain text file .php-cs-fixer.dist.php Example Example script
Accessible without login Plain text file .scrutinizer.yml Data Auxiliary data
Accessible without login Plain text file CHANGELOG.md Data Auxiliary data
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file composer.lock Data Auxiliary data
Accessible without login Plain text file LICENSE.md Lic. License text
Accessible without login Plain text file mkdocs.yml Data Auxiliary data
Accessible without login Plain text file phpstan.neon Data Auxiliary data
Accessible without login Plain text file phpunit.xml Data Auxiliary data
Accessible without login Plain text file README.md Doc. Documentation
Accessible without login Plain text file SECURITY.md Data Auxiliary data

  Files folder image Files  /  .github  
File Role Description
Files folder imageworkflows (2 files)
  Accessible without login Plain text file dependabot.yml Data Auxiliary data
  Accessible without login Plain text file FUNDING.yml Data Auxiliary data

  Files folder image Files  /  .github  /  workflows  
File Role Description
  Accessible without login Plain text file main.yml Data Auxiliary data
  Accessible without login Plain text file tests.yml Data Auxiliary data

  Files folder image Files  /  docs  
File Role Description
  Accessible without login Plain text file arrays.md Data Auxiliary data
  Accessible without login Plain text file basic-usage.md Data Auxiliary data
  Accessible without login Plain text file conversion.md Data Auxiliary data
  Accessible without login Plain text file dates.md Data Auxiliary data
  Accessible without login Plain text file environment.md Data Auxiliary data
  Accessible without login Plain text file filesystem.md Data Auxiliary data
  Accessible without login Plain text file image.md Data Auxiliary data
  Accessible without login Plain text file index.md Data Auxiliary data
  Accessible without login Plain text file installation.md Data Auxiliary data
  Accessible without login Plain text file numbers.md Data Auxiliary data
  Accessible without login Plain text file strings.md Data

  Files folder image Files  /  src  
File Role Description
  Plain text file Arrays.php Class Class source
  Plain text file Conversion.php Class Class source
  Plain text file Dates.php Class Class source
  Plain text file Environment.php Class Class source
  Plain text file Filesystem.php Class Class source
  Plain text file Image.php Class Class source
  Plain text file Numbers.php Class Class source
  Plain text file Strings.php Class Class source

  Files folder image Files  /  tests  
File Role Description
Files folder imageresources (4 files)
Files folder imagesrc (8 files)
  Accessible without login Plain text file bootstrap.php Aux. Auxiliary script

  Files folder image Files  /  tests  /  resources  
File Role Description
  Accessible without login Plain text file notAnImage.txt Data Auxiliary data
  Accessible without login Image file testImage.gif Icon Icon image
  Accessible without login Image file testImage.jpg Icon Icon image
  Accessible without login Image file testImage.png Icon Icon image

  Files folder image Files  /  tests  /  src  
File Role Description
  Plain text file ArraysTest.php Class Class source
  Plain text file ConversionTest.php Class Class source
  Plain text file DatesTest.php Class Class source
  Plain text file EnvironmentTest.php Class Class source
  Plain text file FilesystemTest.php Class Class source
  Plain text file ImageTest.php Class Class source
  Plain text file NumbersTest.php Class Class source
  Plain text file StringsTest.php Class Class source

 Version Control Unique User Downloads Download Rankings  
 97%
Total:277
This week:1
All time:7,643
This week:560Up