Skip to content

rask/php-ffi-examples

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 

PHP FFI Examples

FFI is a new feature that ships with PHP 7.4. Previously FFI for PHP was available as a standalone extension, but it has now been included in the main PHP installation.

This repository has examples for various PHP FFI use cases, along with some Rust examples that display how to create PHP FFI compatible C-ABI libraries for PHP usage.

The examples are tied to a blog series which I am writing, and the examples are split into sections that resemble the blog series.

Requirements

All code should be runnable without adjustments, assuming you have the following prerequisites installed:

  • PHP 7.4 with FFI enabled,
  • Stable toolchain rustc/Cargo for compiling Rust libraries, the examples make use of Cargo, but you can use rustc if you know how to use it.

All examples are accompanied with a short guide on how to run or compile them.

The code has been written and tested on Linux Ubuntu, so you may have to make slight adjustments to make them work in other environments properly.

Each example in this repository is a standalone "project", meaning they run independently from each other.

Licensing, modifying, and redistributing

All code provided in this repository is MIT licensed. These examples are meant to be used as a reference or a starting point for real applications. There is no real value in using the example code "as is", though I am not stopping you from doing that.

About

Runnable examples to learn how PHP FFI works

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published