Felipe Pena
2b10c53ae1
MFH: Dropped zend.ze1_compatibility_mode
...
[DOC]
2008-03-18 14:10:45 +00:00
Antony Dovgal
cbdc4b9af8
fix segfault when trying to clone uncloneable object because of zend.ze1_compatibility_mode which we should have got rid of years ago
2008-03-06 17:28:26 +00:00
Sebastian Bergmann
1b03ecf1c7
MFH: Fugbix typo.
2008-02-19 06:52:43 +00:00
Marcus Boerger
da2a1799ca
- MFH Windows build fix
2008-02-09 21:22:31 +00:00
Marcus Boerger
c7f71a7dd0
- MFH Simplify
2008-02-07 18:42:01 +00:00
Marcus Boerger
b7b41a6612
- MFH Fix missing check and tests
2008-02-06 20:40:19 +00:00
Marcus Boerger
0976a2646a
- MFH Fix cross class tree reference issues with callbacks (colder,helly)
2008-02-05 19:08:24 +00:00
Antony Dovgal
4904889568
MFH: fix leak appearing when calling non-static protected or private methods as static
2008-02-02 22:29:41 +00:00
Marcus Boerger
da5b979f88
- MFH Add comment that explains why we need E_ERROR in those cases
2008-02-02 15:48:04 +00:00
Marcus Boerger
ac8e76c714
- Fix remaining issue (should be last one)
2008-02-02 15:18:30 +00:00
Marcus Boerger
7769fda15c
- Drop useless TODO, this would need to be fixed in a generic way
2008-02-02 14:19:03 +00:00
Marcus Boerger
95a3cccf5f
- Fix flag handling in message generation
2008-02-02 13:56:59 +00:00
Rasmus Lerdorf
539eaceddc
What's the [0] for here? Looks wrong and causes stuff to segv
2008-02-02 01:12:01 +00:00
Rasmus Lerdorf
45db15ad4e
Small tweak. Need to make array and string callback syntax behave the
...
same way. Also change "cannot" to "should not" since we obviously
"can" make the call.
2008-02-01 23:09:10 +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
03c018d34e
Fixed GC bug
2008-01-24 10:49:26 +00:00
Dmitry Stogov
0b6825102d
Changed EG(argument_stack) implementation.
2008-01-24 09:41:39 +00:00
Sebastian Bergmann
d1dded8751
MFH: Bump copyright year, 2 of 2.
2007-12-31 07:17:19 +00:00
Dmitry Stogov
43f6392e90
Fixed bug #43651 (is_callable() with one or more nonconsecutive colons crashes)
2007-12-25 10:58:30 +00:00
Ilia Alshanetsky
11a93f62ac
Fixed bug #43644 (is_callable(':') crashes)
2007-12-21 01:21:52 +00:00
Dmitry Stogov
648fbe9d58
Fixed bug #43128 (Very long class name causes segfault)
2007-11-22 13:27:13 +00:00
Dmitry Stogov
c3ab6bd091
Fixed bug #43136 (possible crash on script execution timeout. The EG(function_state_ptr) is completely removed, EG(current_execute_data)->function_state must be used instead)
2007-11-20 09:51:12 +00:00
Jani Taskinen
129c125f7f
- Fix confusing logic (sync with HEAD)
2007-11-05 11:43:31 +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
Antony Dovgal
7cef86c246
backport zero args checks from HEAD
...
(fixes error message when passing parameters to a function accepting none)
2007-10-30 10:17:41 +00:00
Sara Golemon
b38282c3fd
Backport +/* vararg specifiers from PHP6
2007-10-29 17:09:57 +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
Ilia Alshanetsky
b6817f82b1
Nuke unused vars
2007-09-30 16:53:10 +00:00
Dmitry Stogov
b20ed0d2e0
Added support for __callstatic() magic method. (Sara)
2007-09-29 08:52:40 +00:00
Dmitry Stogov
166266df68
Added support for Late Static Binding. (Dmitry, Etienne Kneuss)
2007-09-29 07:28:34 +00:00
Dmitry Stogov
f32ffe9b43
Namespaces
2007-09-28 19:52:53 +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
Antony Dovgal
90d58d4668
MFH: prohibit arguments by ref in magic methods
2007-08-31 12:36:14 +00:00
Dmitry Stogov
a382ede3e8
Fixed bug #42119 (array_push($arr,&$obj) doesn't work with zend.ze1_compatibility_mode On)
2007-08-01 10:56:45 +00:00
Antony Dovgal
0cfa8b1a66
MFH
2007-07-06 12:17:58 +00:00
Antony Dovgal
770790af04
set module in internal_function struct
2007-05-30 10:17:43 +00:00
Marcus Boerger
bfbbe4110e
- MFH Extensions are indexed lowercased and not case aware
2007-05-16 18:57:15 +00:00
Johannes Schlüter
e181e3ac7b
- MFH Fix "f" modifier for zend_parse_parameters_ex in case of a __call call
...
# only affects iterator_apply() in 5_2 branch
2007-04-30 19:54:41 +00:00
Dmitry Stogov
e1814f0dbe
WIN64 support
2007-04-16 08:09:56 +00:00
Antony Dovgal
b2e2994a6e
fix #41026 (segfault when calling "self::method()" in shutdown functions)
2007-04-09 07:30:09 +00:00
Marcus Boerger
9c5ea420ac
- MFH zend_info_call_*() stuff, fixes coverity issue #328 , noticed by tony
2007-04-05 19:49:42 +00:00
Sebastian Bergmann
4223aa4d5e
MFH: Bump year.
2007-01-01 09:36:18 +00:00
Antony Dovgal
bbb923c7a8
MFH
2006-12-20 23:01:31 +00:00
Dmitry Stogov
c1ad451c3e
Speedup array/HashTable copying. (Matt W)
2006-10-03 11:10:33 +00:00
Derick Rethans
c3e5ee1840
- Fixed typo.
2006-07-25 06:49:38 +00:00
foobar
2b8ad5a0af
MFH:- Fixed bug #38183 (disable_classes=Foobar causes disabled class to be called Foo)
2006-07-22 15:41:42 +00:00
Dmitry Stogov
9a98904ddd
Fixed wrong "type" argument to read_property() handler
2006-07-21 08:39:30 +00:00
Antony Dovgal
5ffbb85103
MFH: init variables
2006-06-20 13:28:11 +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
Marcus Boerger
5cdefd07cd
- MFH Fix issue with interfaces being inherited multiple times
2006-06-07 09:21:06 +00:00
Zeev Suraski
51d495850a
Restore ZE1 compatibility mode (Zend Engine part - the modules patches
...
will follow later today)
2006-06-05 13:58:52 +00:00
Marcus Boerger
6c0f166794
- Fix function flag check
2006-06-04 10:27:28 +00:00
Marcus Boerger
5f63b5c4ee
- Revert until there is an ok for the full patch
2006-05-27 20:16:53 +00:00
Marcus Boerger
ca6a202160
- WS
2006-05-27 19:06:06 +00:00
Marcus Boerger
493f39da2d
- MFH: Fix bug #37212 (Access to protected property of common base class)
...
By adding "zend_class_entry *ce" to struct zend_property_info;
2006-05-27 18:39:53 +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
f88a172959
- MFH Handle NULL in C argument parsing correct
2006-05-23 22:22:11 +00:00
Marcus Boerger
8d4eea74d5
- Fix double error raising issue
2006-05-23 21:50:29 +00:00
Marcus Boerger
d45250a058
- MFH code layout for __toString() use in parameter parsing api
2006-05-13 10:37:45 +00:00
Marcus Boerger
b3c3c6de14
- Missing __toString() pieces
2006-05-12 00:21:00 +00:00
Marcus Boerger
b636a534c1
- Drop second superflous zval_ptr_dtor in string arg parsing
2006-05-11 21:03:14 +00:00
Antony Dovgal
085e0fc51f
fix segfault when passing objects where strings are expected
2006-05-11 15:10:36 +00:00
Marcus Boerger
848c5c7695
- Missing __tostring() conversion snippets
2006-05-10 19:36:47 +00:00
Antony Dovgal
4f37b2f354
nuke extra semi-colon
2006-05-10 13:49:27 +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
Dmitry Stogov
bdef85af21
Fixed bug #37138 (__autoload tries to load callback'ed self and parent)
2006-04-20 07:30:38 +00:00
Marcus Boerger
041e7470b1
- Initialized callable_name if present
2006-03-23 13:14:55 +00:00
Dmitry Stogov
c31c984365
Optimization of module unloading (temporary modules can be only in the end)
2006-03-17 08:34:16 +00:00
Marcus Boerger
35ce5db25e
- Add missing function for completeness
2006-03-05 16:12:24 +00:00
Marcus Boerger
3840e428bb
- MFH Fix string-conversion and const updating
2006-03-01 17:21:04 +00:00
Marcus Boerger
2e37e86366
- MFH Argument parsing specifier 'C', which is necessary for SPL already
2006-02-27 22:23:21 +00:00
Marcus Boerger
941b0651dc
- MFH: Function deprecation flag
2006-02-25 18:25:45 +00:00
Marcus Boerger
f0d9ae46c3
- Fix method flag handling
2006-02-19 10:39:31 +00:00
Antony Dovgal
a3b941642c
init variables
2006-02-06 20:37:11 +00:00
Marcus Boerger
77915bc208
- MFH
2006-01-25 22:03:18 +00:00
Marcus Boerger
add3c79a23
- Fixed bug #36011
2006-01-14 15:22:40 +00:00
Antony Dovgal
4972b45520
fix typo in the code and related tests
2006-01-06 20:55:14 +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
Antony Dovgal
794c2e8e5d
change zend_read_property() to allocate property zval too
2005-11-23 18:51:44 +00:00
Antony Dovgal
1e93bb16e4
fix #35336 (crash on PDO::FETCH_CLASS + __set())
2005-11-23 11:15:11 +00:00
Ilia Alshanetsky
b5c8fcb5fa
Allow zend_parse_parameters to handle non-well formed integers, but raise
...
E_NOTICE in the process.
2005-11-17 00:19:23 +00:00
Marcus Boerger
83bdbe5b53
- Fix static check in zend_is_callable_ex()
...
- Fix/speedup zend_make_callable()
# Actually the ...STATIC... flag in zend_is_callable_ex() *must* go, too.
# We keep it for the moment to support old stuff and skip analyzing them
# in detail...
2005-11-03 23:45:18 +00:00
Marcus Boerger
a4bd0d6a25
- Add missing cases and checks
2005-11-02 20:30:13 +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
Ilia Alshanetsky
3a9cdbfd41
Fixed memory leak on error
2005-10-27 14:07: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
Antony Dovgal
d67821cd02
ws fix
2005-10-13 09:48:38 +00:00
Dmitry Stogov
594fd87ca7
Fixed bug #34678 (__call(), is_callable() and static methods)
2005-10-03 09:12:19 +00:00
Dmitry Stogov
248345d920
Support for class constants and static members for internal classes
2005-09-01 10:05:32 +00:00
Dmitry Stogov
a0d479994f
Fixed typo (ZVAL_LONG() -> ZVAL_DOUBLE())
2005-08-12 14:56:59 +00:00
foobar
0f2986fe9d
- Show the dependancy name we could not find (req_mod is null here when it is not found :)
2005-08-08 14:25:05 +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
Marcus Boerger
1fad73d13d
- Fix #33853
...
# When a static class function is being called then we first look for the
# class with name unchanged. If the class is then not available it the
# method can never be callable, thus we return 0. If the class is available
# the lowercased name will be broken up into class and function and 1 is
# being returned.
2005-07-25 20:24:11 +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
2ca2dc0b08
Restored old behavior of zend_statup_module()
2005-06-30 13:43:00 +00:00
Stanislav Malyshev
9727e938ee
add comment
2005-06-29 08:43:38 +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
Antony Dovgal
baf8cadeff
improve error messages when error raised from an internal class (do not hide class name)
2005-06-17 11:25:31 +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
8b7a03c889
Fixed bug #30332 (zend.ze1_compatibility_mode isnt fully compatable with array_push())
2005-04-29 07:59:04 +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
Dmitry Stogov
5f600cdf57
Fixed bug #30702 (cannot initialize class variable from class constant)
2005-04-26 09:27:28 +00:00
Marcus Boerger
67a226d910
- Add ReflectionProperty::getDocComment()
2005-04-19 22:04:59 +00:00
Andrei Zmievski
9bf6a7f229
internal_function->fn_flags is not initialized at this point
2005-03-21 06:20:17 +00:00
Wez Furlong
7de1d279cc
don't call rshutdown twice for dl()'d modules.
...
Spotted by Andrei.
2005-03-16 04:18:42 +00:00
Wez Furlong
35b0b8de99
fix shutdown so that dl()'d modules are unloaded after all the dtors have
...
been called.
2005-03-15 23:46:29 +00:00
Marcus Boerger
c17d3dbbb7
- A little optimization to prevent problems when trying to reimplement an
...
interface inherited from an interfaces that was just implemented......
2005-02-17 21:05:04 +00:00
Marcus Boerger
c88da2bd92
- No C++ ruleZ here
2005-02-17 20:54:56 +00:00
Marcus Boerger
82ccc25113
- Actually we must do this in two steps: 1st resize the table and set all
...
interfaces, 2nd implement the interfaces
2005-02-17 20:49:56 +00:00
Marcus Boerger
02c35975c0
- Incrementation is done elsewhere
2005-02-17 20:28:46 +00:00
Marcus Boerger
a7e4f84c5d
- Fix windows build (funny MS compiler)
2005-02-17 20:15:40 +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
4908642c8c
- Unload on MAC OS X (shouldn't be a reason not to)
2005-01-15 00:11:20 +00:00
Rasmus Lerdorf
2a3ca10a61
Fix OSX DL_UNLOAD macro and actually use it to make shared extensions
...
work on OSX.
2005-01-10 21:57:30 +00:00
Sebastian Bergmann
9a92e31cdd
Patch by Joe Orton <jorton@redhat.com>.
2004-11-02 13:10:37 +00:00
Marcus Boerger
aa247a3276
- MFB (synch correctly not only for one problem)
2004-09-29 20:57:07 +00:00
Marcus Boerger
0ec6eb7aad
- Refix the fix
...
# This somehow got lost and was then readded by Andi in 1.258 at the wrong
# position. Obviously we need to separate the argument first and convert it
# afterwards as done in 5.0.*.
2004-09-29 20:24:35 +00:00
Marcus Boerger
e39f3f3f48
Simplify/Optmize magic method calls (__get/__set/__call/__clone/__destruct)
2004-09-28 22:55:22 +00:00
Anantha Kesari H Y
b82a18c8da
selectively avoiding module cleanup code for apache 1 build and removing a duplicate code
2004-09-24 15:40:22 +00:00
Anantha Kesari H Y
5af07c3c8b
Aligned the ifdef NETWARE blocks to first column.
2004-09-22 14:31:21 +00:00
Anantha Kesari H Y
8478f5e38e
When Apache is unloaded, it calls dlclose on all the PHP extensions
...
that are loaded in memory. In the case of Apache 1.3, this call is blocking indefinitely. As a work around, this call is bypassed for Apache 1.3 build on NetWare only. This means that none of the loaded PHP extensions are unloaded. They will have to be manually unloaded before re-loading the Apache 1.3 again.
2004-09-22 13:29:08 +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
f20f992ddd
- Fix the fix.
2004-09-09 00:15:39 +00:00
Andi Gutmans
d7422e3821
- Don't destroy object when calling overloaded cast method in
...
- zend_parse_parameters()
2004-09-04 17:03:45 +00:00
Marcus Boerger
87187da066
- Add missing brackets
2004-08-24 18:47:18 +00:00
Marcus Boerger
a6276a2414
Fix #28641 : Instance of Interface
2004-06-05 14:59:21 +00:00
Marcus Boerger
c8e72410be
- Need to operate on module pointer in hash table
2004-05-18 21:19:15 +00:00
Stanislav Malyshev
da26db3054
Z_TYPE_P is for zvals
2004-05-18 16:13:57 +00:00
Wez Furlong
b949bfe651
Register according to the type specified by the module.
...
(Helps to fix dl() bug)
2004-05-18 15:26:13 +00:00
Marcus Boerger
aa7454aba4
- Centralize register and hash operations for startup/register_module
...
in new zend_register_module_ex().
2004-05-12 23:05:28 +00:00
Marcus Boerger
950ddcc9c2
- Revert to 1.249
2004-05-12 23:03:38 +00:00
Marcus Boerger
f571b188f9
Don't load modules twice
2004-05-01 20:34:15 +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
Marcus Boerger
16a4376f53
Use lowercasing here
2004-03-28 23:56:18 +00:00
Marcus Boerger
aea24b2a79
Force destructors to have empty signatures
2004-03-26 20:05:35 +00:00
Marcus Boerger
50ee116f08
Clearify the different method/class flags (as discussed with Andi).
2004-03-09 16:38:37 +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
Marcus Boerger
7fdd68af8b
Add some comments
2004-02-27 18:20:53 +00:00
Marcus Boerger
f449c8fdf7
Fixes for abstract classes/methods
2004-02-27 09:14:55 +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
Zeev Suraski
36a751840d
- Abstract methods cannot have defaults for arguments
...
- Make function foo($a, $b=null) satisfy both foo($a) and foo($a, $b)
prototypes
2004-02-25 09:25:37 +00:00
Marcus Boerger
ce8f77f7b1
Fix class flags when handling abstract methods
2004-02-24 23:39:12 +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
3ca44539a1
Switch from ZEND_ACC_DYNAMIC to ZEND_ACC_ALLOW_STATIC and disallow calling
...
internal non-static methods statically.
# As discussed with Zeev:
# - For BC standard userspace methods allow this with an E_STRICT message.
# - If you want to implement an internal method taht can be called both
# statically and non-statically then use flag ZEND_ACC_ALLOW_STATIC.
# - Magic user space methods __*() cannot and __construct, __destruct,
# __clone can never be called statically.
2004-01-24 16:59:24 +00:00
Marcus Boerger
6020ffd007
Simplify detection of methods that must be called dynamic (with object)
2004-01-23 22:04:42 +00:00
Marcus Boerger
7c2e02d380
Disallow static declaration of clone
2004-01-23 20:52:39 +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
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
Stanislav Malyshev
bced21b357
Fix bug #26543 - check parent:: and self:: in class names
2004-01-05 12:10:35 +00:00
Derick Rethans
6923a16c26
- Fixed var_export() to show public, protected and private modifiers properly.
...
- Exported (un)mangle_property_name.
2004-01-03 13:51:02 +00:00
Marcus Boerger
2a6ec5ccb4
WS
2003-12-28 16:20:06 +00:00
Wez Furlong
273c19334b
export these symbols for use by SPL as a shared extension
2003-12-22 13:09:15 +00:00
Andi Gutmans
23b231d0eb
- Revert the revert of these patches. This overloading can only be used
...
- by C extensions such as SimpleXML and *NOT* PHP code. Reasons given
- on the mailing list and problem with reentrancy inside the opcodes.
2003-12-02 21:09:24 +00:00
Andi Gutmans
ee64b61e94
- Revert auto-conversion in parameter API
2003-12-01 11:50:57 +00:00
Ilia Alshanetsky
7203684680
Add removed lcname, it is still needed.
2003-11-28 14:42:25 +00:00
Marcus Boerger
1586f714fe
Convert objects to string if string is required by newer parameter parsing
...
since we do this for older parameter parsing does so too.
2003-11-27 19:24:38 +00:00
Andi Gutmans
d344648b07
- Fix __autoload() to preserve class case.
...
- Heads up, this patch might break stuff so please let me know if you
- bump into any problems.
2003-11-24 18:13:29 +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
b28db6a2d3
Revert accidental commit
2003-10-24 18:42:00 +00:00
Marcus Boerger
071eaf8576
Zend/ZEND_CHANGES
2003-10-24 18:24:28 +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
4073a08488
Add oo support function zend_class_implements()
2003-10-15 06:24:17 +00:00
Moriyoshi Koizumi
4859431fc1
Fixed bug #24766 (strange result array from unpack())
2003-10-03 22:41:43 +00:00
Marcus Boerger
87045df4ce
Add missing check
2003-09-18 10:21:38 +00:00
Marcus Boerger
95649ab260
Tests show updating consts must happen once at runtime (revert optimization).
...
Add tests for static properties.
2003-09-04 16:00:01 +00:00
Marcus Boerger
7bbbd5035d
Fix handling of static properties initialized to arrays
2003-09-03 18:01:22 +00:00
Marcus Boerger
1b39a5aa2c
Fix static properties.
...
#
# There's only an errormessage missing which i'll wommit as soon as i find out
# how to do it best. But besides that damn message everything works now and all
# inheritance rules apply.
#
2003-09-03 16:13:40 +00:00
Marcus Boerger
e569b5aee5
Allow redeclaring of protected properties as public (for internal classes).
...
# See http://news.php.net/article.php?group=php.zend-engine.cvs&article=1737
# for the part not fixed (e.g. property redeclaration of userland classes)
2003-09-02 20:49:42 +00:00
Marcus Boerger
0f3374615b
Currently we cannot support static ctor/dtor
2003-09-02 13:26:25 +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
f9cebab0cb
Add missing check
2003-08-24 22:45:59 +00:00
Marcus Boerger
9603e44eb6
Fix memory source of string duplication for non internal properties
2003-08-24 18:47:11 +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
Zeev Suraski
ea36fc4143
Use ""'s if you want empty strings. We want to crash on errors.
2003-08-24 16:27:01 +00:00
Marcus Boerger
b84e9db3b8
Allow NULL, too
2003-08-24 16:13:23 +00:00
Marcus Boerger
3605be8a29
Fix fn_flags handling
2003-08-24 11:07:30 +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
fbda310a41
- Flag ctor/dtor methods
...
- Use this to prevent memleaks when an exception gets thrown in ctors.
# I added the dtor flags for consistency, atm a compareable check in
# isn't necessary for destruction. But anyway i'll use this for the
# Relection API too.
2003-08-23 15:38:58 +00:00
Marcus Boerger
fda38bf2ff
If ce not given than any object would do
2003-08-21 15:24:33 +00:00
Marcus Boerger
80b3498839
Paramspec 'O' / zend_parse_method_params(): only if given check the class type
2003-08-21 14:39:17 +00:00
Zeev Suraski
0dba58c373
Improve tracking
2003-08-18 21:17:26 +00:00
Marcus Boerger
82050ae8bc
- Show class names in error messages when dealing with methods
...
- Mark class as abstract if it gets an abstract method
2003-08-17 00:57:35 +00:00
Marcus Boerger
fe1a086d19
Simplify abstract method declaration
2003-08-16 20:46:22 +00:00
Marcus Boerger
e08aedf5ff
- Show classes in case of methods
...
- Using sprintf here was a bad idea
2003-08-13 07:02:44 +00:00
Zeev Suraski
ef5a79bfed
Ensure functions have a valid access level
2003-08-03 21:06:23 +00:00
Zeev Suraski
e3f4147931
Default to public
2003-08-03 21:04:39 +00:00
Marcus Boerger
8c614ddda4
Not needed, will be copied from ptr->flags later
2003-08-03 20:49:27 +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
7112d3a3f8
No need for this initialization - this function initializes all of the
...
elements of zend_internal_function
2003-08-03 10:32:40 +00:00
Marcus Boerger
4f1e331c4d
Initialize all struct members: Necessary for reflection
2003-08-02 19:03:14 +00:00
Wez Furlong
0b6f7bddf4
fix usage of instanceof here too
2003-08-02 11:43:55 +00:00