Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

Awesome Lists containing this project

README

        

# FFI Environment


PHP 8.1+
Latest Stable Version
Latest Unstable Version
Total Downloads
License MIT




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());
```