nekland / tools
Just some tools to work better with PHP
Installs: 362 095
Dependents: 5
Suggesters: 0
Security: 0
Stars: 7
Watchers: 4
Forks: 3
Open Issues: 0
pkg:composer/nekland/tools
Requires
- php: ^7.0 || ^8.0
Requires (Dev)
- friends-of-phpspec/phpspec-expect: ^4.0
- phpspec/phpspec: ^7.2.0
- phpunit/phpunit: ^8.5
README
Just some classes helping to code with PHP in general. No dependencies. High quality code.
This repository follows semver.
Installation
composer require "nekland/tools"
Reference
This library provide some tools to help you with your developments.
Here is the list of tools it provides:
StringTools class
Encoding arguments are optionals.
::camelize
StringTools::camelize($str, $from, $encoding, $normalize = true) : string
- $strstring input
- $from(optional, default "_") input string format (can be "-" or "_")
- $encoding(optional, default "UTF-8") encoding of your input string
- $normalizedecide either you want to normalize (remove special characters) or not, that's what you want in most cases when camelizing
::startsWith
Say if the given string starts with needle or not.
StringTools::startsWith($str, $start) : bool
- $strstring input
- $startstring it should starts with
::endsWith
Say if the given string ends with needle or not.
StringTools::endsWith($str, $end) : bool
- $strstring input
- $endstring it should ends with
::removeStart
Removes the start of the string if it matches with the given one.
StringTools::removeStart($str, $toRemove) : string
- $strstring input
- $toRemovestring to remove at the start of- $str
::removeEnd
Removes the end of the string if it matches with the given text to remove.
StringTools::removeEnd($str, $toRemove) : string
- $strstring input
- $toRemovestring to remove at the end of- $str
::contains
StringTools::contains($str, $needle) : bool
- $strstring input
- $needlepotentially contained string
::mb_ucfirst
Adds missing multi-byte PHP function for ucfirst standard function.
StringTools::mb_ucfirst($str, $encoding) : string
- $strstring input
- $encoding(optional, default "UTF-8") encoding of your input string
ArrayTools class
::removeValue
ArrayTools::removeValue($array, $value) : void
- $arrayinput array passed by reference
- $valueThe value to remove from the $array
EqualableInterface
Helps you equals on objects on a similar way as java.
equals
Method that you must implements to check if the object taking as parameter is equals or not.
DateTimeComparator class
For following methods lowest and greatest, you can provide unlimited DateTimeInterface objects.
Please note that non DateTimeInterface objects will be ignored by functions.
::greatest
Compare \DateTimeInterface from parameters and return the greatest
DateTimeComparator::greatest($dateTime1, $dateTime2, $dateTime3, ...) : ?\DateTimeInterface
::lowest
Compare \DateTimeInterface from parameters and return the lowest
DateTimeComparator::lowest($dateTime1, $dateTime2, $dateTime3, ...) : ?\DateTimeInterface
Temporary file management
The class TemporaryFile helps you to create temporary file with ease.
::__construct()
TemporaryFile::__construct(TemporaryDirectory $dir = null, string $prefix = '')
Examples:
// Create a file in temporary folder $file = new TemporaryFile(); // Create a file inside a temporary directory (see TemporaryDirectory class) $file = new TemporaryFile($temporaryDir); // Create a file in a temporary folder with php_ prefix. $file = new TemporaryFile(null, 'php_');
::setContent & ::getContent
TemporaryFile::setContent(string $content) TemporaryFile::getContent(): string
::getPathname()
Returns the complete path to the file (ie: /tmp/generated-folder/filename)
TemporaryFile::getPathname(): string
::remove()
Removes the file from filesystem.
TemporaryFile::remove()
Temporary directory management
::__construct()
TemporaryDirectory::__construct(string $dir = null, string $prefix = 'phpgenerated')
Examples:
// create a new directory $directory = new TemporaryDirectory();
::getTemporaryFile()
Create a TemporaryFile from the directory generated.
TemporaryDirectory::getTemporaryFile(): TemporaryFile
::remove()
Removes the directory.
TemporaryDirectory::remove(bool $force = false): void
If force is specified to true, it will remove the directory even if it has files inside.
::getPathname()
Returns the complete path to the folder (ie: /tmp/folder-name)
TemporaryDirectory::getPathname(): string