Just some classes helping to code with PHP in general. No dependencies. High quality code.
This repository follows semver.
composer require "nekland/tools"
This library provide some tools to help you with your developments.
Here is the list of tools it provides:
Encoding arguments are optionals.
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
Say if the given string starts with needle or not.
StringTools::startsWith($str, $start) : bool
$str
string input$start
string it should starts with
Say if the given string ends with needle or not.
StringTools::endsWith($str, $end) : bool
$str
string input$end
string it should ends with
Removes the start of the string if it matches with the given one.
StringTools::removeStart($str, $toRemove) : string
$str
string input$toRemove
string to remove at the start of$str
Removes the end of the string if it matches with the given text to remove.
StringTools::removeEnd($str, $toRemove) : string
$str
string input$toRemove
string to remove at the end of$str
StringTools::contains($str, $needle) : bool
$str
string input$needle
potentially contained string
Adds missing multi-byte PHP function for ucfirst
standard function.
StringTools::mb_ucfirst($str, $encoding) : string
$str
string input$encoding
(optional, default "UTF-8") encoding of your input string
ArrayTools::removeValue($array, $value) : void
$array
input array passed by reference$value
The value to remove from the $array
Helps you equals on objects on a similar way as java.
Method that you must implements to check if the object taking as parameter is equals or not.
For following methods lowest
and greatest
, you can provide unlimited DateTimeInterface
objects.
Please note that non DateTimeInterface objects will be ignored by functions.
Compare \DateTimeInterface from parameters and return the greatest
DateTimeComparator::greatest($dateTime1, $dateTime2, $dateTime3, ...) : ?\DateTimeInterface
Compare \DateTimeInterface from parameters and return the lowest
DateTimeComparator::lowest($dateTime1, $dateTime2, $dateTime3, ...) : ?\DateTimeInterface
The class TemporaryFile
helps you to create temporary file with ease.
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_');
TemporaryFile::setContent(string $content)
TemporaryFile::getContent(): string
Returns the complete path to the file (ie: /tmp/generated-folder/filename
)
TemporaryFile::getPathname(): string
Removes the file from filesystem.
TemporaryFile::remove()
TemporaryDirectory::__construct(string $dir = null, string $prefix = 'phpgenerated')
Examples:
// create a new directory
$directory = new TemporaryDirectory();
Create a TemporaryFile
from the directory generated.
TemporaryDirectory::getTemporaryFile(): TemporaryFile
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.
Returns the complete path to the folder (ie: /tmp/folder-name
)
TemporaryDirectory::getPathname(): string