Useful for when you want to throw a custom exception. Store the
reference to the class (which should extend one of the base exceptions)
in a static mutable variable, and then use `throw`.
We cannot implement `IntoIterator` for the `ZendHashTable` object as we
do not manage the memory, therefore we don't actually 'consume' the
object as the trait intends. Therefore, `IntoIterator` is implemented on
`&'a ZendHashTable`. This `ZendHashTable::iter` function simply forwards
the call.
* Object functions now return references to objects
Added ability to get object class name as well as hashtable of
properties
* Return mutable reference to objects
* Optimized `unwrap_or_else` calls
* Fixed adding properties to classes
* Removed unused function from wrapper header
* Moved property functions into `ZendObject`
* Introduced `ZendString` wrapper for raw pointer
* Set refcount of Zval to 0 when setting string properties
* Added ability to check if a property exists
Made some lifetimes explicit, check if property exists before attempting
to get.
* Removed unused file
* Removed unused lifetimes
Clippy was complaining, they were added to ensure that a `'static`
lifetime wasn't returned.
* Added support for PHP ZTS
* Added GitHub action for ZTS
Runs seperate from the other tests, as the setup-php action does not
support ZTS, therefore we run the tests in a Docker container.
* Source Rust env file before building
* No `source` command on docker
* Another attempt at fixing Rust in Docker
* Added ability to `unpack` and `pack` from Rust
* Updated `Pack::pack_into` documentation
* Replaced constant with new flags, fixed example
* Accept slices/arrays when using `Zval::set_binary`
We shouldn't really be returning Zval objects, rather references to Zval
objects. There is currently a memory leak with arrays that need to be
resolved.
* Exceptions have static lifetimes
* Added functions for throwing exceptions
Changed the `ClassEntry` implementation to unwrap the result before
returning, as these types are guaranteed to be valid. Also replaced the
'a lifetime with 'static lifetimes.
* Initialize handlers on first touch
In the process of turning the two macros into one derive proc macro
* Changed the object handler macros into derive