Zeev Suraski
8013d5fa39
Fix try/catch block logic
2004-02-03 13:42:41 +00:00
Zeev Suraski
9e60cb553f
Rewrote exception support. Fixes a few limitations and bugs in the old
...
implementation, and allows exceptions to 'fire' much earlier than before.
Instructions on how to use the new mechanism will follow on internals@
shortly...
Note - this (most probably) breaks the current implementation of
set_exception_handler()
2004-02-03 12:17:09 +00:00
Ilia Alshanetsky
b4e882d013
Apply the same parse error handling to (include|require)_once as the one for
...
their non-once counterparts.
2004-01-30 02:22:17 +00:00
Zeev Suraski
ae0e9e62dd
Whitespace
2004-01-28 10:24:57 +00:00
Ilia Alshanetsky
0cb89236a3
Fixed bug #26814 (On parse error include included file, terminate
...
execution script).
2004-01-25 23:54:12 +00:00
Marcus Boerger
6e2cf148a4
Respect proeprty visibility in foreach
2004-01-25 13:32:02 +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
Sebastian Bergmann
1e902b696d
Change message as proposed by Jon.
2004-01-24 04:59:47 +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
79e7145cc7
Disallow calling __clone/__construct/__destruct static
...
Send an E_STRICT when calling a non static method static
2004-01-23 20:58:23 +00:00
Andi Gutmans
21f09643ec
- Hopefully fix bug #26696 .
...
- Please let me know if hell-breaks loose
2004-01-19 12:22:02 +00:00
Stanislav Malyshev
e321eba06b
Fix Bug #26077 - memory leak when new() result is not assigned
...
and no constructor defined
2004-01-09 13:52:19 +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
1d2b4bcc48
Reimplement part of Bug #24608 that was reverted too
2004-01-07 00:24:58 +00:00
Marcus Boerger
82f0c9e7aa
Revert patch that allowed to call sttaic methods via $method()
2004-01-07 00:02:04 +00:00
Marcus Boerger
18ea05b746
Fixed bug #26802
2004-01-05 22:45:11 +00:00
Stanislav Malyshev
1e11e7401c
Bug #24608 - fix interaction between __accessors and get_property_ptr
2004-01-05 11:45:46 +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
046859493e
Fix (string) conversion
2003-12-29 22:01:47 +00:00
Marcus Boerger
1dec2d85d6
Fix warning
2003-12-25 20:08:22 +00:00
Marcus Boerger
d28d247c4a
Fix warning
2003-12-25 19:59:38 +00:00
Dmitry Stogov
5adf502a69
Error reporting on unset string offset was added (Bug #24773 Zend/tests/bug24773.phpt)
2003-12-19 11:26:52 +00:00
Dmitry Stogov
25a811da65
Assign_op operators (+=) were fixed for elements of overloaded objects
2003-12-19 11:22:13 +00:00
Andi Gutmans
38beff5c92
- Nuke C++ comment
2003-12-18 23:30:22 +00:00
Andi Gutmans
3546d86052
- Revert patch 1.566
2003-12-18 23:28:15 +00:00
Marcus Boerger
49efcd4f27
Fixed bug #24837 Incorrect behaviour of PPP using foreach.
2003-12-18 20:07:30 +00:00
Zeev Suraski
24298e523f
This part of the if was necessary after all.
...
Refix bug #22510
2003-12-17 17:06:34 +00:00
foobar
a1a69ae16b
ws + cs (no c++ comments in c code)
2003-12-15 13:20:53 +00:00
Dmitry Stogov
ceb7c536d5
Bug #24773 was fixed (Zend/tests/bug24773.phpt)
...
Assign_op operators (+=) were fixed for elements of overloaded objects
Memory leaks during accessing ptoperies/elements of overloaded objects were fixed
2003-12-15 07:22:09 +00:00
Zeev Suraski
3a42babad6
Fix behavior of return-by-reference functions. Remove erroneous warnings,
...
add E_STRICT warnings in case you return something by reference that you're
not supposed to (anything that's not a variable, or a return-value of a
function that returned by reference).
2003-12-14 16:09:07 +00:00
Zeev Suraski
e94e3e1775
Some cleanup
2003-12-14 12:32:02 +00:00
Andi Gutmans
5ba810ee46
- Refix bug #24773
2003-12-11 10:21:16 +00:00
Marcus Boerger
b8afd8343a
read_dimension() handler might return 0, handle this.
2003-12-11 09:52:33 +00:00
Andi Gutmans
f4d6a5c7cf
- Remove two unneeded convert_to_string() (found by Marcus)
...
- Change illegal use of string offset to E_ERROR
2003-12-05 16:28:54 +00:00
Moriyoshi Koizumi
4a38020ddd
Revert crap.
2003-12-04 17:38:21 +00:00
Moriyoshi Koizumi
bcbc036ac1
Raise error in case dereference is performed on a scalar value.
2003-12-04 13:38:30 +00:00
Moriyoshi Koizumi
5fe26e76eb
This kind of error should be caught. (suggested by Andi, thanks)
2003-12-03 22:08:58 +00:00
Moriyoshi Koizumi
7ac854e710
Fix bug #24773 (unset()ing string offsets crashes PHP)
2003-12-03 19:10:38 +00:00
Derick Rethans
611219208c
- Remove newline from error message
2003-12-03 15:01:04 +00:00
Andi Gutmans
98e1a3dbcb
- Change to E_STRICT so as not to break existing scripts.
...
- Thanks Edin
2003-12-01 12:35:46 +00:00
Ilia Alshanetsky
cf196ac625
Restore original patch for bug #26281 .
...
# Andi if you have a time & interest please see if perhaps a better
# solution can be implemented. Thanks.
2003-11-29 17:33:25 +00:00
Marcus Boerger
4dba05d9cc
Add new interface ArrayAccess to use objects as Arrays
2003-11-24 20:57:54 +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
Ilia Alshanetsky
44a03df926
Cleaner patch for bug #26281 .
2003-11-21 04:45:43 +00:00
Ilia Alshanetsky
fdd902f0dd
Possible fix for bug #26281 & test case.
2003-11-19 00:41:14 +00:00
Marcus Boerger
48d249de46
Fix those warnings
2003-11-10 16:23:12 +00:00
Marcus Boerger
296529b886
Split isset/isempty for object property and object dimension hooking.
2003-11-10 16:14:44 +00:00
Marcus Boerger
5112a4ae24
Update Iterators: Call next at the correct point in time.
2003-11-07 10:47:47 +00:00
Marcus Boerger
f9d13098e7
Prevent some SEGV's when Exceptions are thorown inside iterators.
2003-11-04 22:07:59 +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
25aa8b715e
Added c-api for iterators
...
# After 4 Month work and endless discussions...
2003-10-17 17:19:44 +00:00
Zeev Suraski
2ab30d7133
Allow foo::$bar()
2003-10-09 13:44:44 +00:00
Zeev Suraski
146ba0e875
Fix bug #17997 (Warning when switch & reference are combined)
2003-10-07 16:04:08 +00:00
Zeev Suraski
3f5acc73a5
Remove redundant callback, simplify API
2003-10-05 07:52:28 +00:00
Marcus Boerger
909bd62a43
Show name of missing function as typed
2003-09-17 11:06:11 +00:00
Marcus Boerger
6bf04aff5b
Revert - need to look for a better solution
2003-09-15 21:00:38 +00:00
Marcus Boerger
16a816b92c
Bugfix #25547
2003-09-15 20:20:14 +00:00
Marcus Boerger
cdc5d69ec2
Fix foreach() called with non array
2003-09-07 23:09:30 +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
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
9702c70a35
Synch/Unify error messages related to function/method calls
2003-09-02 14:08:59 +00:00
Marcus Boerger
fb4a63a07d
Synch error message with other one to fix tests
2003-08-31 11:38:31 +00:00
Marcus Boerger
f1c92fa4c5
- Calling abstract methods should be a error for consistency reason.
...
- So in reflection_api we use the reflection_exception again.
2003-08-30 23:51:42 +00:00
Marcus Boerger
f7f49e4584
- The compiler can't detect all abstract function calls so we need to check.
...
# In this case throwing a dedicated exception is better than the error we
# show when the compiler can detect the abstract call because its run-time.
2003-08-30 11:40:37 +00:00
Sascha Schumann
2e36578cfd
Add format attribute to a number of functions
...
Kill a few warnings
2003-08-28 16:41:20 +00:00
Zeev Suraski
0ac5bbd780
Never, ever, overwrite the refcount element of a connected zval!
2003-08-24 15:59:19 +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
Wez Furlong
1a40feb965
fix build
2003-08-19 01:15:47 +00:00
Zeev Suraski
6ab9c1a336
Prevent access to internal engine functionality
2003-08-18 23:11:58 +00:00
Zeev Suraski
49c4866a47
- Improve tracking
...
- Fix several overloading issues
2003-08-18 22:31:11 +00:00
Marcus Boerger
717b5afe1d
Fix warnings
2003-08-17 18:56:54 +00:00
Marcus Boerger
6dbc0bdc35
Remove unnecessary if
2003-08-17 12:38:27 +00:00
Marcus Boerger
1e17ebe047
Put the code where it belongs - fixes a warning and confusion
2003-08-17 12:27:33 +00:00
Marcus Boerger
9c68f33b51
Implement a TBD: JMP to the end of foreach
2003-08-17 12:17:34 +00:00
Sascha Schumann
b29b4441db
Restrict scope of inline functions to compile unit
...
Submitted by: Jason Greene <jason@inetgurus.net>
2003-08-15 21:02:35 +00:00
Marcus Boerger
de32c1de56
Fix ZTS
2003-08-04 19:57:53 +00:00
Stanislav Malyshev
a3dc90d8d0
use get_obj_zval_ptr
2003-08-04 10:30:42 +00:00
Stanislav Malyshev
4d51526350
Fix #24884 - clone $this
2003-08-04 09:10:52 +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
8b4bd4a8ec
Clean up. extended_value can only contain either ZEND_UNSET_DIM or
...
ZEND_UNSET_OBJ.
2003-08-03 08:23:25 +00:00
Zeev Suraski
9d7122fb53
Generalize fetch_class
2003-08-03 08:21:08 +00:00
Marcus Boerger
4fa6eac1f8
Fix warning
2003-08-02 11:39:15 +00:00
Zeev Suraski
accd6b623b
Finish the array overloading patch
2003-07-31 09:06:11 +00:00
Zeev Suraski
d95a6916de
Cleanup
2003-07-31 08:24:55 +00:00
Andi Gutmans
8264eedc48
- Fix problem with hash when updating same bucket with data of different
...
sizes one after another.
- Fix number of arguments to read_dimension.
2003-07-30 19:47:39 +00:00
Zeev Suraski
68fa4e50f8
Get rid of an opcode
2003-07-30 17:49:27 +00:00
Zeev Suraski
f41f62c2ff
Support overloading of $foo["bar"] += "baz"
2003-07-30 17:40:54 +00:00
Zeev Suraski
c0b46739ca
Improve array overloading - support unset($foo["bar"])
2003-07-30 17:12:06 +00:00
Stanislav Malyshev
1cc89effdb
clean the right one
2003-07-27 14:02:46 +00:00
Stanislav Malyshev
9fa2d52310
make clone and throw coexist peacefully
2003-07-27 13:20:31 +00:00
Stanislav Malyshev
c3c136ea4b
fix #24635 : clean hash before putting into cache
2003-07-27 12:46:14 +00:00
Zeev Suraski
b54ae17904
Fix logic and comments in ASSIGN_DIM
2003-07-24 16:51:35 +00:00
Zeev Suraski
0610515703
Fix assignments to numeric array indices
2003-07-24 12:56:05 +00:00
Zeev Suraski
03b6af07eb
Support references in foreach()
...
Syntax:
foreach ($arr as &$val)
foreach ($arr as $key => &$val)
2003-07-24 12:38:33 +00:00
Zeev Suraski
e25d5e7f7a
Fix binary safety in foreach() keys (fixes bug #24783 )
2003-07-24 08:36:39 +00:00
Stanislav Malyshev
237116aa27
Remove namespace leftovers
2003-07-23 08:58:46 +00:00
Zeev Suraski
cf90932a05
Improve infrastructure of numeric handling of elements in symbol tables.
...
When you want to work with a symbol table, and you don't know whether you
have a numeric ("string that looks like a number") or a string element in
your hands, use zend_symtable_*() functions, in place of zend_hash_*()
functions.
2003-07-22 16:06:07 +00:00
Zeev Suraski
6a50660cfe
Fix isset()/empty() for non-trivial object elements
...
(API change - read_property now accepts an extra element)
Fixes bug #24436
2003-07-22 13:49:33 +00:00
Zeev Suraski
754529920d
Revert fix for #24729 , and refix
2003-07-21 07:42:15 +00:00
Marcus Boerger
98963e3c75
Go with a better fix for #24729
2003-07-21 07:13:26 +00:00
Marcus Boerger
8ac334289a
Bugfix #24729 = new ; causes crash when is not set
2003-07-20 20:45:59 +00:00
Marcus Boerger
7bbe6080f2
Fix uncloneable objetcs
2003-07-20 17:46:21 +00:00
Zeev Suraski
3a898f6d4e
More cleanup for assign-op handling of objects
2003-07-16 08:57:08 +00:00
Zeev Suraski
d9fb6b672a
initial refactoring for assign-op handling of objects
2003-07-08 11:52:21 +00:00
Zeev Suraski
3cfa6a68f4
Add get_dim callback
2003-07-07 10:53:27 +00:00
Zeev Suraski
ed97b9fb6e
Fix naming convention
2003-07-07 10:47:25 +00:00
Derick Rethans
d16f0a6333
- Help Zeev fixing ghosts :)
2003-07-07 10:16:05 +00:00
Zeev Suraski
938c0fbc19
Initial support for overloading of array syntax for objects (very initial)
2003-07-07 09:00:36 +00:00
Stanislav Malyshev
8f0234160a
enable Classname() constructor to be called via parent::__constructor()
2003-07-03 12:03:11 +00:00
Zeev Suraski
eb224d4a5f
Throughly fix scoping change. Fixes, among other things, bug #24403
2003-07-02 17:48:18 +00:00
Zeev Suraski
d245c52e0c
Fix for bug #22367 .
...
Heads up - this will break syntactical compatiblity, return($foo) will
not work with functions that return references - return $foo should be used
instead. It never worked well before, and caused all sorts of odd bugs.
It *might* be possible to support this specifically, albeit unlikely
2003-07-02 15:06:10 +00:00
Marcus Boerger
40dd3f4f88
__clone might not be defined
2003-07-01 21:30:21 +00:00
Marcus Boerger
a04cba504f
Fix __clone visibility
2003-07-01 20:02:27 +00:00
Andi Gutmans
288dacca0c
- ZE coding style requires if ( instead of if(
2003-06-30 20:22:35 +00:00
Zeev Suraski
53acb1814e
Semantically it's a refcount increase, not a lock...
2003-06-30 13:51:48 +00:00
Zeev Suraski
6f9d0da2e5
Fix 'global' implementation (fixes, at least, bug #24396
2003-06-30 13:47:12 +00:00
Zeev Suraski
bc4c7c6a6d
Fix crash :)
2003-06-23 22:14:38 +00:00
Stanislav Malyshev
c3fb1eac15
FIx leak
2003-06-23 14:48:59 +00:00
Zeev Suraski
cbec89a358
Fix complex expressions for class names in NEW
2003-06-22 10:50:43 +00:00
Stanislav Malyshev
b48a86581a
no need to init zval - assignment will init
2003-06-16 15:43:40 +00:00
Stanislav Malyshev
f205abb3f8
Fix bug #22592 - cascading assignments to string offsets
2003-06-16 15:41:02 +00:00
James Cox
f68c7ff249
updating license information in the headers.
2003-06-10 20:04:29 +00:00
Stanislav Malyshev
c68924dcbc
remove NS leftover
2003-06-09 14:05:12 +00:00
Zeev Suraski
910dff4c2b
Fix indirect reference calls to bogus function names
2003-06-09 07:39:55 +00:00
Zeev Suraski
faefdb7bdd
Fix handling of object property assignments in switch expressions
...
(bug #23925 )
2003-06-08 18:52:53 +00:00
Stanislav Malyshev
f7f5a5ea6b
MEGA-patch: namespaces are R.I.P.
2003-06-02 12:13:11 +00:00
Sterling Hughes
5bb29cfaeb
revert the function call caching patch until a new solution is decided
...
upon.
2003-05-31 18:31:28 +00:00
Stanislav Malyshev
95a3fd7b3c
fix crash on exceptions when return value of the inside function is used
2003-05-30 10:05:29 +00:00
Sterling Hughes
88b2f89eee
Cache function call lookups with loops (store in a temporary variable on the
...
result opline).
Assuming lazy concensus on message that GeorgeS sent to the list last week
2003-05-28 20:42:40 +00:00
Sterling Hughes
ae9106521a
move HANDLE_NUMERIC() from the hash table implementation upstream to the
...
places that actually need to use it.
2003-05-23 15:11:15 +00:00
Marcus Boerger
475594c861
No need to copy here unless implicit_clone is active (noticed by rob)
2003-05-22 19:13:20 +00:00
Marcus Boerger
7af8eadd57
Make zend_str_tolower_copy() a copy function (like stccpy).
...
Supply a dup version (like estrdup).
Fix tolower() handling.
# Havin copy and dup allows to use the faster version even with
# memory not allocated by emalloc.
2003-05-21 21:59:40 +00:00
Sterling Hughes
b5ca4de525
Bottom drawer optimization to avoid this comparison, but this OP is executed
...
quite often (all of the fetch_* ops)
2003-05-21 11:48:55 +00:00
Marcus Boerger
851bd22f82
No need to copy the zval unless __clone() is called
2003-05-20 20:20:57 +00:00
Sterling Hughes
54764e9848
use the new zend_str_tolower_copy() function
2003-05-20 18:44:24 +00:00
Marcus Boerger
37a88305e6
Fix exception memleak
2003-05-19 20:40:56 +00:00
Stanislav Malyshev
462eff3497
fix __clone
2003-05-19 17:12:56 +00:00
Marcus Boerger
fcf92e7e17
Modify the abstract error message so that it shows up to three methods not implemented.
...
# The solution is generic so that we could change the number of methods shown. But the
#problem is that error message here have a maximum length of 1024 chars.
2003-05-04 19:24:24 +00:00
Marcus Boerger
38da5d0124
Fix warnings
2003-05-04 19:11:48 +00:00
Stanislav Malyshev
c5b1314e05
make import * fail if such classes or functions already there
2003-04-21 12:14:12 +00:00
Stanislav Malyshev
800de8acb0
allow class_exists() to work with namespaces too.
...
add CLASS_IS_NAMESPACE macro
2003-04-02 15:28:31 +00:00
Andrei Zmievski
1ad9bd68ff
Stas's patch on zend_execute.c (1.448 -> 1.449) resulted in a bug where
...
the namespaced member accesses didn't work. This should hopefully
correct it.
2003-04-01 21:02:02 +00:00
Andrei Zmievski
62f9eb8006
Split ZEND_NAMESPACE into user and internal namespaces. Hope this is
...
okay with engine folks.
2003-04-01 19:37:04 +00:00
Sebastian Bergmann
8c06829b11
ZTS fix.
2003-03-30 13:40:40 +00:00
Stanislav Malyshev
bd4cdab9cf
Fix namespace switch
2003-03-30 12:39:49 +00:00
Stanislav Malyshev
1972a656e7
fix fetch_class buglet
2003-03-27 17:57:47 +00:00
Stanislav Malyshev
43e87093c1
Un-nest namespaces - now namespace X { namespace Y {} } is a parse error
...
Also refine namespaced includes
2003-03-26 20:42:23 +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
Stanislav Malyshev
268a14e049
Fix {include|require}_once error message - if open
...
fails, don't use tream, use original name.
2003-03-24 11:54:42 +00:00
Zeev Suraski
d405373270
Fix handling of ::func()
2003-03-11 23:19:45 +00:00
foobar
66052056c7
Better fix for the memleaks (bug 19943) by Moriyoshi
2003-03-07 00:28:25 +00:00
Zeev Suraski
805f98065d
Fix warnings
2003-03-06 23:45:50 +00:00
Zeev Suraski
ce4690685d
Fix error message
2003-03-06 23:09:57 +00:00
Zeev Suraski
0338111950
Require abstract classes to be explicitly declared 'abstract', in order to
...
avoid making developers traverse the entire class/interface hierarchy
before they can figure out whether a class is instantiable
(ok, so it makes sense :)
2003-03-06 22:53:23 +00:00
foobar
4a8abb2f3d
Fixed bug #19943 (the memleaks)
2003-03-06 16:27:05 +00:00
Zeev Suraski
44347cf64b
Change opcode name
2003-03-06 14:42:36 +00:00
Zeev Suraski
ff76511a08
Add class type hints
2003-03-06 14:31:17 +00:00
Zeev Suraski
6ad2420d2d
Implement $obj::static_func()
2003-03-05 13:25:33 +00:00
Zeev Suraski
26dd8492ed
Add support for interfaces
2003-03-05 11:14:44 +00:00
Stanislav Malyshev
e645f20d07
Allow namespaces to have a number of parts. I.e., now you can do:
...
namespace foo {
function abc() {}
}
...
namespace foo {
functio def() {}
}
2003-02-20 19:01:53 +00:00
Zeev Suraski
955636af69
Avoid using a C++ reserved word
2003-02-18 17:18:28 +00:00
Wez Furlong
e52aac940f
Implement simple stream support in the ZE scanners.
2003-02-18 09:37:54 +00:00
Zeev Suraski
d22cc2f329
Improve handling of static member variables
2003-02-17 14:06:39 +00:00
Zeev Suraski
ac0f7d9ed0
Fix complex cases of self-assignments (bugs #21600 , #22231 )
2003-02-16 19:18:23 +00:00
Zeev Suraski
f079bb65ff
Make EG(This) and EG(scope) available to internal methods
2003-02-16 19:10:27 +00:00
Zeev Suraski
004947221e
Revert patches - they weren't ready yet!
2003-02-16 18:34:48 +00:00
Georg Richter
60d1b378ed
fixed compiler warning
2003-02-16 18:04:29 +00:00
Georg Richter
c08bfd2e3f
tested patch from Zeev (fixes oo-bug in ext/mysqli)
2003-02-16 17:47:23 +00:00
Sebastian Bergmann
6d300baf84
ZTS fixes
2003-02-16 11:34:49 +00:00
Stanislav Malyshev
a4c3b2ce80
Namespace patch. Big changes:
...
1. Nested classes are gone.
2. New syntax for namespaces:
namespace foo {
class X { ... }
function bar { ... }
var x = 1;
const ZZ = 2;
}
3. Namespaced symbol access: $x = new foo::X; - etc.
For now, namespaces are case insensitive, just like classes.
Also, there can be no global class and namespace with the same name
(to avoid ambiguities in :: resolution).
2003-02-16 11:12:43 +00:00
Zeev Suraski
778ce2495d
whitespace
2003-02-10 11:49:21 +00:00
Zeev Suraski
dbb73d8f1e
Add ability to reference self:: and parent:: in constant initializers
...
(bug #21849 )
2003-02-10 09:45:27 +00:00
Zeev Suraski
edc8e67e3b
Remove redundant code
2003-02-10 08:32:44 +00:00
Zeev Suraski
55a66b1cb2
Fix the array() problem (and probably some other problems too)
2003-02-09 17:30:50 +00:00
Zeev Suraski
f660d28143
- read_property cleanup
...
- Implement unset/isset/empty for PPP
2003-02-05 14:27:30 +00:00
Zeev Suraski
17439aa9c4
Rework static class properties - now supports access restrictions
2003-02-05 13:35:52 +00:00
Zeev Suraski
61bd944b32
Core rearrangements - move Zend Objects specific code to their
...
specific implementation file
2003-02-02 16:17:25 +00:00
foobar
333406bdc2
- Added some missing CVS $Id$ tags, headers and footers.
2003-02-01 01:49:15 +00:00
Zeev Suraski
4b97a8dffd
Code rearrangements
2003-01-29 15:02:57 +00:00
Zeev Suraski
8f52bf6835
Fix assignments to $this.
...
Fixes the 'make install' problem reported on php-dev
2003-01-29 08:55:12 +00:00
Zeev Suraski
6155a1fa24
Allow methods in parent classes to call protected methods in derived
...
classes
2003-01-28 09:44:18 +00:00
Stanislav Malyshev
3a4ace13b4
Replace MAKE_VAR opcode with special 'data' opcode
...
This opcode is not executeable but only holds data for opcodes
that need more than two arguments (presently only ASSIGN_OBJ and the ilk but
in the future also ASSIGN_DIM)
2003-01-27 15:13:01 +00:00
Zeev Suraski
76c93412d3
Let the scope propagate to internal functions
2003-01-23 16:40:30 +00:00
Ilia Alshanetsky
72cd67b3ca
Fixed bug #21814 (Allow booleans to be used as array keys).
2003-01-22 14:48:30 +00:00
Ilia Alshanetsky
12d2b01a25
Fixed bug #20933 (isset/empty didn't work when used on string offsets).
2003-01-16 00:44:17 +00:00
Andi Gutmans
c073b76aac
- Change "is" to "instanceof" as it explains better what the operator means.
...
- "is_a" was also appropriate but ugly.
2003-01-14 21:29:23 +00:00
Zeev Suraski
424e98f4e2
Implemented compatibility mode
...
To enable - zend2.implicit_clone = on in php.ini or using ini_set()
2003-01-12 12:39:06 +00:00
Andi Gutmans
76c663b321
- Fix typo and whitespace
2003-01-11 17:04:16 +00:00
Derick Rethans
2c44fab3a0
- Ported the zend_execute_internal hook to ZendEngine2.
2003-01-11 16:12:44 +00:00
Zeev Suraski
77208ec4d6
Fix incorrect linkage of access-levels, when using private methods
2003-01-02 13:58:08 +00:00
Sebastian Bergmann
2c5d4b8c23
Bump year.
2002-12-31 15:59:15 +00:00
Zeev Suraski
ce69b6f6ee
Support private/protected constructors
2002-12-07 21:37:09 +00:00
Zeev Suraski
c087d9e9e4
Fix error messages
2002-12-07 15:53:37 +00:00
Zeev Suraski
e062dffe6c
- Implement public/protected/private methods.
...
- Prevent instantiation of classes with abstract methods.
Based in part on Marcus's patch.
2002-12-06 17:09:44 +00:00
Andi Gutmans
671fff2fde
h WHitespace
2002-11-30 11:20:25 +00:00
Andi Gutmans
6aa90a75bd
- FN_IS_STATIC -> FN_STATIC
2002-11-24 20:32:49 +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
Sebastian Bergmann
ba1f645030
Show class name as well. Patch by Marcus Börger.
2002-11-22 06:19:04 +00:00
Sebastian Bergmann
da0e29e92f
Show the name of the abstract method in the error.
2002-11-21 14:20:25 +00:00
Andi Gutmans
227f7838d6
- Fix build (thanks Marcus)
...
- Implement abstract methods, syntax:
- abstract function foo($vars);
- I don't see any reason why modifiers such as static/public need to be
- used with abstract. PHP is weakly typed and there would be no meaning to
- this anyway. People who want a strictly typed compiled language are
- looking in the wrong place.
2002-11-20 18:00:23 +00:00