Trait ext_php_rs::constant::IntoConst[][src]

pub trait IntoConst: Sized {
    fn register_constant_flags(
        &self,
        name: &str,
        module_number: i32,
        flags: GlobalConstantFlags
    ) -> Result<()>; fn register_constant(&self, name: &str, module_number: i32) -> Result<()> { ... } }
Expand description

Implemented on types which can be registered as a constant in PHP.

Required methods

Registers a global module constant in PHP, with the value as the content of self. This function must be called in the module startup function, which is called after the module is initialized. The second parameter of the startup function will be the module number. This function allows you to pass any extra flags in if you require. Note that the case-sensitive and persistent flags are not set when you use this function, you must set these yourself.

Returns a result containing nothing if the constant was successfully registered.

Parameters
  • name - The name of the constant.
  • module_number - The module number that we are registering the constant under.
  • flags - Flags to register the constant with.
Examples
use ext_php_rs::{constant::IntoConst, flags::GlobalConstantFlags};

pub extern "C" fn startup_function(_type: i32, module_number: i32) -> i32 {
    42.register_constant_flags("MY_CONST_NAME", module_number, GlobalConstantFlags::Persistent | GlobalConstantFlags::Deprecated);
    0
}

Provided methods

Registers a global module constant in PHP, with the value as the content of self. This function must be called in the module startup function, which is called after the module is initialized. The second parameter of the startup function will be the module number. By default, the case-insensitive and persistent flags are set when registering the constant.

Returns a result containing nothing if the constant was successfully registered.

Parameters
  • name - The name of the constant.
  • module_number - The module number that we are registering the constant under.
Examples
use ext_php_rs::constant::IntoConst;

pub extern "C" fn startup_function(_type: i32, module_number: i32) -> i32 {
    5.register_constant("MY_CONST_NAME", module_number); // MY_CONST_NAME == 5
    "Hello, world!".register_constant("STRING_CONSTANT", module_number); // STRING_CONSTANT == "Hello, world!"
    0
}

Implementations on Foreign Types

Implementors