ext-php-rs-introspection 0.2.1

ABI-stable description of an ext-php-rs extension and PHP stub rendering, shared by ext-php-rs and cargo-php.
Documentation
  • Coverage
  • 100%
    111 out of 111 items documented0 out of 23 items with examples
  • Size
  • Source code size: 71.9 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.2 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 2s Average build duration of successful builds.
  • all releases: 28s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • extphprs/ext-php-rs
    848 94 13
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • ptondereau

ext-php-rs-introspection

ABI-stable description of an ext-php-rs extension, and the PHP stub rendering built on top of it.

An extension exports ext_php_rs_describe_module_v2, which returns a pointer to a heap-allocated Description: the module name, its functions, classes, enums and constants as #[repr(C)] types. cargo php stubs loads the extension with dlopen, calls that function, checks version (always the first field) and renders the result with ToStub.

This crate has no dependency on the Zend engine. ext-php-rs re-exports it as ext_php_rs::describe and fills the types from its builders; cargo-php depends on it alone, so the CLI builds without PHP installed.

Versioning

Description::version carries this crate's version. Any change to a #[repr(C)] type is a breaking release, and cargo-php refuses an extension whose version is not semver compatible with the one it was built against.

License

MIT OR Apache-2.0, like the rest of the workspace.