Crate phper

source ·
Expand description

PHPER (PHP Enjoy Rust)

CI Crates Docs Lines License

Rust ❤️ PHP

The framework that allows us to write PHP extensions using pure and safe Rust whenever possible.

Document & Tutorial

Requirement

Necessary

  • rust 1.65 or later
  • libclang 9.0 or later
  • php 7.0 or later

Tested Support

  • OS
    • linux
    • macos
    • windows
  • PHP
    • version
      • 7.0
      • 7.1
      • 7.2
      • 7.3
      • 7.4
      • 8.0
      • 8.1
    • mode
      • nts
      • zts
    • sapi
      • cli
      • fpm
    • debug
      • disable
      • enable

Examples

See examples.

The projects using PHPER

  • apache/skywalking-php - The PHP Agent for Apache SkyWalking, which provides the native tracing abilities for PHP project.

License

MulanPSL-2.0.

Re-exports

pub use crate::errors::Error;
pub use crate::errors::Result;
pub use phper_alloc as alloc;
pub use phper_sys as sys;

Modules

The errors for crate and php.
Logs and echo facilities.
Apis relate to PHP types.
Apis relate to crate::sys::zval.

Macros

C style string end with ‘\0’.
C style string end with ‘\0’.
Equivalent to the php CG.
PHP deprecated logging.
PHP echo.
Equivalent to the php EG.
PHP error logging, will exit the request.
PHP notice logging.
Equivalent to the php PG.
Equivalent to the php SG.
PHP warning logging.

Attribute Macros

PHP module entry, wrap the phper::modules::Module write operation.

Derive Macros

Auto derive for phper::errors::Throwable.