Andi Gutmans
|
b14f6cf79f
|
- Support default arguments for reference parameters
- Fix two compile warnings
|
2001-12-28 13:28:33 +00:00 |
|
Andi Gutmans
|
b3fd2faac0
|
- Support parent:: again
|
2001-12-27 13:12:45 +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
|
2ce4b47657
|
- Initial support for _clone()
|
2001-12-26 17:49:22 +00:00 |
|
Andi Gutmans
|
ee44180fc6
|
- Fix a crash (not a thorough fix).
- Commented old code
|
2001-12-25 16:51:37 +00:00 |
|
Andi Gutmans
|
df38ce3727
|
- Fixed bug where global functions weren't called if they didn't exist
- in the class scope
|
2001-12-24 17:39:16 +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
|
74efc41fc3
|
- Make classes have scope and function/constant lookups default to the class
|
2001-12-12 17:38:37 +00:00 |
|
Andi Gutmans
|
4cb97fa3b9
|
- Rename zend_class_entry.constants -> zend_class_entry.constants_table
|
2001-12-11 18:46:43 +00:00 |
|
Andi Gutmans
|
1dcef1e4ea
|
- Start making scope change correctly when calling namespace functions.
- When inside a namespace fallback to global namespace when function
- or constant is not found.
|
2001-12-11 17:56:57 +00:00 |
|
Sebastian Bergmann
|
d863d52a5d
|
Update headers.
|
2001-12-11 15:16:21 +00:00 |
|
Andi Gutmans
|
3bfee898db
|
- More namespaces work.
- Nuke memory leak.
|
2001-12-10 18:57:17 +00:00 |
|
Andi Gutmans
|
055709538c
|
- Support constants. The following works now:
<?
class foo {
const GC = "foo constant\n";
}
define("GC", "Global constant\n");
namespace;
print GC;
namespace foo;
print GC;
namespace;
print foo::GC;
?>
|
2001-12-06 18:05:18 +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
|
d2da63f629
|
- Support static members. The following script works:
<?
class foo
{
class bar
{
function init_values()
{
for ($i=1; $i<10; $i++) {
foo::bar::$hello[$i] = $i*$i;
}
}
function print_values()
{
for ($i=1; $i<10; $i++) {
print foo::bar::$hello[$i] . "\n";
}
}
}
}
foo::bar::init_values();
foo::bar::print_values();
for ($i=1; $i<10; $i++) {
print $hello[$i]?"Shouldn't be printed\n":"";
}
?>
|
2001-11-25 08:49:09 +00:00 |
|
Andi Gutmans
|
559d611a86
|
- MFZE1
|
2001-11-24 18:27:20 +00:00 |
|
Andi Gutmans
|
a332f826a7
|
- Support instantiation of nested class. The following script now should
- work:
-<?php
- class foo
- {
- function bar()
- {
- print "bar() in class bar\n";
- }
-
- class barbara
- {
- function bar()
- {
- print "bar() in class foo::barbara\n";
- }
- }
- }
-
- $obj = new foo();
- $obj->bar();
-
- $obj = new foo::barbara();
- $obj->bar();
-
|
2001-11-04 19:30:49 +00:00 |
|
Andi Gutmans
|
b87194e0c6
|
- Add constructor to the zend_class_entry instead of looking it up each
- time by name.
- This will allow the next patch of being able to instantiate nested
- classes such as new foo::bar::barbara();
|
2001-11-03 11:59:14 +00:00 |
|
Andi Gutmans
|
26578c386d
|
- Initial support for nested class definitions
|
2001-10-29 17:19:02 +00:00 |
|
Zeev Suraski
|
8b53a129f7
|
MFTGZE1
|
2001-10-27 09:43:38 +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 |
|
Andi Gutmans
|
560606d210
|
- Get rid of warning and C++ comments
|
2001-08-30 15:31:35 +00:00 |
|
Andi Gutmans
|
29f5dbe10b
|
- Initial support for exceptions.
|
2001-08-30 15:26:30 +00:00 |
|
Zeev Suraski
|
4684d5f405
|
MFZE1
|
2001-08-30 12:08:23 +00:00 |
|
Andi Gutmans
|
d87fa22532
|
- Merge Sterling's patches from ZE1
|
2001-08-18 18:16:49 +00:00 |
|
Andrei Zmievski
|
ea315a2e70
|
MFZE1
|
2001-08-17 17:42:43 +00:00 |
|
Andi Gutmans
|
f909ff9ed0
|
- Try and nuke get_object_zval_ptr()
|
2001-08-16 15:01:25 +00:00 |
|
Andi Gutmans
|
ea48c0c46a
|
- Fix a bug in method calls.
- Try to get the old copying behavior of objects to work (doesn't work yet).
|
2001-08-16 14:04:04 +00:00 |
|
Andi Gutmans
|
33539126d0
|
- MFZE1
|
2001-08-13 18:33:41 +00:00 |
|
Andi Gutmans
|
30bad123f0
|
- MFZE1
|
2001-08-13 15:38:07 +00:00 |
|
Andi Gutmans
|
b6eb324cd2
|
- Merge from Engine 1
|
2001-08-13 15:23:37 +00:00 |
|
Andi Gutmans
|
5af7770a81
|
- Sync Engine2 CVS with latest Engine CVS
|
2001-08-07 03:17:33 +00:00 |
|
Andi Gutmans
|
e6697297b6
|
- Move to using Z_ macros
|
2001-08-06 02:52:03 +00:00 |
|
Zeev Suraski
|
7ecb33868c
|
require_once()/include_once will return true in case a file was not included
because it was already included earlier.
Changed the default return value type of the include() family from long to
boolean
|
2001-08-02 17:27:19 +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
|
06fc55cc67
|
Revert bogus patch
|
2001-07-19 14:11:40 +00:00 |
|
Zeev Suraski
|
553505cb61
|
Fix bug #11970
|
2001-07-15 16:51:30 +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 |
|
Zeev Suraski
|
2536259557
|
Fix leak in the patch, and revert a couple of lines I didn't mean to commit
|
2001-06-27 15:47:31 +00:00 |
|
Zeev Suraski
|
ee115c8ecc
|
- Warn about illegal offsets
- Allow assignments to uninitialized string offsets (automatically pads the
string with spaces)
|
2001-06-27 15:40:49 +00:00 |
|
Andi Gutmans
|
5bf89ce61c
|
- Hopefully fix bug #11476 and improve garbage to be freed very quickly.
Tree tagged as PRE_GRANULAR_GARBAGE_FIX before commiting.
|
2001-06-21 22:30:23 +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
|
851b1e3b35
|
Eliminate the leak that the original bogus code tried to solve
|
2001-06-21 15:33:55 +00:00 |
|