netherphp / common
Things that were found useful and needed everywhere.
Requires
- php: ^8.1
- ramsey/uuid: ^4.7
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^0.7.2
- netherphp/standards: >=0.1.9
- phpunit/phpunit: ^9.5
README
A collection of things that made no sense as their own library and are typically needed by every project I ever build at some point.
Classes of Note
use Nether\Common;
Common\Prototype
Base class that provides a default constructor designed to handle filling in the object from a keyed dataset, for example an array that is the result row from a database query. Also provides by default access to all the attribute handling packages.
Common\Datastore
A data storage object so that arrays of data can be manipulated from an OOP interface with a lot of common methods so where the current dataset can be manipulated or return a fresh datastore with the modified dataset.
Common\PasswordTester
A thing that can validate if a password is complex enough based on a few rules that can be customised. It can additionally then explain why it failed to pass.
Common\Units\Bytes
A thing that when given an integer of a filesize in bytes can print back the info in a human readable format in units of choice (example: MB or MiB).
Common\Units\Timeframe
When given two dates can print back how much time is between them in a human readable format of choice. Can handle both time since and time until.
Traits of Note
use Nether\Common;
Common\Package\ClassInfoPackage
Bolt onto a class to provide access for reading the attributes assigned to the class.
Common\Package\MethodInfoPackage
Bolt onto a class to provide access for reading the attributes assigned to the methods within the class.
Common\Package\PropertyInfoPackage
Bolt onto a class to provide access for reading the attributes assigned to the properties within the class.