Sebastian Bergmann
aab4ad1a8e
Fugbix typo.
2004-09-02 17:27:44 +00:00
Marcus Boerger
1e708a5aeb
Bugfix #29882 isset crashes on arrays
2004-08-29 13:28:03 +00:00
Marcus Boerger
ec4f576cb3
Enforce semantics: Classes cannot extend Interfaces
2004-08-26 22:59:25 +00:00
Marcus Boerger
08c344c293
Drop doubled check
2004-08-26 22:32:38 +00:00
Marcus Boerger
690b45afaa
- Bugfix #29828 Interfaces no longer work
2004-08-26 22:25:55 +00:00
Marcus Boerger
efbfaec0a3
- Drop unused variable
2004-08-23 20:58:48 +00:00
Andi Gutmans
51501e8de0
- Improve performance of switch()
2004-08-23 20:16:35 +00:00
Sara Golemon
b5547442e5
Bugfix#29777 Some compilers don't like // style comments
2004-08-21 00:00:16 +00:00
Marcus Boerger
ce8331f9a5
Remove unnecessary check
2004-08-15 15:48:32 +00:00
Marcus Boerger
e45270dd2f
Add missing check
2004-08-14 19:02:17 +00:00
Andi Gutmans
993f70c1d2
- Don't use magic numbers
2004-08-12 05:54:11 +00:00
Andi Gutmans
de25255b6d
- Significantly improve performance of foreach($arr as $data). (Marcus)
2004-08-12 05:41:01 +00:00
Marcus Boerger
a0ff48dbd3
- Change to use memcmp instead of strcmp
2004-08-02 22:41:34 +00:00
Andi Gutmans
57d57237cf
- Fix typo
2004-08-02 17:36:45 +00:00
Marcus Boerger
5f0433db83
MFB: Enforce protocol on magic methods/functions
2004-08-02 08:27:57 +00:00
Sara Golemon
d96e7a170c
Revert goto opcode
2004-07-29 17:45:31 +00:00
Sara Golemon
8c844fdde3
Plug some memory leaks and promote unknown label to E_ERROR.
...
If someone tries to jump to a non-existant label execution really
shouldn't try to carry on.
2004-07-29 16:36:00 +00:00
Sara Golemon
5865b3680a
Add goto operator by popular request.
2004-07-29 15:23:47 +00:00
Stanislav Malyshev
7bdc6d4bf4
add todo
2004-07-20 08:58:18 +00:00
Marcus Boerger
374ac86e33
#28589 : Segfault in Reflection API
2004-05-31 21:38:01 +00:00
Andi Gutmans
4f77a021ce
- Don't allow passing NULL to type hinted parameter.
2004-05-11 14:28:40 +00:00
Andi Gutmans
399073f9d4
- Fixed bug #27923 . foreach() without a key should not check if the key
...
- is a reference (Adam)
2004-04-23 21:53:46 +00:00
Zeev Suraski
242aa98b0a
Restore fatal error in case a method that's supposed to implement an
...
interface/abstract method, breaks its prototype
2004-04-21 08:44:37 +00:00
Marcus Boerger
aea24b2a79
Force destructors to have empty signatures
2004-03-26 20:05:35 +00:00
Andi Gutmans
e3eb8bdd78
- If __construct() is defined then it will always take precedence over
...
- old style constructors.
2004-03-25 18:00:50 +00:00
Andi Gutmans
34667c4b58
- Fix bug
2004-03-22 15:51:07 +00:00
Andi Gutmans
ed6cbcb480
- Change redefinition of constructor from E_COMPILE_ERROR to E_STRICT.
2004-03-18 08:52:51 +00:00
Stanislav Malyshev
c18c5be1e0
fix typo
2004-03-17 11:10:37 +00:00
Zeev Suraski
e2a5ebf597
Add ability to disable JIT for a particular auto global
2004-03-16 19:46:04 +00:00
Andi Gutmans
6a31fb9bb0
- Fix problem when using old-style constructors it wasn't being inherited
...
correctly.
2004-03-16 15:22:44 +00:00
Marcus Boerger
50ee116f08
Clearify the different method/class flags (as discussed with Andi).
2004-03-09 16:38:37 +00:00
Andi Gutmans
0fc9d5861d
- Nuke unused code.
2004-03-09 15:27:39 +00:00
Andi Gutmans
2af86692ea
- Fix some small problems I introduce in last patch.
2004-03-05 17:18:34 +00:00
Andi Gutmans
74775aa41a
- Finally fix the following:
...
$xml_mem = simplexml_load_string('<bookbody><part><chapter><page>1</page></chapter></part></bookbody>');
/* The following works fine */
foreach ($xml_mem->part as $part) {
foreach($part->chapter->page as $page) {
print $page;
}
}
/* The following segfaults */
foreach ($xml_mem->part as $part) {
foreach($part->chapter as $chapter) { // Difference here from previous example
print $chapter;
}
}
2004-03-05 13:04:21 +00:00
Stanislav Malyshev
78a36b50a1
Disallow redefining ctors and cleanup
2004-03-04 10:02:59 +00:00
Andi Gutmans
41b7211539
- Fix leaks (although there might be still a problem here).
2004-03-02 11:03:48 +00:00
Andi Gutmans
576e16b03f
- Fix crash in:
...
<?php
class Foo {
public $attributes= array();
function export() {
foreach ($this->attributes as $name => $attr) {
}
}
}
$f= new Foo();
$f->export();
?>
2004-03-02 08:28:12 +00:00
Andi Gutmans
63e263f32a
- Change prototype isA check not to check the constructor.
...
- Only give an E_STRICT for non-isA compliant code as opposed to
E_COMPILE_ERROR.
2004-02-29 18:25:50 +00:00
Marcus Boerger
f449c8fdf7
Fixes for abstract classes/methods
2004-02-27 09:14:55 +00:00
Zeev Suraski
62e921f824
Fix leak in foreach ($o->mthd()->arr)
2004-02-25 17:23:50 +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
eb6fd52e21
- Rename compatiblity mode to zend.ze2_compatibility_mode (it doesn't only affect auto-clone).
...
- Perform implementation checks even with simple inheritance (off when
compatibility mode is enabled).
- Restore default arguments in interfaces and handle it correctly.
- Move registration of internal classes later in the startup sequence
in order to have INI options available.
2004-02-25 10:57:10 +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
b0ef896f0e
Bugfix #27227 Mixed case class names causes Fatal Error in Constructor call
2004-02-16 00:34:23 +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
c6cbafa273
Fix: <interface> [extends <interface> [, <ineterface>]* ]
2004-02-11 22:13:39 +00:00
Zeev Suraski
c01c44c2e2
Fix bug #26802 (the right aspects of it found by Marcus, anyway :)
2004-02-11 10:51:05 +00:00
Andi Gutmans
91ee6c0ceb
- Nuke more unused code
2004-02-10 11:44:17 +00:00
Andi Gutmans
041b5dc2f7
- Remove junk
2004-02-10 10:44:09 +00:00
Ilia Alshanetsky
157a4e289a
Fixed bug #27145 (Unmangle private/protected property names before printing
...
then inside error messages).
2004-02-05 02:16:08 +00:00