FFI::cast
(PHP 7 >= 7.4.0, PHP 8)
FFI::cast β ΠΠ΅ΡΠ΅ΡΠ²ΠΎΡΡΡ ΡΠΈΠΏ C
ΠΠΏΠΈΡ
public static FFI::cast(FFI\CType|string $type, FFI\CData|int|float|bool|null &$ptr): ?FFI\CData
public FFI::cast(FFI\CType|string $type, FFI\CData|int|float|bool|null &$ptr): ?FFI\CData
FFI::cast() ΡΡΠ²ΠΎΡΡΡ Π½ΠΎΠ²ΠΈΠΉ ΠΎΠ±'ΡΠΊΡ ΠΊΠ»Π°ΡΡ FFI\CDataΡΠΎ Π²ΠΊΠ°Π·ΡΡ Π½Π° ΡΡ ΡΠ°ΠΌΡ ΡΡΡΡΠΊΡΡΡΡ C, Π°Π»Π΅ Π°ΡΠΎΡΡΠΉΠΎΠ²Π°Π½ΠΈΠΉ Π· ΡΠ½ΡΠΈΠΌ ΡΠΈΠΏΠΎΠΌ. ΠΡΡΠΈΠΌΠ°Π½ΠΈΠΉ ΠΎΠ±'ΡΠΊΡ Π½Π΅ ΡΡΠ°Ρ Π²Π»Π°ΡΠ½ΠΈΠΊΠΎΠΌ Π΄Π°Π½ΠΈΡ
, ΡΠΎΠΌΡ Π²ΠΈΡ
ΡΠ΄Π½ΠΈΠΉ ΠΏΠΎΠΊΠ°ΠΆΡΠΈΠΊ ptr
ΠΏΠΎΠ²ΠΈΠ½Π΅Π½ Π·Π°Π»ΠΈΡΠ°ΡΠΈΡΡ ΠΆΠΈΠ²ΠΈΠΌ Π΄ΠΎΠ²ΡΠ΅ Π·Π° ΠΎΡΡΠΈΠΌΠ°Π½ΠΈΠΉ ΠΎΠ±'ΡΠΊΡ. Π’ΠΈΠΏ C ΠΏΠΎΠ²ΠΈΠ½Π΅Π½ Π±ΡΡΠΈ Π·Π°Π΄Π°Π½ΠΈΠΉ ΡΠΊ ΡΡΠ΄ΠΎΠΊ, ΡΠΎ ΠΌΡΡΡΠΈΡΡ ΡΠΌ'Ρ Π±ΡΠ΄Ρ-ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΡ, Π°Π±ΠΎ ΡΠΊ ΠΎΠ±'ΡΠΊΡ FFI\CType. Π―ΠΊΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΈΠΊΠ»ΠΈΠΊΠ°ΡΡΡΡΡ ΡΡΠ°ΡΠΈΡΠ½ΠΎ, ΠΌΠΎΠΆΠ½Π° Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΠΈ Π»ΠΈΡΠ΅ Π²ΠΈΠ·Π½Π°ΡΠ΅Π½Ρ ΡΠΌΠ΅Π½Π° ΡΠΈΠΏΡΠ² Π (Π½Π°ΠΏΡΠΈΠΊΠ»Π°Π΄, int
char
, Etc.); ΡΠΊΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΈΠΊΠ»ΠΈΠΊΠ°ΡΡΡΡΡ ΡΠΊ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΠ±'ΡΠΊΡΠ°, ΡΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ Π±ΡΠ΄Ρ-ΡΠΊΡ ΠΏΠ΅Π²Π½Ρ ΠΉΠΎΠΌΡ ΡΠΈΠΏΠΈ.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ²
type
Π ΡΠ΄ΠΎΠΊ Π· ΡΠΌ'ΡΠΌ ΡΠΈΠΏΡ Π‘ Π°Π±ΠΎ ΠΎΠ±'ΡΠΊΡ ΠΊΠ»Π°ΡΡ FFI\CType
ptr
ΠΠ΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΏΠΎΠΊΠ°ΠΆΡΠΈΠΊΠ° ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½ΠΈΡ Π.
ΠΠ½Π°ΡΠ΅Π½Π½Ρ, ΡΠΎ ΠΏΠΎΠ²Π΅ΡΡΠ°ΡΡΡΡΡ
ΠΠΎΠ²Π΅ΡΡΠ°Ρ Π½ΠΎΠ²ΠΈΠΉ ΠΎΠ±'ΡΠΊΡ FFI\CData