michaldudek / foundation
A set of useful PHP classes.
Installs: 110 941
Dependents: 17
Suggesters: 0
Security: 0
Stars: 13
Watchers: 2
Forks: 2
Open Issues: 0
pkg:composer/michaldudek/foundation
Requires
- php: >=5.6
- psr/log: >=1.0
Requires (Dev)
- phpmd/phpmd: ~2.2
- phpunit/phpunit: ~5.6
- squizlabs/php_codesniffer: ~2.3
README
A set of useful PHP classes.
MD\Foundation is a set of useful PHP classes and functions that ease your development and abstract away some very common code.
It is what Lo-Dash is for JavaScript.
Visit http://www.michaldudek.pl/Foundation/ for full documentation.
Installation
You can install MD\Foundation using Composer.
$ composer require michaldudek/foundation dev-master
Features / namespaces
MD\Foundation features are grouped into PHP namespaces.
MD\Foundation\Utils
Namespace MD\Foundation\Utils contains several static classes that contain common functions that can e.g. change your array filtering code into a one-liner. Classes are split into StringUtils, ArrayUtils, ObjectUtils and FilesystemUtils.
MD\Foundation\Crypto
Password hashing and cryptography is a solved problem, yet a lot of projects still reinvent the wheel with funky hashing algorithms. MD\Foundation\Crypto namespaces provides a standard and best-practice methods to deal with basic cryptography, especially if you are not running PHP 5.5 yet.
MD\Foundation\Debug
Inside the MD\Foundation\Debug namespace you will find few classes that help debug and profile your code, especially fit for runtime. The Debugger can be especially useful for analyzing variables at runtime and the Timer will help you find bottlenecks in your code.
MD\Foundation\Exceptions
We all love to throw exceptions and while PHP provides a lot of exceptions to throw, MD\Foundation\Exceptions adds a few more (like NotImplementedException with automatic method name resolution) or extends existing ones for easier use (InvalidArgumentException).
Other
There is also a couple of uncategorized classes which occassionally might be of use and which range from creating MagicObjects with automatic magic getters and setters (e.g. for very quick data storage) to ease working with other vendors like very common Psr\Log.
Contribute
Issues and pull requests are very welcome! When creating a pull request please include full test coverage to your changes.