https://github.com/techins-software/parse-bool
Library Utility for Checking Boolean Values
https://github.com/techins-software/parse-bool
Last synced: 6 months ago
JSON representation
Library Utility for Checking Boolean Values
- Host: GitHub
- URL: https://github.com/techins-software/parse-bool
- Owner: TechIns-Software
- License: mit
- Created: 2024-09-23T12:19:45.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-09-23T13:09:08.000Z (almost 2 years ago)
- Last Synced: 2025-05-11T04:31:53.346Z (about 1 year ago)
- Language: PHP
- Size: 5.86 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ParseBool
`ParseBool` is a PHP class designed to facilitate the parsing and validation of boolean values from various input types. It simplifies the process of interpreting values that can be represented as true or false, making your code cleaner and more reliable.
## Purpose
The primary purpose of the `ParseBool` class is to convert different data types—such as strings, numbers, and booleans—into a consistent boolean output (`true` or `false`). This is particularly useful when dealing with user input or data from external sources, where the representation of boolean values can vary.
## Installation
You can include the `ParseBool` class in your project by copying the `ParseBool.php` file into your desired directory.
## Usage
### Parsing and Casting value into Boolean
To use the `ParseBool` class, simply call the `parseBool` method with your value as an argument.
### Example
```php
use Techins\ParseBool\ParseBool;
$value1 = ParseBool::parseBool('yes'); // Returns true
$value2 = ParseBool::parseBool(0); // Returns false
$value3 = ParseBool::parseBool(true); // Returns true
$value4 = ParseBool::parseBool('off'); // Returns false
$value4 = ParseBool::parseBool('dfsafsdfsdfds'); // Returns false
$value4 = ParseBool::parseBool('dfsafsdfsdfds',true); // Throws exception look bellow
```
### Strict checking
Upon strinct checking if the provided value cannot be interpreted as a boolean, a `ValueNotBooleanOneException` will be thrown. You should wrap your calls in a try-catch block to handle this exception gracefully:
```php
try {
// Checklbox Value
$input = $_POST['checkbox_val'];
$result = ParseBool::parseBool($input,true);
} catch (ValueNotBooleanOneException $e) {
// Handle the exception
}
```
#### Input validation
You can also validate a boolean value (for example if value is a checked checkbox)
```
$value1 = ParseBool::validateBooleableValue('yes'); // Returns true
$value2 = ParseBool::validateBooleableValue(0); // Returns true
$value3 = ParseBool::validateBooleableValue(true); // Returns true
$value4 = ParseBool::validateBooleableValue('off'); // Returns true
$value3 = ParseBool::validateBooleableValue(false); // Returns true
$value3 = ParseBool::validateBooleableValue('true'); // Returns true
$value5 = ParseBool::validateBooleableValue('ddsasadsa'); // Returns false
$value6 = ParseBool::validateBooleableValue(-1); // Returns false
$value6 = ParseBool::validateBooleableValue(""); // Returns false
```
## Valid Boolean Values
The following values are considered valid and will be converted to `true`:
- `1`
- `true`
- `'on'`
- `'yes'`
- `'true'`
The following values are considered valid and will be converted to `false`:
- `0`
- `false`
- `'off'`
- `'no'`
- `'false'`
- `f`
Any other values will result in a `ValueNotBooleanOneException`.
## Usage upon checkboxes
Assuming we have thius form
```
```
You can use `validateBooleableValue` to validate whether checkbox is checked.
```
$checked = ParseBool::parseBool($_POST['check']??false);
```
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Contributing
Contributions are welcome! Please submit a pull request or open an issue for any enhancements or bug fixes.