Download the PHP package sandromiguel/php-throw without Composer
On this page you can find all versions of the php package sandromiguel/php-throw. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download sandromiguel/php-throw
More information about sandromiguel/php-throw
Files in sandromiguel/php-throw
Package php-throw
Short Description PHP package for throwing custom exceptions with ease.
License MIT
Homepage https://github.com/SandroMiguel/php-throw
Informations about the package php-throw
PhpThrow
PhpThrow (Beta) is a PHP package for throwing custom exceptions with ease.
Features
- Provides custom exception classes with additional functionality.
- Easy to use and integrate into existing projects.
Installation
You can install PhpThrow via Composer:
Usage
Comparing Native and PhpThrow exceptions
The following code shows how to use the native InvalidArgumentException class and the ThrowInvalidArgumentException class to throw an exception if the provided value is less than zero:
Native InvalidArgumentException:
ThrowInvalidArgumentException:
ThrowInvalidArgumentException
ThrowInvalidArgumentException extends the built-in InvalidArgumentException and provides helper methods for throwing exceptions related to invalid arguments.
create()
create($message): Creates a new instance of the exception with the given message.
ifZeroOrNegative()
ifZeroOrNegative($value, $message = null): Throws an exception if the numeric value is less than 0.
ifZeroOrNegativeWithValue()
ifZeroOrNegativeWithValue($value, $message = null): Throws an exception if the numeric value is negative, including the value in the error message.
You can also use a custom message without the placeholder:
ThrowPageNotFoundException
ThrowPageNotFoundException is used to handle exceptions when a page is not found.
Example: ThrowPageNotFoundException::forPage
Note: By default, the error code is set to 404. You can change it using the code parameter.
Contributing
Want to contribute? All contributions are welcome. Read the contributing guide.
Questions
If you have questions tweet me at @sandro_m_m or open an issue.
Changelog
See CHANGELOG.md
License
This project is licensed under the MIT License - see the LICENSE file for details
TODO
- Implement additional exception classes and methods for common validations
~ sharing is caring ~