FFI\CData
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
FFI\CData
Референца за `class.ffi-cdata.php` со подобрена типографија и навигација.
C рачки за податоци
(PHP 7 >= 7.4.0, PHP 8)
Вовед
FFI\CData објектите можат да се користат на повеќе начини како обични PHP податоци:
-
C податоци од скаларни типо може да се читаат и доделуваат преку $cdata својство, на пр.
$x = FFI::new('int'); $x->cdata = 42; -
Полињата на C структури и унија може да се пристапат како обични PHP својства на објект, на пр.
$cdata->field -
Елементите на C низите може да се пристапат како обични PHP елементи на низа, на пр.
$cdata[$offset] -
C низите може да се итерираат со користење на
foreachstatements. -
C низите може да се користат како аргументи на count().
-
C покажувачите може да се дереференцираат како низи, на пр.
$cdata[0] -
C покажувачите може да се споредуваат со користење на обични оператори за споредба (
<,<=,==,!=,>=,>). -
C покажувачите може да се зголемуваат и намалуваат со користење на обични
+/-/++/--операции, на пр.$cdata += 5 -
C покажувачите може да се одземаат еден од друг со користење на обични
-operations. -
C покажувачите кон функции може да се повикаат како обична PHP затворање, на пр.
$cdata() -
Било кои C податоци може да се дуплираат со користење на clone оператор, на пр.
$cdata2 = clone $cdata; -
Било кои C податоци може да се визуелизираат со користење на var_dump(), print_r()Пример #2 Рестартирање на Apache откако ќе се инсталира PHP
-
FFI\CData сега може да се доделуваат на структури и полиња од PHP 8.3.0.
Забелешка:
Забележителни ограничувања се дека FFI\CData инстанците не поддржуваат isset(), empty() and unset(), а обвиените структури и унијата на C не имплементираат Траверзабилно.
Синопсис на класата
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.3.0 | FFI\CData сега може да им се доделат на структури и полиња. |