Stanislav Malyshev
f75f3cff82
Generalize object storage and reference bookkeeping
2002-05-31 12:09:19 +00:00
Andi Gutmans
7e5ec2d761
Initial support for built-in backtracing.
...
There are still a few problems such as includes and calling other functions
from internal functions which aren't seen (will have to think if and how to
fix this).
Also the main scripts filename isn't available. Need to think about that.
2002-05-02 17:20:48 +00:00
Harald Radi
51e797f1e3
some type cleanup work
2002-04-23 18:06:54 +00:00
Zeev Suraski
579b9bff3d
MFZE1
2002-04-20 20:14:14 +00:00
Stanislav Malyshev
3af5b15f30
Fix call_user_function
2002-03-14 12:18:01 +00:00
Stanislav Malyshev
92dd5e611b
- make class tables contain class_entry *, not class_entry
...
- fix isset($this)
2002-03-12 10:08:47 +00:00
Andi Gutmans
90bd4539c7
- Remove use of C++ reserved words namespace/this
2002-03-01 14:27:26 +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
Andi Gutmans
7309a6ed21
- First destructor hell fix. There was a situation where an object's
...
- destructor could be run after its class was already dead. Right now
- object destructors is the first thing whic happens during shutdown in
- order to prevent this problem. It's very likely that destructors will
- cause more grief and we'll have to outline exactly when you should use
- them and what kind of logic you're allowed to do inside of them.
- This bug was reported by sebastian.
2002-01-25 12:55:03 +00:00
Andi Gutmans
2131b019c7
- Improve performance of functions that use $GLOBALS[]
...
- Please check this and make sure it doesn't break anything.
2002-01-20 20:42:15 +00:00
Andi Gutmans
65f01545a8
- Fix crash bug in call_user_function_ex(). Thanks to Sebastian for the
...
- very nice and short reproducing script.
<?php
$array = array('foo', 'bar');
uasort($array, 'cmp');
function cmp($a, $b)
{
return (strcmp($a[1], $b[1]));
}
?>
2002-01-14 16:55:23 +00:00
Sebastian Bergmann
62dc854bb0
Happy New Year.
2002-01-06 15:21:36 +00:00
Andi Gutmans
a4248dd584
- Significantly improve the performance of method calls and $this->member
...
- lookups.
2002-01-05 15:18:30 +00:00
Andi Gutmans
5cb454a8ad
- Fix scoping issue. The following works now:
...
<?
class MyClass {
static $id = 0;
function MyClass()
{
$this->id = self::$id++;
}
function _clone()
{
$this->name = $clone->name;
$this->address = "New York";
$this->id = self::$id++;
}
}
$obj = new MyClass();
$obj->name = "Hello";
$obj->address = "Tel-Aviv";
print $obj->id;
print "\n";
$obj = $obj->_clone();
print $obj->id;
print "\n";
print $obj->name;
print "\n";
print $obj->address;
print "\n";
2001-12-26 20:17:34 +00:00
Andi Gutmans
9e7c0d67d0
- Add initial capability of defining nested classes as class foo::bar
2001-12-22 15:31:44 +00:00
Andi Gutmans
f4b832d277
- Fix crash bug in startup code.
...
- Start work on being able to reference global and local scope
2001-12-13 16:55:04 +00:00
Andi Gutmans
4cb97fa3b9
- Rename zend_class_entry.constants -> zend_class_entry.constants_table
2001-12-11 18:46:43 +00:00
Sebastian Bergmann
d863d52a5d
Update headers.
2001-12-11 15:16:21 +00:00
Andi Gutmans
42486196ad
- Initial work on changing namespace scope. Only methods & variables
...
- right now.
<?
$hey = "Global hey\n";
class foo {
static $hey = "Namespace hey\n";
function bar()
{
print "in foo::bar()\n";
}
}
function bar()
{
print "in bar()\n";
}
bar();
namespace foo;
bar();
namespace;
bar();
namespace foo;
$bar_indirect = "bar";
$bar_indirect();
namespace;
print $hey;
namespace foo;
print $hey;
$hey = "Namespace hey #2\n";
namespace;
print $hey;
$hey = "Global hey #2\n";
namespace foo;
print $hey;
?>
2001-12-06 17:47:04 +00:00
Andi Gutmans
fe94f59427
- Nuke the namespace work I did. It'll be redone differently.
2001-12-06 17:23:08 +00:00
Andi Gutmans
e858d27888
- Initial support for class constants. There are still a few semantic
...
- issues which need to be looked into but basically it seems to work.
- Example:
<?php
class foo
{
const hey = "hello";
}
print foo::hey;
?>
2001-11-30 16:29:47 +00:00
Andi Gutmans
89a0e85251
- Fix Zeev's MFZE1
2001-10-26 14:13:42 +00:00
Zeev Suraski
aecd5b89ee
MFZE1
2001-10-23 01:23:36 +00:00
Andi Gutmans
2eabb14dc7
- Merge the NAMESPACES_BRANCH. It wasn't a good idea to have a branch when
...
- the whole CVS tree is work in progress
2001-09-30 17:29:55 +00:00
Zeev Suraski
b06440bceb
MFZE1 (support return value in execute_scripts)
2001-09-10 00:07:32 +00:00
Andi Gutmans
29f5dbe10b
- Initial support for exceptions.
2001-08-30 15:26:30 +00:00
Zeev Suraski
4757104e45
MFZE1
2001-08-21 12:29:12 +00:00
Zeev Suraski
4f6c95d17a
Whitespace
2001-08-11 15:56:40 +00:00
Andi Gutmans
5af7770a81
- Sync Engine2 CVS with latest Engine CVS
2001-08-07 03:17:33 +00:00
Zeev Suraski
c14baeece3
Avoid going over huge lists of functions, classes and constants.
...
Special thanks to the guys from the MS lab for the profiling tools :)
2001-08-02 07:00:43 +00:00
Zeev Suraski
7deb44e36d
Some cleanup
2001-08-02 06:16:20 +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
8ce8324e59
More TSRMLS_FETCH annihilation
2001-07-30 04:54:16 +00:00
Zeev Suraski
b57703825b
Avoid TSRMLS_FETCH()'s (still lots of work left)
2001-07-30 01:48:22 +00:00
Zeev Suraski
b4f3b9d3ce
Redesigned thread safety mechanism - nua nua
2001-07-28 10:51:54 +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
931ebe08d7
Improve bailout mechanism, supports nesting of bailouts a-la try..catch
2001-07-21 14:25:27 +00:00
Zeev Suraski
8084d27885
Implement a more granular shutdown mechanism for the executor -
...
prevent corruption of constants and missing destructions of resources
2001-07-20 14:20:34 +00:00
Zeev Suraski
fb532ba52b
Fix bug #10467
2001-07-16 11:41:06 +00:00
Zeev Suraski
9bd9862451
Fix bug #10257
2001-07-15 17:48:50 +00:00
Zeev Suraski
85b4df53c0
Improved interactive mode - it is now available in all builds, without any significant slowdown
2001-07-15 14:08:58 +00:00
Andi Gutmans
8cd70926c5
- Nuke dependency of all of PHP on zend_execute_locks.h.
2001-06-21 21:17:10 +00:00
Zeev Suraski
6cf6835a4d
Add missing check
2001-05-30 08:23:15 +00:00
Zeev Suraski
686eab894c
Hear hear, interactive mode is finally showing some progress:
...
- Support function calls
- Fix crash bug
2001-05-06 15:00:58 +00:00
Andi Gutmans
ce7d0ef090
- Fix crash bug in interactive mode
2001-04-30 04:50:34 +00:00
Andi Gutmans
0971ff99cb
- Whitespace changes to be standard like the rest of Zend
2001-04-27 18:51:56 +00:00
Andrei Zmievski
145a319f43
Do case-insensitive class name matching when parsing
...
array('Class', 'method') structure.
You guys can clean it up, if there is a better way.
2001-02-28 03:53:00 +00:00
Andi Gutmans
d2c9e8074c
- Update copyright year
2001-02-26 05:43:27 +00:00
Andi Gutmans
488d808748
- Fix whitespace.
2001-02-12 15:18:05 +00:00