PHP повици
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
PHP повици
Референца за `ffi.examples-callback.php` со подобрена типографија и навигација.
PHP повици
It is possible to assign a PHP closure to a native variable of function pointer type or to pass it as a function argument:
Можно е да се додели PHP затворање на нативна променлива од тип на покажувач на функција или да се предаде како аргумент на функција: Затворање Пример #1 Доделување на PHP
<?php
$zend = FFI::cdef("
typedef int (*zend_write_func_t)(const char *str, size_t str_length);
extern zend_write_func_t zend_write;
");
echo "Hello World 1!\n";
$orig_zend_write = clone $zend->zend_write;
$zend->zend_write = function($str, $len) {
global $orig_zend_write;
$orig_zend_write("{\n\t", 3);
$ret = $orig_zend_write($str, $len);
$orig_zend_write("}\n", 2);
return $ret;
};
echo "Hello World 2!\n";
$zend->zend_write = $orig_zend_write;
echo "Hello World 3!\n";
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
Hello World 1!
{
Hello World 2!
}
Hello World 3!
Иако ова работи, оваа функционалност не е поддржана на сите libffi платформи, не е ефикасна и протекува ресурси до крајот на барањето.