Type Definition ext_php_rs::types::ZendObject

source ·
pub type ZendObject = zend_object;
Expand description

A PHP object.

This type does not maintain any information about its type, for example, classes with have associated Rust structs cannot be accessed through this type. ZendClassObject is used for this purpose, and you can convert between the two.

Implementations§

Creates a new ZendObject, returned inside an ZBox<ZendObject> wrapper.

Parameters
  • ce - The type of class the new object should be an instance of.
Panics

Panics when allocating memory for the new object fails.

Creates a new stdClass instance, returned inside an ZBox<ZendObject> wrapper.

Panics

Panics if allocating memory for the object fails, or if the stdClass class entry has not been registered with PHP yet.

Example
use ext_php_rs::types::ZendObject;

let mut obj = ZendObject::new_stdclass();

obj.set_property("hello", "world");

Converts a class object into an owned ZendObject. This removes any possibility of accessing the underlying attached Rust struct.

source

pub fn get_class_entry(&self) -> &'static ClassEntry

Returns the ClassEntry associated with this object.

Panics

Panics if the class entry is invalid.

Attempts to retrieve the class name of the object.

Returns whether this object is an instance of the given ClassEntry.

This method checks the class and interface inheritance chain.

Panics

Panics if the class entry is invalid.

Checks if the given object is an instance of a registered class with Rust type T.

This method doesn’t check the class and interface inheritance chain.

Attempts to read a property from the Object. Returns a result containing the value of the property if it exists and can be read, and an Error otherwise.

Parameters
  • name - The name of the property.
  • query - The type of query to use when attempting to get a property.

Attempts to set a property on the object.

Parameters
  • name - The name of the property.
  • value - The value to set the property to.

Checks if a property exists on an object. Takes a property name and query parameter, which defines what classifies if a property exists or not. See PropertyQuery for more information.

Parameters
  • name - The name of the property.
  • query - The ‘query’ to classify if a property exists.

Attempts to retrieve the properties of the object. Returned inside a Zend Hashtable.

Extracts some type from a Zend object.

This is a wrapper function around FromZendObject::extract().

Returns an unique identifier for the object.

The id is guaranteed to be unique for the lifetime of the object. Once the object is destroyed, it may be reused for other objects. This is equivalent to calling the spl_object_id PHP function.

Computes an unique hash for the object.

The hash is guaranteed to be unique for the lifetime of the object. Once the object is destroyed, it may be reused for other objects. This is equivalent to calling the spl_object_hash PHP function.

Trait Implementations§

Formats the value using the given formatter. Read more
The corresponding type of the implemented value in PHP.
Attempts to retrieve an instance of Self from a reference to a Zval. Read more
The corresponding type of the implemented value in PHP.
Attempts to retrieve an instance of Self from a mutable reference to a Zval. Read more
The corresponding type of the implemented value in PHP.
Sets the content of a pre-existing zval. Returns a result containing nothing if setting the content was successful. Read more
Converts a Rust primitive type into a Zval. Returns a result containing the Zval if successful. Read more
Returns an immutable reference to the corresponding refcount object.
Returns a mutable reference to the corresponding refcount object.
Returns the number of references to the object.
Increments the reference counter by 1.
Decrements the reference counter by 1.
Frees the memory pointed to by self, calling any destructors required in the process. Read more