Stanislav Malyshev
e18618905c
scalar types cleanup
2011-06-03 01:09:32 +00:00
Stanislav Malyshev
d7c9c5af92
scalar types cleanup
2011-06-03 01:09:32 +00:00
Felipe Pena
927bf09c29
- Year++
2011-01-01 02:19:59 +00:00
Felipe Pena
0203cc3d44
- Year++
2011-01-01 02:17:06 +00:00
Dmitry Stogov
3690ce39d9
zend_collect_module_handlers() has to be called after zend_extensions startup, because they can register additional 'hidden' extensions
2010-10-15 07:30:24 +00:00
Hartmut Holzgraefe
aaa2f1c30b
marked char pointer arguments as const in lots of
...
places where strings pointed to are not modified
to prevent compiler warnings about discarded qualifiers ...
2010-10-14 21:33:10 +00:00
Dmitry Stogov
f2df6a4a3e
- Improved memory usage
...
. zend_function.pass_rest_by_reference is replaced by
ZEND_ACC_PASS_REST_BY_REFERENCE in zend_function.fn_flags
. zend_function.return_reference is replaced by ZEND_ACC_RETURN_REFERENCE
in zend_function.fn_flags
. zend_arg_info.required_num_args removed. it was needed only for internal
functions. Now the first arg_info for internal function (which has special
meaning) is represented by zend_internal_function_info structure.
. zend_op_array.size, size_var, size_literal, current_brk_cont,
backpatch_count moved into CG(context), because they are used only during
compilation.
. zend_op_array.start_op is moved into EG(start_op), because it's used
only for 'interactive' execution of single top-level op-array.
. zend_op_array.done_pass_two is replaced by ZEND_ACC_DONE_PASS_TWO in
zend_op_array.fn_flags.
. op_array.vars array is trimmed (reallocated) during pass_two.
. zend_class_entry.constants_updated is replaced by
ZEND_ACC_CONSTANTS_UPDATED in zend_class_entry.ce_flags
. the size of zend_class_entry is reduced by sharing the same memory space
by different information for internal and user classes.
See zend_class_inttry.info union.
2010-09-15 07:38:52 +00:00
Felipe Pena
fdb6077fda
- Missing traits data initialization for internal classes (causing Reflection to crash)
2010-08-14 01:12:43 +00:00
Felipe Pena
c6c97db78f
- Fix warning because the comparsion with literal (e.g. INIT_CLASS_ENTRY(..., "Foo", ...))
2010-08-08 20:07:23 +00:00
Felipe Pena
4f07d70d4e
- Fixed ZTS build (Kalle)
2010-08-05 17:09:08 +00:00
Dmitry Stogov
3cf5ab9e56
Use interned strings for class names
2010-08-05 13:10:15 +00:00
Dmitry Stogov
1a1178a685
eliminated unnecessary iterations during request startup/shutdown
2010-07-06 11:40:17 +00:00
Dmitry Stogov
f23e857676
Fixed ZTS build
2010-05-24 17:07:52 +00:00
Dmitry Stogov
c5237d82bf
Added caches to eliminate repeatable run-time bindings of functions, classes, constants, methods and properties
2010-05-24 14:11:39 +00:00
Derick Rethans
1bc9247651
- Added scalar typehinting.
2010-05-20 19:18:35 +00:00
Johannes Schlüter
eb7e848f34
spread some more const
2010-04-28 10:11:50 +00:00
Dmitry Stogov
453b49ed20
Added a number of small performance tweaks and optimizations
...
. ZEND_RECV now always has IS_CV as its result
. ZEND_CATCH now has to be used only with constant class names
. ZEND_FETCH_DIM_? may fetch array and dimension operans in a different order
2010-04-20 11:16:39 +00:00
Sebastian Bergmann
d2281d1dff
sed -i "s#1998-2009#1998-2010#g" **/*.c **/*.h **/*.php
2010-01-05 20:46:53 +00:00
Jani Taskinen
f48cab06ff
- Fixed bug #48971 (Missing ZEND_NS_NAMED_FE macro)
2009-07-28 21:12:42 +00:00
Sebastian Bergmann
08659c2dcd
MFH: Bump copyright year, 3 of 3.
2008-12-31 11:15:49 +00:00
Dmitry Stogov
7d4fd3fd38
Fixed bug #46409 (__invoke method called outside of object context when using array_map)
2008-11-27 19:01:23 +00:00
Felipe Pena
fc2fb50d09
- MFH: Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro
2008-11-17 11:28:01 +00:00
Marcus Boerger
7126de4912
- Next step in namespaces, using / as namespace separator.
2008-11-04 15:58:55 +00:00
Felipe Pena
7a37fa2d6b
- Revert ZEND_BEGIN_ARG_INFO change
2008-11-02 21:19:39 +00:00
Felipe Pena
df10005563
- MFH: Added 'static' into ZEND_BEGIN_ARG_INFO_EX macro
2008-10-24 14:35:40 +00:00
Nuno Lopes
f87d4530c2
mark empty_fcall_info and empty_fcall_info_cache as constant. a few less bytes in the dirty page :P
2008-08-12 21:45:52 +00:00
Felipe Pena
cf7384aa40
- MFH: Constness (Added const qualifier to several function parameters)
2008-08-12 17:20:25 +00:00
Felipe Pena
e304515ddb
- MFH: Added parameter TSRMLS_DC in zend_is_callable()
2008-08-02 04:46:07 +00:00
Dmitry Stogov
af05ce0af6
Fixed is_callable/call_user_func mess that had done different things for very similar arguments e.g. array("A","B") and "A::B"
2008-07-26 13:14:04 +00:00
Dmitry Stogov
feb8580166
LSB parent/self forwarding
2008-07-24 09:42:18 +00:00
Stanislav Malyshev
e59bfcffa0
deprecate zend_get_parameters_ex
2008-06-27 21:16:41 +00:00
Matt Wilmas
7da75d81e7
MFH: Add array_init_size() and use it where array size is known at initialization
2008-05-27 10:29:33 +00:00
Dmitry Stogov
907fa66507
Added API to use namesapces in internal extensions
2008-05-12 07:11:55 +00:00
Dmitry Stogov
2ecf4bb0a7
Lazy EG(active_symbol_table) initialization
2008-04-29 08:15:20 +00:00
Felipe Pena
cc2b17d51d
MFH: Added new macro for check void parameters.
...
(deprecating ZEND_WRONG_PARAM_COUNT for this cases)
2008-03-10 22:02:41 +00:00
Marcus Boerger
e8a8acdf39
[DOC]
...
- Fix callable/static mess, the following will now all result in a E_STRICT
. binding a dynamic function as a static callback
. static call of a dynamic function
. is_callable() on a static binding to a dynamic function
# [marcus@frodo PHP_5_3]$ php -a -d error_reporting=8191
# make: `sapi/cli/php' is up to date.
# Interactive shell
#
# php > class t{ function f() { echo "Funny\n"; } }
# php > $c = array("t","f");
# php > call_user_func($c);
#
# Strict Standards: call_user_func() expects parameter 1 to be a valid callback, non-static method t::f() cannot be called statically in php shell code on line 1
# Funny
# php > var_dump(is_callable($c));
#
# Strict Standards: Non-static method t::f() cannot be called statically in php shell code on line 1
# bool(true)
# php > t::f();
#
# Strict Standards: Non-static method t::f() should not be called statically in php shell code on line 1
# Funny
# php >
2008-02-01 21:27:55 +00:00
Dmitry Stogov
d90ebc65a6
Fixed comilation warnings
2008-01-24 18:07:45 +00:00
Sebastian Bergmann
d1dded8751
MFH: Bump copyright year, 2 of 2.
2007-12-31 07:17:19 +00:00
Jani Taskinen
b489251177
- MFH from HEAD:
...
. Folding tags
. Parameter parsing
. SPL debug info
. array function improvements (not all yet)
. Improvements to function calling with call_user_* functions
. Improvements to debugging info in var_dump/print_r
# I propably forgot already something but this all was pretty close tied
# to each other so it wasn't possible to do it in parts.
2007-11-02 19:40:39 +00:00
Yiduo (David) Wang
4b4d634cb9
MFH: Added macros for managing zval refcounts and is_ref statuses
2007-10-07 05:22:07 +00:00
Dmitry Stogov
72d0454bf6
Added support for __callstatic() magic method (missing part). (Sara)
2007-09-29 09:34:24 +00:00
Dmitry Stogov
b20ed0d2e0
Added support for __callstatic() magic method. (Sara)
2007-09-29 08:52:40 +00:00
Dmitry Stogov
6c810b0d4c
Improved memory usage by movig constants to read only memory. (Dmitry, Pierre)
2007-09-27 18:00:48 +00:00
Dmitry Stogov
e1814f0dbe
WIN64 support
2007-04-16 08:09:56 +00:00
Sebastian Bergmann
4223aa4d5e
MFH: Bump year.
2007-01-01 09:36:18 +00:00
Hannes Magnusson
1e19ee8785
- Fixed incorrect function names on FreeBSD where inet_pton() was named
...
__inet_pton() and inet_ntop() was named __inet_ntop()
- Fixed bug #39685 (iconv() - undefined function)
- Fixed bug #38852 (XML-RPC Breaks iconv)
2006-12-20 10:34:36 +00:00
Dmitry Stogov
29ed52ffa4
New memory manager
2006-07-18 09:06:33 +00:00
Dmitry Stogov
ada4e506a7
MFH: Added automatic module globals management.
2006-06-15 14:03:21 +00:00
Marcus Boerger
64c353ab79
- MFH zend_fcall_info_*() and parameter parsing option 'f'
...
# Right now i see this as the best option but we might shuffle code around
# later if someone comes up with a better solution.
2006-06-07 09:43:54 +00:00
Antony Dovgal
9dd24c6d87
fix error messages when converting objects to other types
...
add new function
MFB will follow soon
2006-05-25 10:01:06 +00:00
Marcus Boerger
637a40423c
- MFH as discussed
...
. zend_exception_get_default() -> zend_exception_get_default(TSRMLS_D)
. zend_get_error_exception() -> zend_get_error_exception(TSRMLS_D)
. added E_RECOVERABLE_ERROR
. added ZEND_TOSTRING_FUNC_NAME
. added __tostring function cache to zend_class_entry
. added ZEND_NAMED_ME
. modified ZEND_ME_MAPPING to support method flags
. added ZEND_MN
. method entries now use prefix "zim_" instead of "zif_"
. drop EG(ze1_compatibility_mode)
. changed cast handler, now without (int should_free):
typedef int (*zend_object_cast_t)(zval *readobj, zval *retval, int type TSRMLS_DC);
. changed get_iterator, now receives whether value is by ref:
zend_object_iterator *(*get_iterator)(zend_class_entry *ce, zval *object, int by_ref TSRMLS_DC);
. added zend_objects_store_add_ref_by_handle
. added zend_objects_store_del_ref_by_handle
. convert_to_explicit_type(pzv, type)
2006-05-09 23:53:23 +00:00
Marcus Boerger
35ce5db25e
- Add missing function for completeness
2006-03-05 16:12:24 +00:00
Marcus Boerger
941b0651dc
- MFH: Function deprecation flag
2006-02-25 18:25:45 +00:00
Andi Gutmans
61e93ccfe8
- Update copyright notices to 2006
2006-01-04 23:53:05 +00:00
Marcus Boerger
0cd997d79c
- Simplify and synch is_callable_ex() with actual execution code
...
. Allow array($this, 'parent::method') for function 'pointers'
. Spit out E_STRICT in case of erroneous use of function 'pointers'
2005-12-16 22:15:41 +00:00
Dmitry Stogov
8768ab94b3
Fixed bug #34729 (Crash in ZTS mode under Apache)
2005-12-01 11:48:17 +00:00
Dmitry Stogov
b05b949a47
Fixed bug #34879 (str_replace, array_map corrupt negative array indexes on 64-bit platforms)
2005-10-28 14:46:30 +00:00
Marcus Boerger
2486b846cc
- MFH zend_is_callable_ex() returns zend_class_entry* if available
2005-10-25 23:19:59 +00:00
Dmitry Stogov
248345d920
Support for class constants and static members for internal classes
2005-09-01 10:05:32 +00:00
foobar
916815b779
Bump up the year
2005-08-03 13:30:58 +00:00
Marcus Boerger
53e5260662
- Add convenience function zend_is_callable_ex() and base zend_is_callable
...
and zend_make_callable on it. This functions allows to check if a php
variable is a callable function and returns its function pointer as well
as object if possible.
# Commit this now so we can use it in 5.1.* series as discussed with Andi.
2005-07-28 20:55:50 +00:00
Dmitry Stogov
70bd938bbd
Fixed bug in new module statrup mechanism
2005-07-18 16:20:08 +00:00
Dmitry Stogov
345e0255b5
Fixed bug #33512 (Add missing support for isset()/unset() overloading to complement the property get/set methods)
2005-07-07 16:07:09 +00:00
Dmitry Stogov
1d33a3e95e
Fixed bug #31158 (array_splice on $GLOBALS crashes)
2005-07-04 10:01:10 +00:00
Dmitry Stogov
2ca2dc0b08
Restored old behavior of zend_statup_module()
2005-06-30 13:43:00 +00:00
Stanislav Malyshev
d5a1296008
fix various "Class entry requested for an object without PHP class" messages
...
when working with non-PHP objects.
# Using Z_OBJCE(object)->name is usually bad idea unless you know it's
# a pure PHP object
2005-06-27 18:13:13 +00:00
Dmitry Stogov
c0c7a9f010
Improved PHP extension loading mechanism with support for module dependencies and conflicts.
2005-06-17 09:36:26 +00:00
Dmitry Stogov
aedbdb087d
Allowed return by refrence from internal functions
2005-06-16 14:56:13 +00:00
Dmitry Stogov
1a72341328
Added array type hinting. (This patch requires full re-make)
2005-05-26 13:46:17 +00:00
Dmitry Stogov
c81db6bc56
Fixed bug #29210 (Function: is_callable - no support for private and protected classes)
2005-04-27 15:45:36 +00:00
Marcus Boerger
67a226d910
- Add ReflectionProperty::getDocComment()
2005-04-19 22:04:59 +00:00
Marcus Boerger
c087f07233
- These must be initailized
2005-02-27 22:18:55 +00:00
Hartmut Holzgraefe
d88c2b18d4
added some missing zend_[declare|update]_property_...() convenience
...
functions for bool, double and binary safe string data
2005-02-04 20:24:21 +00:00
Marcus Boerger
1d5c13bdad
- Fix #31651 (ReflectionClass::getDefaultProperties segfaults with arrays.)
2005-01-22 12:23:01 +00:00
Andi Gutmans
11bcaedfc8
- Rename delete_global_variable() to zend_delete_global_variable()
2004-10-04 20:17:06 +00:00
Andi Gutmans
db507dd153
- Commit the variable fetch optimization.
...
- Extensions which delete global variables need to use new special function
- delete_global_variable() (I'm about to rename it) to remove them.
- Will post to internals@ or via commit messages if there's anything else.
2004-10-04 19:54:35 +00:00
Marcus Boerger
e39f3f3f48
Simplify/Optmize magic method calls (__get/__set/__call/__clone/__destruct)
2004-09-28 22:55:22 +00:00
Andi Gutmans
6bd3c36a53
- Recommit:
...
- Check signature of magic methods
- Register __get/__set/__call for internal classes
2004-09-09 16:51:45 +00:00
Andi Gutmans
96ab56e146
- Roll back VM commit
2004-09-09 16:47:22 +00:00
Marcus Boerger
be24e2455c
- Check signature of magic methods
...
- Register __get/__set/__call for internal classes
2004-09-09 09:51:43 +00:00
Andi Gutmans
56f8195fe5
- Nuke empty_string. It is a reminanent from the time where RETURN_FALSE()
...
used to return "" and not bool(false). It's not worth keeping it because
STR_FREE() and zval_dtor() always have to check for it and it slows down
the general case. In addition, it seems that empty_string has been abused
quite a lot, and was used not only for setting zval's but generally in
PHP code instead of "", which wasn't the intention. Last but not least,
nuking empty_string should improve stability as I doubt every place
correctly checked if they are not mistakenly erealloc()'ing it or
calling efree() on it.
NOTE: Some code is probably broken. Each extension maintainer should
check and see that my changes are OK. Also, I haven't had time to touch
PECL yet. Will try and do it tomorrow.
2004-07-19 07:19:50 +00:00
Marcus Boerger
c756609658
Add missing declaration
2004-06-10 12:32:09 +00:00
Marcus Boerger
33cdc9ed36
Fix order of macro parameter (synch with other macros)
2004-04-12 13:02:54 +00:00
Marcus Boerger
5230321731
- Fix Reflection class names
...
- Add ability to get the extension an internal class was defined in
# This is the patch Andi and me used to search for underscrores...
2004-03-30 18:36:53 +00:00
Derick Rethans
6535933f7c
- Replaced the exec_finished hook by the zend_post_deactive hook for
...
extensions. The new hook will be run after the symbol table and destructors
are run. (Derick)
2004-03-16 22:27:26 +00:00
Marcus Boerger
8d45fece42
Fix zend_parse_method_parameters_ex() and make it consistant with
...
zend_parse_method_parameters().
# Obviously its only place of use is in pdo just right now.
2004-03-02 16:17:58 +00:00
Zeev Suraski
7086634a0b
- Improve ARG_INFO() macros to support supplying required_num_args
...
- Initial fix for foreach($o->mthd()->arr) crash (now leaks)
2004-02-25 14:56:45 +00:00
Hartmut Holzgraefe
1727c6a2bb
more EXTERN_C wrapping of ZEND_API prototypes
2004-02-20 08:03:27 +00:00
Zeev Suraski
e7e0f7d4b4
- Check return-by-reference bit when implementing interface prototypes
...
- Add infrastructure for built-in functions to hint whether they
return by reference or not. It is NOT currently used for anything,
except for interface prototypes (you can use it to request that the
function that implements your prototype returns by reference or
doesn't return by reference).
For downwards compatibility - by default, interface prototypes are
agnostic as to whether the function that implements them returns
by reference or not. Use ZEND_BEGIN_ARG_INFO_EX() with
ZEND_RETURN_VALUE/ZEND_RETURN_REFERENCE to change that.
- Fix ArrayAccess::getOffset() to conduct additional checks.
If your getOffset() should work with multidimensional arrays - it
must return by reference.
2004-02-12 13:49:55 +00:00
Marcus Boerger
805dfab890
Add zend_get_module_started() to quickly check whether a module is present
...
and its MINIT function has been called.
2004-01-19 00:39:29 +00:00
Marcus Boerger
61fc2a9209
Add missing macro
...
# by popular demand, more and more exts need this
2004-01-12 00:19:40 +00:00
foobar
ccfc46b0aa
- Happy new year and PHP 5 for rest of the files too..
...
# Should the LICENSE and Zend/LICENSE dates be updated too?
2004-01-08 17:33:29 +00:00
Marcus Boerger
15964bb35d
Fix order of class_entry member initialization (needed for example for DOM)
...
# You need to completley rebuild PHP after this patch.
2003-12-28 15:18:05 +00:00
Wez Furlong
273c19334b
export these symbols for use by SPL as a shared extension
2003-12-22 13:09:15 +00:00
Marcus Boerger
32927a9ffb
Free the zval container only if it should be freed and was not copied.
2003-12-02 07:09:46 +00:00
Marcus Boerger
6344f662a5
This takes the address of a zval ptr
2003-11-29 18:23:35 +00:00
Marcus Boerger
c7d27ad938
Add macros to return values of other zvals.
...
This is needed because one cannot use REPLACE_ZVAL_VALUE with return_value.
2003-11-29 18:15:11 +00:00
Marcus Boerger
c21d597426
Add method alias macro
2003-11-18 19:18:54 +00:00
Marcus Boerger
26bfe3f83a
Add zend_make_callable() which allows to make zval's callable zval's.
...
At the moment this function only converts strings of the form class::method
to an array(class,method).
2003-10-25 22:58:06 +00:00
Marcus Boerger
3c62b3b5ac
Expand Interface C API.
...
In short: zend_class_entry->interface_gets_implemented() allows to modify
the class entry of a class when an interface gets implemented.
2003-10-22 19:59:58 +00:00
Marcus Boerger
b0b82541e8
Fix class/iterator relationship & handling
2003-10-18 18:43:31 +00:00
Marcus Boerger
25aa8b715e
Added c-api for iterators
...
# After 4 Month work and endless discussions...
2003-10-17 17:19:44 +00:00
Marcus Boerger
4073a08488
Add oo support function zend_class_implements()
2003-10-15 06:24:17 +00:00
Shane Caraveo
05152d3845
this little piggy broke lots of things...eg. _function_check_flag in reflection api.
2003-10-05 01:54:46 +00:00
Moriyoshi Koizumi
be5cbf9999
Ensure lval to have a *boolean* value.
2003-10-03 16:57:41 +00:00
Marcus Boerger
7bbbd5035d
Fix handling of static properties initialized to arrays
2003-09-03 18:01:22 +00:00
Marcus Boerger
047a574e6c
- Add zend_merge_properties() which is designed to serve *_fetch_object().
...
- Explain drawbacks of object_and_properties_init and zend_merge_properties.
#
# I guess we can live with the purity problem of potentially calling __set()
# of an object which wasn't already ctored.
#
2003-08-29 23:27:22 +00:00
Marcus Boerger
19ec7a09fc
- Provide appropriate way to destroy internal zval's.
...
- Allow internal zval's of type string and disallow complex types.
- Define the default string for extensions at class level instead of ctor.
2003-08-24 17:32:47 +00:00
Marcus Boerger
cec053f707
Don't identify alias'ed functions
2003-08-24 16:35:58 +00:00
Marcus Boerger
eef1b7b1e8
One of PPP is needed, too
2003-08-24 11:24:10 +00:00
Marcus Boerger
1c2512ddea
- Add fn_flag ZEND_ACC_ALIAS
...
- Unify way of function_entry generation by new macro ZEND_FENTRY
2003-08-24 11:09:45 +00:00
Marcus Boerger
38805f2809
Add property read code and use that in default exception class
2003-08-24 00:36:53 +00:00
Marcus Boerger
baaa4c903d
Internal classes can now have default properties.
2003-08-23 19:37:39 +00:00
Marcus Boerger
717b5afe1d
Fix warnings
2003-08-17 18:56:54 +00:00
Sascha Schumann
c7d9be97ca
explicitly cast size_t to zend_uint to avoid warnings on 64 bit platforms.
2003-08-17 13:45:51 +00:00
Marcus Boerger
fe1a086d19
Simplify abstract method declaration
2003-08-16 20:46:22 +00:00
Zeev Suraski
92b4013e8d
Try to put an end to the endless number of call_user_function variants.
...
zend_call_function() now takes a structure that should contain all of the
necessary information. If further information is necessary in the future,
then we'll be able to add it without having to introduce a new function.
As for caching - the 2nd, optional argument is a struct that can hold all
of the information that's necessary to invoke the function, including its
handler, scope and object it operates on (if any). Note that you may only
use a cache if the arguments you provide to zend_call_function() are
identical to the ones of the last call, except for the argument and return
value information.
The recently introduced fast_call_user_function() was removed
I fixed most of the places that used fast_call_user_function() to use caching
but there are still some that need to be fixed (XML and reflection)
2003-08-05 10:24:40 +00:00
Zeev Suraski
f8bbafd604
ntroduce infrastructure for supplying information about arguments,
...
including:
- Whether or not to pass by ref (replaces the old arg_types, with arg_info)
- Argument name (for future use, maybe introspection)
- Class/Interface name (for type hints)
- If a class/interface name is available, whether to allow a null instance
Both user and builtin functions share the same data structures.
To declare a builtin function that expects its first arg to be an instance
of class 'Person', its second argument as a regular arg, and its third by
reference, use:
ZEND_BEGIN_ARG_INFO(my_func_arg_info, 0)
ZEND_ARG_OBJ_INFO(0, someone, Person, 1)
ZEND_ARG_PASS_INFO(0)
ZEND_ARG_PASS_INFO(1)
ZEND_END_ARG_INFO();
and use my_func_arg_info as the arg_info parameter to the ZEND_FE() family
of macros.
The first arg to each ZEND_ARG_*() macro is whether or not to pass by ref.
The boolean arg to ZEND_BEGIN_ARG_INFO() tells the engine whether to treat
the arguments for which there's no explicit information as pass by reference
or not.
The boolean argument to ZEND_ARG_OBJ_INFO() (4th arg) is whether or not to allownull values.
2003-08-03 17:40:44 +00:00
Zeev Suraski
2fd4ffce17
Add exec_finished() callback for modules - this is the last place where the
...
modules may touch the symbol table reliably
2003-07-30 16:13:52 +00:00
George Schlossnagle
0229aad042
reverted at Andi's request. replaced with more generic wrapper.
2003-07-21 06:05:58 +00:00
Zeev Suraski
134338522f
Rework zend_do_declare_property and related code into one code base
2003-07-07 16:22:56 +00:00
George Schlossnagle
daf3ac65ea
add convenience functions or adding class properties. Ok'd for commit by Andi.
2003-07-06 19:55:20 +00:00
James Cox
f68c7ff249
updating license information in the headers.
2003-06-10 20:04:29 +00:00
Stanislav Malyshev
039c174337
rm namespace leftovers
2003-06-04 08:16:55 +00:00
Stanislav Malyshev
f7f5a5ea6b
MEGA-patch: namespaces are R.I.P.
2003-06-02 12:13:11 +00:00
Marcus Boerger
b1b8ed64dc
Revert to sizeof()
2003-05-23 18:37:36 +00:00
Sterling Hughes
909eafc2b0
add fast_call_user_function()
2003-05-20 16:44:42 +00:00
Hartmut Holzgraefe
cb71ac03cb
C++ compile fixes
2003-05-20 13:21:26 +00:00
Marcus Boerger
29a3586f7b
Allow functions in internal namespaces (for example factories)
2003-05-04 22:49:31 +00:00
Stanislav Malyshev
ad01495a48
Change get_class() so that it returns qualified names for namespaced
...
classes.
*HEADS UP*: get_class_name() handler interface is changed, now it should
allocate the space it returns with emalloc, and the users free it. If
anyone has problems with it or has suggestions how to do it without this -
please tell.
Also: make function_exists() understand namespaces.
2003-04-21 17:01:34 +00:00
Andrei Zmievski
e5f4c783bc
Rename zend_register_internal_class_in_ns() to a better, less filling,
...
but with the same great taste zend_register_internal_ns_class().
2003-04-08 17:40:56 +00:00
Andrei Zmievski
81482833b5
Introduce ZEND_ME() and ZEND_METHOD() macros. Use these for declaring
...
class methods to avoid name collisions.
2003-04-04 15:38:20 +00:00
Stanislav Malyshev
6ed305945d
Fix namespace issues
2003-04-04 12:25:47 +00:00
Andrei Zmievski
3d62a3491e
- Add zend_register_internal_namespace() API function.
...
- Add zend_register_internal_class_in_ns() API function.
2003-04-02 20:27:44 +00:00
Sebastian Bergmann
3fc852824f
Eliminate TSRMLS_FETCH() calls in destroy_op_array() and zend_get_class_entry().
2003-03-26 07:44:11 +00:00
Harald Radi
a700180f5d
commiting zend_disable_class patch for George:
...
disabled classes will be replaced by dummy classes
that print a warning upon instanciation
2003-03-03 01:22:43 +00:00
Ilia Alshanetsky
a2bd043e7b
Removed zend_get_module(), this function is not used by anything and more
...
importantly. it does not work. It tries to find data based on numeric keys
in hash table using string keys.
2003-02-12 16:50:51 +00:00
Georg Richter
325f9edb07
fixed zend_parse_method_param
2003-02-08 20:54:02 +00:00
Sebastian Bergmann
0026239c6a
Build fix.
2003-02-03 09:42:53 +00:00
Harald Radi
c4528f82a0
extend the parameter parsing API by two functions
...
for parsing method parameters with automatic
detection if the function was called as such or as
a class method (with a valid this ptr).
if called as a function the first parameter has to be
the object it is operating on, if called as a method
this is used.
#not yet testet, only commiting so that georg can
#continue working on ext/mysqli
2003-02-02 23:30:14 +00:00
foobar
333406bdc2
- Added some missing CVS $Id$ tags, headers and footers.
2003-02-01 01:49:15 +00:00
Stanislav Malyshev
eccc536883
Make add_property_ functions work via write_property handler
2003-01-14 12:15:09 +00:00
Stanislav Malyshev
2ae8d124ce
Remove handle_property from here too
2003-01-12 17:22:35 +00:00
Zeev Suraski
ace55f3251
Unify and make it easy to add code into the broken-string error handler
2003-01-09 15:32:22 +00:00
Sebastian Bergmann
2c5d4b8c23
Bump year.
2002-12-31 15:59:15 +00:00
Andi Gutmans
e8214a3384
- Commit Marcus' cleanup of abstract and static inheritance and improve
...
- error messages
2002-11-23 20:44:12 +00:00
Andrei Zmievski
a35c61af3c
MFZE1
2002-09-16 01:36:48 +00:00
Harald Radi
3738a6edd0
only check for an available class entry instead of
...
the std_object_handlers on some places
#some linuxtag work
2002-06-09 14:20:37 +00:00
Zeev Suraski
0450ab9462
MFZE1 (Expose more C++ APIs)
2002-05-20 07:17:30 +00:00
Stanislav Malyshev
7a067547cd
Make OBJCE return zend_class_entry*, also some cleanups
2002-04-30 09:56:48 +00:00
Harald Radi
51e797f1e3
some type cleanup work
2002-04-23 18:06:54 +00:00
Harald Radi
6ac6cb1040
added get_class_entry callback handler to the
...
object handlers structure
2002-04-22 14:22:27 +00:00
Stanislav Malyshev
6608f07322
Mega-commit: Enter the new object model
...
Note: only standard Zend objects are working now. This is definitely going to
break custom objects like COM, Java, etc. - this will be fixed later.
Also, this may break other things that access objects' internals directly.
2002-02-07 14:08:43 +00:00
Sebastian Bergmann
62dc854bb0
Happy New Year.
2002-01-06 15:21:36 +00:00
Derick Rethans
9b391a83c2
- MFZE1 for exit fix, exposing current function name in error messages and
...
exposing zend_zval_type_name().
2002-01-03 14:19:13 +00:00
Andi Gutmans
73b159e056
- Experimental support for destructors. We need to see if destructors
...
- will actually work well in the context of PHP so we should consider this
- as experimental. Possible problems might be that when the constructor is
- run PHP might not be in a stable state.
2001-12-27 14:35:09 +00:00
Andi Gutmans
29ea3da2f8
- Pretty much finish _clone() support
2001-12-26 19:54:20 +00:00
Sebastian Bergmann
d863d52a5d
Update headers.
2001-12-11 15:16:21 +00:00
Andi Gutmans
2eccd95ca4
- Add some initializations
2001-11-03 12:19:52 +00:00
Sebastian Bergmann
01850714ee
MFZE1: Introduced extension version numbers (Stig)
2001-10-12 18:40:30 +00:00
Stanislav Malyshev
f5c5986344
_FUNCTION is used in definition, so use _D
2001-08-12 14:58:57 +00:00
Andi Gutmans
76a7a5bc18
- More work on making objects work
2001-08-11 18:26:47 +00:00
Zeev Suraski
4f6c95d17a
Whitespace
2001-08-11 15:56:40 +00:00
Andi Gutmans
8b6f848cbb
- Merge from Engine 1
2001-08-10 16:19:49 +00:00
Andi Gutmans
61edd1bf41
- Merge from Engine 1 CVS
2001-08-10 13:39:35 +00:00
Andi Gutmans
54e871a9cc
- Use Z_ macros
2001-08-06 02:48:55 +00:00
Zeev Suraski
fcc035108f
TSRMLS_FETCH work
2001-08-05 01:37:10 +00:00
Zeev Suraski
d76cf1da18
More TSRMLS_FETCH work
2001-07-31 04:53:54 +00:00
Zeev Suraski
4187439cff
More TSRMLS_FETCH work
2001-07-30 07:43:02 +00:00
Zeev Suraski
b52554951f
More TSRMLS_FETCH work, and get rid of redundant ParametersPassedByRef
2001-07-30 05:34:21 +00:00
Andrei Zmievski
3839af35dc
Let's be consisten and keep TSRMLS_DC declaration after num_args.
2001-07-30 05:05:26 +00:00
Zeev Suraski
8ce8324e59
More TSRMLS_FETCH annihilation
2001-07-30 04:54:16 +00:00
Zeev Suraski
11e5d2f229
Get rid of more TSRMLS_FETCH's
2001-07-30 02:07:52 +00:00
Zeev Suraski
b57703825b
Avoid TSRMLS_FETCH()'s (still lots of work left)
2001-07-30 01:48:22 +00:00
Zeev Suraski
2c254ba762
Get rid of ELS_*(), and use TSRMLS_*() instead.
...
This patch is *bound* to break some files, as I must have had typos somewhere.
If you use any uncommon extension, please try to build it...
2001-07-27 10:10:39 +00:00
Zeev Suraski
43ebb86806
Fix bug #10287 - avoid crashing under a bogus usage of list()
2001-07-16 15:48:31 +00:00
Thies C. Arntzen
07ea068454
fixed ZVAL_FALSE and ZVAL_TRUE
2001-07-11 12:40:29 +00:00
Thies C. Arntzen
bcddfd474a
cleaned up the RETVAL_ RETURN_ and ZVAL_ macros
...
added check for \0 at end-of-string at some places. all strings in PHP
have to be terminated with \0 because 3th party libraries might not be
binary-safe.
2001-07-10 08:20:20 +00:00
Andrei Zmievski
58f88057b1
Adding new parameter parsing API.
2001-07-09 18:51:29 +00:00
Andi Gutmans
02af513c0d
- Patch from Jason Greene.
...
- Make it easier to write PHP function definitions in more than just one .c
file while accessing the same module globals.
2001-04-19 17:51:23 +00:00
Andrei Zmievski
13148b5491
Improve zend_is_callable() to the point where it's actually useful.
...
Now it just needs to be invoked everywhere in PHP where a callback is
expected.
2001-03-12 03:08:28 +00:00
Andi Gutmans
7080fa5b53
- Rename modules.h to zend_modules.h
2001-02-26 18:18:34 +00:00
Andi Gutmans
d2c9e8074c
- Update copyright year
2001-02-26 05:43:27 +00:00
Andrei Zmievski
8fe036596f
Added zend_is_callable() function that checks whether passed zval
...
represents a valid and exiting callable construct.
2001-02-01 05:01:26 +00:00
Andi Gutmans
0611acb910
- Change unset() functions to null(). unset() is legacy
2001-01-31 21:53:30 +00:00
Andi Gutmans
2f2d32fa61
- Quick fix. I'm for changing these to add_property_null() as we've nuked
...
- unset.
2001-01-31 05:21:53 +00:00
Andrei Zmievski
57f99633ce
Make add_index_zval() available to the outside world.
2001-01-22 20:40:41 +00:00
Andi Gutmans
ef95a346f1
- Patch from Sterling. Add API calls to add zval's as array indeces/
...
object properties. Add _ex functions which take the string length as an
argument for better performance.
2001-01-20 19:16:38 +00:00
Andi Gutmans
0a3761e283
- For Sterling. I wonder if not all of the API functions should take the
...
- key_length as a parameter in order to save that strlen().
2001-01-19 08:40:49 +00:00
Zeev Suraski
be895bcb96
Fix call_user_function() with objects - it could leak under certain circumstances
2000-12-13 22:50:10 +00:00
Stanislav Malyshev
1f793fd06c
Fix EMPTY_STRING macros
2000-08-17 08:48:16 +00:00
Sascha Schumann
b982307dd1
Change header protection macros to conform to standard.
...
Draft 3 of IEEE 1003.1 200x, "2.2 The Compilation Environment"
All identifiers that begin with an underscore and either an uppercase
letter or another underscore are always reserved for any use by the
implementation.
2000-07-02 23:54:19 +00:00
Zeev Suraski
3cda6a750e
Allow the symbol_table to be passed to call_user_function_ex()
2000-06-17 16:50:38 +00:00
Sascha Schumann
df74f1dfab
Add optional support for C0x inline semantics.
...
These are enabled by specifying `--enable-c0x-inline' on the command
line. We might add an autoconf check for this particular feature
later.
2000-06-13 17:58:33 +00:00
Zeev Suraski
fce92e3ca2
Avoid using E_CORE_* errorlevels in any place which is not in the global startup sequence
2000-06-12 20:22:17 +00:00
Andi Gutmans
eb0e694665
- Andrei, this is for you!
...
- Add zend_register_internal_class_ex() which allows you to specify a
- parent to inherit from. You can either specify the parent directly or via
- its name.
2000-06-09 14:40:14 +00:00
Andi Gutmans
6ce07a85e4
- Change register_internal_class to zend_register_internal_class for
...
- consistency.
- Andrei: I'm still thinking about the _ex you want me to implement
2000-06-09 08:41:59 +00:00
Zeev Suraski
bc7abb3300
Allow disabling of functions for security reasons
2000-05-29 17:16:52 +00:00
Sascha Schumann
0b6d923bae
Add ZEND_GET_MODULE(name). This is a short-cut for the common
...
get_module function.
2000-05-02 01:33:18 +00:00
Zeev Suraski
131d9cb2dc
*** empty log message ***
2000-04-01 16:23:13 +00:00