summaryrefslogtreecommitdiff
path: root/Zend/zend_interfaces.h
Commit message (Collapse)AuthorAgeFilesLines
* Generate zend class entries based on stubsMáté Kocsis2021-02-141-11/+0
| | | | Closes GH-6685
* Improve type declarations for Zend APIsGeorge Peter Banyard2020-08-281-2/+2
| | | | | | | | | Voidification of Zend API which always succeeded Use bool argument types instead of int for boolean arguments Use bool return type for functions which return true/false (1/0) Use zend_result return type for functions which return SUCCESS/FAILURE as they don't follow normal boolean semantics Closes GH-6002
* Introduce InternalIteratorNikita Popov2020-06-241-0/+2
| | | | | | | | | | | | | | | | | | | Userland classes that implement Traversable must do so either through Iterator or IteratorAggregate. The same requirement does not exist for internal classes: They can implement the internal get_iterator mechanism, without exposing either the Iterator or IteratorAggregate APIs. This makes them usable in get_iterator(), but incompatible with any Iterator based APIs. A lot of internal classes do this, because exposing the userland APIs is simply a lot of work. This patch alleviates this issue by providing a generic InternalIterator class, which acts as an adapater between get_iterator and Iterator, and can be easily used by many internal classes. At the same time, we extend the requirement that Traversable implies Iterator or IteratorAggregate to internal classes as well. Closes GH-5216.
* Add zend_call_known_function() API familyNikita Popov2020-06-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This adds the following APIs: void zend_call_known_function( zend_function *fn, zend_object *object, zend_class_entry *called_scope, zval *retval_ptr, int param_count, zval *params); void zend_call_known_instance_method( zend_function *fn, zend_object *object, zval *retval_ptr, int param_count, zval *params); void zend_call_known_instance_method_with_0_params( zend_function *fn, zend_object *object, zval *retval_ptr); void zend_call_known_instance_method_with_1_params( zend_function *fn, zend_object *object, zval *retval_ptr, zval *param); void zend_call_known_instance_method_with_2_params( zend_function *fn, zend_object *object, zval *retval_ptr, zval *param1, zval *param2); These are used to perform a call if you already have the zend_function you want to call. zend_call_known_function() is the base API, the rest are just really thin wrappers around it for the common case of instance method calls. Closes GH-5692.
* Generate method entries from stubs for Zend classesMáté Kocsis2020-04-261-1/+1
| | | | Closes GH-5459
* Define Stringable with __toString():string methodNicolas Grekas2020-03-021-0/+1
|
* Refactor zend_object_handlers API to pass zend_object* and zend_string* ↵Dmitry Stogov2019-02-041-1/+1
| | | | insted of zval(s).
* Remove local variablesPeter Kokot2019-02-031-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes the so called local variables defined per file basis for certain editors to properly show tab width, and similar settings. These are mainly used by Vim and Emacs editors yet with recent changes the once working definitions don't work anymore in Vim without custom plugins or additional configuration. Neither are these settings synced across the PHP code base. A simpler and better approach is EditorConfig and fixing code using some code style fixing tools in the future instead. This patch also removes the so called modelines for Vim. Modelines allow Vim editor specifically to set some editor configuration such as syntax highlighting, indentation style and tab width to be set in the first line or the last 5 lines per file basis. Since the php test files have syntax highlighting already set in most editors properly and EditorConfig takes care of the indentation settings, this patch removes these as well for the Vim 6.0 and newer versions. With the removal of local variables for certain editors such as Emacs and Vim, the footer is also probably not needed anymore when creating extensions using ext_skel.php script. Additionally, Vim modelines for setting php syntax and some editor settings has been removed from some *.phpt files. All these are mostly not relevant for phpt files neither work properly in the middle of the file.
* Adios, yearly copyright rangesZeev Suraski2019-01-301-1/+1
|
* Remove unused Git attributes identPeter Kokot2018-07-251-2/+0
| | | | | | | | | | | | | | | The $Id$ keywords were used in Subversion where they can be substituted with filename, last revision number change, last changed date, and last user who changed it. In Git this functionality is different and can be done with Git attribute ident. These need to be defined manually for each file in the .gitattributes file and are afterwards replaced with 40-character hexadecimal blob object name which is based only on the particular file contents. This patch simplifies handling of $Id$ keywords by removing them since they are not used anymore.
* year++Xinchen Hui2018-01-021-1/+1
|
* further sync for vim mode linesAnatol Belski2017-07-041-0/+2
|
* "Countable" interface is moved from SPL to CoreDmitry Stogov2017-05-251-0/+1
|
* Update copyright headers to 2017Sammy Kaye Powers2017-01-021-1/+1
|
* bump year which is missed in rev 49493a2Xinchen Hui2016-01-021-1/+1
|
* Rename interface macrosAaron Piotrowski2015-06-171-1/+4
| | | | | | | | | Renamed REGISTER_INTERFACE (formerly REGISTER_ITERATOR_INTERFACE) to REGISTER_MAGIC_INTERFACE and renamed REGISTER_ITERATOR_IMPLEMENT to REGISTER_MAGIC_IMPLEMENT. Both have now been moved to zend_interfaces.h.
* Move definition of Throwable to zend_exceptions.h/cAaron Piotrowski2015-06-151-1/+8
| | | | | Also moved REGISTER_ITERATOR_INTERFACE macro to zend_interfaces.h and renamed it to REGISTER_INTERFACE.
* Remodel exceptions based on Throwable interfaceAaron Piotrowski2015-05-161-0/+1
| | | | | | | | | | | Added Throwable interface that exceptions must implement in order to be thrown. BaseException was removed, EngineException renamed to Error, and TypeException and ParseException renamed to TypeError and ParseError. Exception and Error no longer extend a common base class, rather they both implement the Throwable interface.
* bump yearXinchen Hui2015-01-151-1/+1
|
* first shot remove TSRMLS_* thingsAnatol Belski2014-12-131-17/+17
|
* fix signature, zend_string is used for function nameAnatol Belski2014-10-281-1/+1
|
* revamp serialization to work with size_t for SerializableAnatol Belski2014-09-151-4/+4
|
* master renames phase 2Anatol Belski2014-08-251-4/+4
|
* Refactoring zend_iterator (incompleted)Xinchen Hui2014-02-271-1/+1
|
* Fixed user iterator creationDmitry Stogov2014-02-261-1/+1
|
* Use better data structures (incomplete)Dmitry Stogov2014-02-101-4/+4
|
* Bump yearXinchen Hui2014-01-031-1/+1
|
* Add support for non-scalar Iterator keys in foreachNikita Popov2013-03-121-1/+1
| | | | RFC: https://wiki.php.net/rfc/foreach-non-scalar-keys
* Happy New YearXinchen Hui2013-01-011-1/+1
|
* Merge branch 'PHP-5.3' into PHP-5.4Xinchen Hui2012-10-091-0/+0
|\
| * Fixed bug #63236 (Executable permission on various source files)Xinchen Hui2012-10-091-0/+0
| |
| * - Year++Felipe Pena2012-01-011-1/+1
| |
| * - Year++Felipe Pena2011-01-011-1/+1
| |
* | - Year++Felipe Pena2012-01-011-1/+1
| |
* | Fixed ZE specific compile warnings (Bug #55629)Dmitry Stogov2011-09-131-1/+1
| |
* | - Year++Felipe Pena2011-01-011-1/+1
|/
* sed -i "s#1998-2009#1998-2010#g" **/*.c **/*.h **/*.phpSebastian Bergmann2010-01-051-1/+1
|
* MFH: Bump copyright year, 3 of 3.Sebastian Bergmann2008-12-311-1/+1
|
* MFH: Fix #46646 (Implement zend functions to restrict serialization or ↵Etienne Kneuss2008-12-221-0/+3
| | | | internal classes)
* MFH:Etienne Kneuss2008-08-241-0/+3
| | | | | | | - Copy custom callback to the child class if any - Prevent overwriting valid parent callbacks when implementing Serializable - Export zend_user_(un)serialize to be available for custom callbacks
* MFH: Bump copyright year, 2 of 2.Sebastian Bergmann2007-12-311-1/+1
|
* MFH: Bump year.Sebastian Bergmann2007-01-011-1/+1
|
* - MFH Add missing ZEND_API declarationsMarcus Boerger2006-05-111-1/+11
|
* - Update copyright notices to 2006Andi Gutmans2006-01-041-1/+1
|
* Bump up the yearfoobar2005-08-031-1/+1
|
* - Fix typosAndi Gutmans2005-03-191-1/+1
|
* - New Interface SerializeableMarcus Boerger2005-03-071-0/+1
| | | | | | - Change signature of unserialize() callback to ease inheritance and support code reuse of handlers
* - no unneccessary retval initializationMarcus Boerger2004-04-271-2/+0
| | | | | | - new c-level iterator handler invalidate_current that is optionally used to clear internal caching like in implementation of Iterator
* declare as externStanislav Malyshev2004-03-281-4/+4
|
* wrap ZEND_API prototypes into BEGIN_EXTERN_C/END_EXTERN_CHartmut Holzgraefe2004-02-181-0/+4
| | | | | for C++ extension support