Understanding FFI
Learn how FFI can be used to establish a relationship between PHP and C.
The main purpose of a Foreign Function Interface (FFI) is to allow any given programming language the ability to incorporate code and function calls from external libraries written in other languages. An early example of this was the ability of 1980s microcomputers to incorporate assembler language into otherwise sluggish Beginners’ All-purpose Symbolic Instruction Code (BASIC) programming language scripts using the PEEK and POKE commands. Unlike many other languages, PHP did not have this capability prior to PHP 7.4, although it had been under discussion since 2004.
In order to gain a full understanding of FFI in PHP 8, it’s necessary to digress and have a look at why it took so long for FFI to be fully adopted into the PHP language. It’s also necessary to take a quick look at PHP extensions in general and the ability to work with C-language code. We’ll first examine the relationship between PHP and the C language.
Relationship between PHP and the C language
The C language was developed at Bell Labs by Dennis Ritchie ...