phpstorm-stubs
PHP runtime & extensions header files for PhpStorm (by JetBrains)
php-ffi
PHP Foreign Function Interface (by dstogov)
phpstorm-stubs | php-ffi | |
---|---|---|
3 | 1 | |
1,298 | 566 | |
0.2% | - | |
9.1 | 1.8 | |
10 days ago | over 3 years ago | |
PHP | C | |
Apache License 2.0 | - |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
phpstorm-stubs
Posts with mentions or reviews of phpstorm-stubs.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-12-19.
- What would be better VS Code or PHP Storm?
-
sj-i/php-fuse: PHP FFI bindings for libfuse. You can write your own filesystems in PHP.
The other thing that bothers me is that most of the function arguments in FFI are ZEND_SEND_PREFER_REF, which sneakily tries to change the type of value I pass as an argument. This is not a documented behavior either. https://github.com/JetBrains/phpstorm-stubs/pull/777#issuecomment-620589391
-
Unknown named parameter $options with json_decode
JetBrains maintains their own stubs for PHPStorm: https://github.com/JetBrains/phpstorm-stubs
php-ffi
Posts with mentions or reviews of php-ffi.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-03-26.
-
sj-i/php-fuse: PHP FFI bindings for libfuse. You can write your own filesystems in PHP.
So far this has not been a major issue in this project, but as mentioned in the RFC and the original FFI repository, the use of PHP callbacks involves leaks until the end of the process. https://wiki.php.net/rfc/ffi#php_callbacks https://github.com/dstogov/php-ffi#php-callbacks There is no detailed description of the leak, but it is probably the same problem as in LuaJIT. https://luajit.org/ext_ffi_semantics.html#callback_resources If you are using a few callbacks during a process execution, as in the php-fuse example, it seems to be okay. However, for example, if you try to use qsort() in a loop, the leakage caused by callbacks may be problematic. As in the case of LuaJIT, it is probably needed to provide an API to explicitly cast the callable to a function pointer that can be called from the C side, and also to provide a way to manually release it.
What are some alternatives?
When comparing phpstorm-stubs and php-ffi you can also consider the following projects:
php-fuse - PHP FFI bindings for libfuse
doc-en - English PHP documentation
reli-prof - A sampling profiler or a memory profiler for PHP written in PHP, which reads information about running PHP VM from outside the process. You can find performance bottlenecks or memory leaks of your scripts without changing the target script or loading extensions.
Phpactor - Mainly a PHP Language Server with more features than you can shake a stick at
libfuse - The reference implementation of the Linux FUSE (Filesystem in Userspace) interface
vscode-intelephense - PHP intellisense for Visual Studio Code