summaryrefslogtreecommitdiff
path: root/include/class.h
AgeCommit message (Collapse)Author
2015-03-26Changed default visibility for symbols in the PHP-CPP library to hidden and ↵Martijn Otto
explicitly exported all symbols available from the public API. Moved the hiddenpointer to the zend implementation directory as it is not meant to be used publicly and not referenced anywhere from the API anyway
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