, (*1)
Just some classes helping to code with PHP in general. No dependencies. High quality code., (*2)
This repository follows semver., (*3)
Installation
composer require "nekland/tools"
Reference
This library provide some tools to help you with your developments., (*4)
Here is the list of tools it provides:
- StringTools
- ArrayTools
- EqualableInterface
- DateTimeComparator
- TemporaryFile
- TemporaryDirectory, (*5)
Encoding arguments are optionals., (*6)
::camelize
StringTools::camelize($str, $from, $encoding, $normalize = true) : string
-
$str string input
-
$from (optional, default "_") input string format (can be "-" or "_")
-
$encoding (optional, default "UTF-8") encoding of your input string
-
$normalize decide 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., (*7)
StringTools::startsWith($str, $start) : bool
-
$str string input
-
$start string it should starts with
::endsWith
Say if the given string ends with needle or not., (*8)
StringTools::endsWith($str, $end) : bool
-
$str string input
-
$end string it should ends with
::removeStart
Removes the start of the string if it matches with the given one., (*9)
StringTools::removeStart($str, $toRemove) : string
-
$str string input
-
$toRemove string to remove at the start of $str
::removeEnd
Removes the end of the string if it matches with the given text to remove., (*10)
StringTools::removeEnd($str, $toRemove) : string
-
$str string input
-
$toRemove string to remove at the end of $str
::contains
StringTools::contains($str, $needle) : bool
-
$str string input
-
$needle potentially contained string
::mb_ucfirst
Adds missing multi-byte PHP function for ucfirst standard function., (*11)
StringTools::mb_ucfirst($str, $encoding) : string
-
$str string input
-
$encoding (optional, default "UTF-8") encoding of your input string
::removeValue
ArrayTools::removeValue($array, $value) : void
-
$array input array passed by reference
-
$value The value to remove from the $array
EqualableInterface
Helps you equals on objects on a similar way as java., (*12)
equals
Method that you must implements to check if the object taking as parameter is equals or not., (*13)
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., (*14)
::greatest
Compare \DateTimeInterface from parameters and return the greatest, (*15)
DateTimeComparator::greatest($dateTime1, $dateTime2, $dateTime3, ...) : ?\DateTimeInterface
::lowest
Compare \DateTimeInterface from parameters and return the lowest, (*16)
DateTimeComparator::lowest($dateTime1, $dateTime2, $dateTime3, ...) : ?\DateTimeInterface
Temporary file management
The class TemporaryFile helps you to create temporary file with ease., (*17)
::__construct()
TemporaryFile::__construct(TemporaryDirectory $dir = null, string $prefix = '')
Examples:, (*18)
// 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), (*19)
TemporaryFile::getPathname(): string
::remove()
Removes the file from filesystem., (*20)
TemporaryFile::remove()
Temporary directory management
::__construct()
TemporaryDirectory::__construct(string $dir = null, string $prefix = 'phpgenerated')
Examples:, (*21)
// create a new directory
$directory = new TemporaryDirectory();
::getTemporaryFile()
Create a TemporaryFile from the directory generated., (*22)
TemporaryDirectory::getTemporaryFile(): TemporaryFile
::remove()
Removes the directory., (*23)
TemporaryDirectory::remove(bool $force = false): void
If force is specified to true, it will remove the directory even if it has files inside., (*24)
::getPathname()
Returns the complete path to the folder (ie: /tmp/folder-name), (*25)
TemporaryDirectory::getPathname(): string