summaryrefslogtreecommitdiff
path: root/include/class.h
AgeCommit message (Collapse)Author
2015-02-05refactored the initialization and shutdown of extension objects (code is ↵Emiel Bruijntjes
moved from a static method to a real member method), and more importantly: fixed initialization of the PhpCpp::Functor class, previously, we created the class an runtime whenever we needed it, but that turned out to be a cause for crashes when php stopped, this has also been solved
2015-01-26Added macro wrapper for noexceptRoland Eischer
- Added macro wrapper for noexcept to support MSVC compiler.
2015-01-25Php::Constant objects can now also be added to a Php::Class to create class ↵Emiel Bruijntjes
constants
2015-01-17added initial implementation for registering constantsEmiel Bruijntjes
2015-01-15Added the Php::Function class. This is an extension to the Php::Value class ↵Emiel Bruijntjes
that can be used if you want to assign a std::function object to a Value. This is useful if you want to pass a C++ lambda to a PHP userspace function
2014-11-26Marked `noexcept` all move constructors and assigment operatorsvalmat
See: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3050.html
2014-06-19implementation issue #97valmat
2014-04-06removed all zend dependencies from the public extension object, and moved it ↵Emiel Bruijntjes
into the src directory
2014-04-02it now is possible to register a class as base class (although not yet ↵Emiel Bruijntjes
working) (request from issue #52)
2014-04-02added Class::implements() method to allow classes that implement interfaces ↵Emiel Bruijntjes
(request from issue #52)
2014-04-02refactored the class and classbase classes, and introduced a classimpl class ↵Emiel Bruijntjes
in the src directory, this is a first step to remove all zend-specific code from the header files, so that we can later have a hhvm backend for the php-cpp library
2014-03-29fixed broken texts because of wrong return value of many chaining methods in ↵Emiel Bruijntjes
Class.h
2014-03-29all methods to register functions, methods, properties and classes not ↵Emiel Bruijntjes
return *this, to allow chaining these methods. This was suggested by valmat in issue #55
2014-03-19negative default values for properties were not supported. This fixes issue #47Emiel Bruijntjes
2014-03-15implemented __clone methodEmiel Bruijntjes
2014-03-14added extra property methods to allow both const and non-const setters and ↵Emiel Bruijntjes
getters, updated documentation
2014-03-14implementation of properties using callback methodsEmiel Bruijntjes
2014-03-14removed return value for __destruct() method, improved documentationEmiel Bruijntjes
2014-03-14implemented __destruct magic methodEmiel Bruijntjes
2014-03-13__clone() method is now called directly after a clone operation (and when no ↵Emiel Bruijntjes
custom __clone is registered)
2014-03-13classes without a copy constructor can now also be used from PHP, and they ↵Emiel Bruijntjes
automatically become unclonable
2014-03-13removed interfaces, removed abstract class and remove final classEmiel Bruijntjes
2014-03-13ensure that to __to*() functions always return a Value object, fixed compile ↵Emiel Bruijntjes
errors in example
2014-03-13update documentation, fixed __compare() methodEmiel Bruijntjes
2014-03-13magic methods no longer are virtual, so that more signatures are acceptable. ↵Emiel Bruijntjes
added support for __callStatic()
2014-03-13added serializable class (but not yet implemented it)Emiel Bruijntjes
2014-03-12support for static methodsEmiel Bruijntjes
2014-03-12removed __compare magic method, and added operator< insteadEmiel Bruijntjes
2014-03-12implemented magic __compare() methodEmiel Bruijntjes
2014-03-09work in progress on iteratorsEmiel Bruijntjes
2014-03-09added arrayaccess implementationEmiel Bruijntjes
2014-03-08implemented the Countable spl without using the actual splEmiel Bruijntjes
2014-03-07removed tabs from makefile, work in progress on implementing SPL interfacesEmiel Bruijntjes
2014-03-06changes to documentation, added support for const methods so that they can ↵Emiel Bruijntjes
also be exported
2014-03-04implemented cloning of objectsEmiel Bruijntjes
2014-03-02work in progress to support implementing SPL interfaces, disabled the _self ↵Emiel Bruijntjes
variable in Php::Base because by having each object keeping a reference to itself, the refcounter never reached zero and the object was thus never destructed, checking if we can get a new implementation one way or another
2014-03-02added copy and move constructors to some classesEmiel Bruijntjes
2014-03-01added possibility to define interfaces, the class::add() method has been ↵Emiel Bruijntjes
renamed to class::method() and class::property() to prevent ambiguity in defining properties and methods
2014-03-01fixed various compile issues and namespace implementationEmiel Bruijntjes
2014-03-01namespace implementation, compile issue for php 5.4 and higherEmiel Bruijntjes
2014-02-28various fixes to make the classes example functional againEmiel Bruijntjes
2014-02-28fixed a number of todosEmiel Bruijntjes
2014-02-28implemented propertiesEmiel Bruijntjes
2014-02-28class modifiers have been removed, special classes AbstractClass and ↵Emiel Bruijntjes
FinalClass have been added
2014-02-28a lot of refactoring, to make it much easier to define classes in an extensionEmiel Bruijntjes
2014-02-17Some code cleanupMartijn Otto
2014-02-17Removed the ClassFlagged class and moved the access flags to a template ↵Martijn Otto
parameter
2014-02-17Removed traits option: this would need to be conditionally included based on ↵Martijn Otto
the PHP version, which we cannot do in headers (due to the fact we do not want to include the whole php library when compiling extensions)
2014-02-14Merged pull request #14Martijn Otto
2013-10-14Initial attempt to register native C++ class methods directly to PHPEmiel Bruijntjes