nekland / tools
Just some tools to work better with PHP
Installs: 323 830
Dependents: 5
Suggesters: 0
Security: 0
Stars: 7
Watchers: 5
Forks: 3
Open Issues: 0
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
$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.
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.
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.
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.
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.
StringTools::mb_ucfirst($str, $encoding) : string
$str
string input$encoding
(optional, default "UTF-8") encoding of your input string
ArrayTools class
::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.
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