Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/php-ffi/env
A set of API methods for working with the FFI environment
https://github.com/php-ffi/env
ffi php
Last synced: about 15 hours ago
JSON representation
A set of API methods for working with the FFI environment
- Host: GitHub
- URL: https://github.com/php-ffi/env
- Owner: php-ffi
- License: mit
- Created: 2021-08-07T18:43:33.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-08-14T16:06:24.000Z (3 months ago)
- Last Synced: 2024-10-24T18:00:08.901Z (13 days ago)
- Topics: ffi, php
- Language: PHP
- Homepage:
- Size: 19.5 KB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# FFI Environment
A set of API methods for working with the FFI environment.
## Requirements
- PHP >= 7.4
## Installation
Library is available as composer repository and can be installed using the
following command in a root of your project.```sh
$ composer require ffi/env
```## Usage
### Retrieve FFI Status
```php
use FFI\Env\Runtime;$status = Runtime::getStatus();
```Status can be be one of:
- `\FFI\Env\Status::NOT_AVAILABLE` - Extension not available.
- `\FFI\Env\Status::DISABLED` - Extension disabled.
- `\FFI\Env\Status::ENABLED` - Extension enabled and available in any environment.
- `\FFI\Env\Status::CLI_ENABLED` - Extension available only in CLI SAPI or using a preload.### Checking Availability
```php
use FFI\Env\Runtime;$isAvailable = Runtime::isAvailable();
```In the case that the environment needs to be checked unambiguously, then you
can use `assertAvailable()` method:```php
use FFI\Env\Runtime;Runtime::assertAvailable();
// Throws an \FFI\Env\Exception\EnvironmentException in case FFI is not available.
```### Optimization
To check the environment, it is recommended to use the `assert` functionality.
```php
use FFI\Env\Runtime;
use FFI\Env\Exception\EnvironmentException;assert(Runtime::assertAvailable());
// Or using your own assertion error message:
assert(Runtime::isAvailable(), EnvironmentException::getErrorMessageFromStatus());
```