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
Zeev Suraski
4be862b02c
MFZE1 - error_reporting fix
2002-11-19 17:51:30 +00:00
Stanislav Malyshev
29695934ed
fix the leak
2002-11-17 17:57:57 +00:00
Stanislav Malyshev
3944ce41c3
semi-fix string offsets crash - now it doesn't crash, but still leaks
2002-11-13 15:13:24 +00:00
Sebastian Bergmann
155c453138
Fugbix typo.
2002-11-11 18:27:32 +00:00
Sebastian Bergmann
bab84eab34
Fix ZTS build.
2002-11-06 18:51:44 +00:00
Stanislav Malyshev
41bd9b3746
fix zend_assign_to_object_op
2002-11-06 15:11:45 +00:00
Andi Gutmans
c497868005
- Add support for static methods. Basically methods which are defined as
...
- static don't have $this. That's the whole difference.
2002-11-05 19:37:31 +00:00
Andi Gutmans
3c94041bed
- Fix unset($this->foo)
2002-11-01 07:59:42 +00:00
Andi Gutmans
023836ae25
- Also tune jmpz_ex
2002-10-24 18:24:55 +00:00
Andi Gutmans
80109314b9
- Improve performance of part of the jmps. More to follow.
2002-10-24 18:04:12 +00:00
Andi Gutmans
1eb04a850e
- This might improve performance. Commiting it so that I can check it on
...
- Linux
2002-10-23 20:40:07 +00:00
Andi Gutmans
4a9f1a9396
- Make Ts access a macro. I need this for my next patch which should
...
- improve performance but not sure yet if it will.
2002-10-23 20:26:28 +00:00
Andi Gutmans
8cbe1ea796
- Nuke unused get_incdec_op()
...
- Nuke old comment
2002-10-22 19:34:25 +00:00
Andi Gutmans
d12679a64d
- Improve overall engine performance
2002-10-22 19:31:53 +00:00
Andi Gutmans
329354529b
- Fix bug reported by Daniel T. Gorski
2002-10-22 17:00:59 +00:00
Andi Gutmans
536d4d8aab
- Improve opcode dispatching
2002-10-19 09:45:51 +00:00
Andi Gutmans
cf36abb2eb
- Change opcode dispatch mechanism to use a function per opcode and use
...
- a lookup table using the opcode # to call the correct function.
- Still have lots of tuning to do.
2002-10-18 21:19:27 +00:00
Andi Gutmans
7f9819e647
- Cleanup
2002-10-18 10:20:44 +00:00
Sebastian Bergmann
7b0949b005
Fix ZTS build.
2002-10-16 19:16:58 +00:00
Stanislav Malyshev
c42ec35331
Fix class static members: now the following code works:
...
<?php
class Foo {
static $c = "Parent";
}
class Child extends Foo {
}
Foo::$c = "Hello";
var_dump(Child::$c);
?>
and returns "Hello" (class statics are not copied anymore, but looked up in
runtime)
2002-10-16 18:29:41 +00:00
Stanislav Malyshev
349b3a096a
Fix and generalize $this handling.
...
ZEND_FETCH_FROM_THIS is removed, IS_UNUSED type on class variables will be
used instead as the sign that it's a fetch from $this
2002-10-16 18:06:36 +00:00
Andi Gutmans
046bdeaaab
- Support new classname::$class_name, e.g.:
...
<?
class foo::bar {
public $hello = "Hello, World\n";
}
$name = "bar";
$obj = new foo::$name;
print $obj->hello;
?>
2002-10-14 20:13:03 +00:00
Ilia Alshanetsky
d3617c51b8
MFZE1 zend_str_tolower issue.
2002-10-09 14:21:40 +00:00
Andi Gutmans
77b3ffbc5a
- Require $this-> when calling a methods. This whole automatic lookup
...
- first in the class and then in the global scope is confusing, slow and
- not quite BC compatible.
2002-10-07 21:46:44 +00:00
Andi Gutmans
278a00e1d8
- Fix problem with unsetting object members.
2002-10-06 19:55:31 +00:00
Ilia Alshanetsky
ee7b8f906d
MFZE1
2002-09-26 18:56:11 +00:00
Andi Gutmans
f78fa50423
- Megapatch to try and support inheritance from sub-classes. Things might
...
- be *very* buggy now so don't get too upset if that happens.
- I still need to improve some stuff but it's a good step (hopefully).
2002-09-24 19:05:53 +00:00
Andi Gutmans
7f6c2da50a
- WS fix - "while (" instead of "while("
2002-09-15 07:46:20 +00:00
Andi Gutmans
43139dc755
- WS - Always use "if (" and not "if("
2002-09-15 07:45:26 +00:00
Stanislav Malyshev
d8651c82cd
Support for __get, __set and __call in classes.
...
This should work as follows: if class hasn't member with given name,
__get/__set is called. If class has no method with given name, __call is called.
__get/__set are not recursive, __call can be.
2002-09-04 09:07:58 +00:00
Stanislav Malyshev
c8a659f8f6
MFZE1
2002-09-02 09:13:53 +00:00
Thies C. Arntzen
10b58f2110
those are set by RETURN_FROM_EXECUTE
2002-08-23 12:18:54 +00:00
Thies C. Arntzen
d88ca858aa
zend_execute: make sure that current_execute_data points to the right thing
...
after coming back from recursion.
2002-08-21 13:58:20 +00:00
Andi Gutmans
2372caf57e
MFZE1
2002-08-17 20:20:36 +00:00
Zeev Suraski
b66561c44a
MFZE1
2002-08-17 16:22:40 +00:00
Andi Gutmans
52406cb37c
- Make new 'is' operator work with classes only and return false when
...
- the object isn't of the said class or the value isn't an object.
2002-08-08 16:32:34 +00:00