Releases: CopernicaMarketingSoftware/PHP-CPP
Releases · CopernicaMarketingSoftware/PHP-CPP
PHP-CPP 2.4.0
- Support for PHP 8.2
- When the "Php::Countable" interface is implemented, the $object->count() method is now implicitly enabled and passed to MyClass::__count().
PHP-CPP 2.3.5
- Classes that extend from Php::Serializable no longer have to explicitly register the serialize() and unserialize() methods (they are not implicitly added)
PHP-CPP 2.3.4
- Fixed a segmentation fault on extension startup
PHP-CPP 2.3.3
- Fixed PHP 7.4 issue (because of new values for C constants, interfaces were suddenly registered as abstract classes)
PHP-CPP 2.3.2
- Fixed version number (the 2.3.1 release was still creating a 2.3.0 shared object file)
PHP-CPP 2.3.1
- Fixed issue for PHP 7.4 with interfaces that extend from other interfaces
PHP-CPP 2.3.0
- Support for PHP 7.4
- C++ classes that derive from Php::Traversable now automatically also implement "Traversable" in PHP space ("instanceof" operator now works)
- C++ classes that derive from Php::Serializable now automatically also implement "Serializable" in PHP space ("instanceof" operator now works)
- Performance optimization for destructing objects
- Some small improvements and fixes to the building procedures with cmake
- Fixed some mistakes in example code
PHP-CPP 2.2.0
WARNING: Breaking changes to the ABI and API regarding the Error class
Warning: commit dfe4a94 breaks build on PHP7.0 and PHP7.1. Needs fix before proper release
- Renamed exception to throwable
- Enumeration Php::Error has been renamed to Php::ErrorType to make room for the new Php::Error class
- Added new class Php::Error that can be used for throwing errors (PHP7 normally throws errors instead of reporting fatal errors, which is what PHP5 did)
- Php::Exception is now only used for exceptions and no longer for errors (so extensions can be written to only catch exceptions, and not the errors)
- Removed support for Exception::file() and Exception::line()
- A couple of functions that used to report fatal errors, now throw an Php::Error object instead
- fixed exception handling for class methods and functions (uncaught Error objects caused a full crash, now they cause a fatal error)
- when calling an invalid function we no longer throw an exception, but an error
- renamed ErrorType to Message
- closures now get an empty string as name because exception handling functions sometimes need access to the name
- fixed issue when dealing with optional object parameters
PHP-CPP 2.1.4
- added Php::Stream class
PHP-CPP 2.1.3
- improved makefile
- fixed some valgrind complaints about uninitialized memory
- fixed the __invoke() and __call() methods: the return value of the C++ function was not passed to php space