a97fc9703c
ChangeLog update
24 years ago
Sebastian Bergmann
3930d70fba
Consistency.
24 years ago
Sebastian Bergmann
3b7435fc51
Add 'import statement' section.
24 years ago
Andi Gutmans
b90d80b588
- Initial patch to support importing from class scopes (for Stig).
- It isn't complete yet but I want to work on it from another machine. It
- shouldn't break anything else so just don't try and use it.
- The following is a teaser of something that already works:
<?php
class MyClass
{
function hello()
{
print "Hello, World\n";
}
class MyClass2
{
function hello()
{
print "Hello, World in MyClass2\n";
}
}
}
import function hello, class MyClass2 from MyClass;
MyClass2::hello();
hello();
?>
24 years ago
Derick Rethans
1f9464e345
- MFZE1
24 years ago
Derick Rethans
0c6be86747
- MFZE1
24 years ago
8ff2ad53f2
ChangeLog update
24 years ago
Andrei Zmievski
a8609b1ba7
MFZE1
24 years ago
Andrei Zmievski
2310414868
MFZE1
24 years ago
Andi Gutmans
90bd4539c7
- Remove use of C++ reserved words namespace/this
24 years ago
Andi Gutmans
d1eea3de9c
- Fix bug in nested try/catch's
- Infrastructure for implementing imports of methods.
24 years ago
Andi Gutmans
2505f6b400
- Fix crash reported by Sebastian when destructor function causes a fatal
- error. I hope this does it and we don't find any other problems.
24 years ago
71139b307d
ChangeLog update
24 years ago
Andi Gutmans
7df1601239
- MFZE1
24 years ago
8ca013f2ae
ChangeLog update
24 years ago
Sebastian Bergmann
6a59c7fcd3
Maintain ZEND_CHANGES to account for the addition of private member variables.
24 years ago
Andi Gutmans
00e90f2ff3
- Experimental support for private members.
<?
class MyClass {
private $Hello = "Hello, World!\n";
function printHello()
{
print $this->Hello;
}
}
class MyClass2 extends MyClass {
function printHello()
{
MyClass::printHello(); /* Should print */
print $this->Hello; /* Shouldn't print out anything */
}
}
$obj = new MyClass();
print $obj->Hello; /* Shouldn't print out anything */
$obj->printHello(); /* Should print */
$obj = new MyClass2();
print $obj->Hello; /* Shouldn't print out anything */
$obj->printHello();
?>
24 years ago
37a929e5dd
ChangeLog update
24 years ago
Stanislav Malyshev
cefbdccb98
Pass TSRM to create_object
24 years ago
Andrei Zmievski
68a82f14a2
Fix the bug where the declared properties without init values were not
entered into the table.
24 years ago
6578efea09
ChangeLog update
24 years ago
Andi Gutmans
21b04ff2a6
@ Allow a series of consecutive catch() statements (Andi, Zend Engine)
<?php
class MyException1 {
}
class MyException2 {
}
try {
throw new MyException2();
} catch (MyException1 $m) {
print "Caught MyException1";
} catch (MyException2 $m) {
print "Caught MyException2";
}
24 years ago
3b01fd8973
Adding automagically updated ChangeLog.
24 years ago
Sebastian Bergmann
1fd542fd38
Export lex_scan(). Both the PHPDoc and tokenizer extension need this. I hope this is okay with Z&A.
24 years ago
Andi Gutmans
b04238698f
- Remove object debug messages.
24 years ago
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.
24 years ago
Andi Gutmans
8535164f21
- This small patch should also take care of allowing unseting of $this->foo
- and static members. The unset() opcode was luckily already suitable for
- object overloading.
24 years ago
Andi Gutmans
e366f5dbd8
- Fix problem with the objects_destructor called during shutdown. It was
- freeing objects from id 0 instead of id 1. id 0 is not used.
- Change isset/empty opcodes to support static members and the new way of
- doing $this->foobar. Also the opcodes operate now on the hash table
- combined with the variable names so that they can be overloaded by the
- soon to be added overloading patch.
24 years ago
Adam Dickmeiss
4935636521
Zend config sets ZEND_EXTRA_LIBS. Bugs 14452, 14602, 14616, 14824
24 years ago
Sebastian Bergmann
cb2124be7c
Revert per Andi's request. Sorry :-(
24 years ago
Sebastian Bergmann
fd884e2bea
Fix warning. Again :-)
24 years ago
Andi Gutmans
2c95fc2d55
- Please don't use strcmp() and friends in Zend but only the mem*
- functions. I didn't check this patch so please check that it works.
24 years ago
Sebastian Bergmann
86469a0dfb
Fix a warning.
24 years ago
Andi Gutmans
180f91bac8
- Nice catch by Derick. GINIT is dead.
24 years ago
Sebastian Bergmann
031784c687
MFZE1: is_a()
24 years ago
Sebastian Bergmann
55cdbf3a6d
MFZE1: define a couple of macros under win32. (Patch By: Jon Parise <jon@php.net>)
24 years ago
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.
24 years ago
Andi Gutmans
c2b73faade
- Fix a bug reported by Sebastian with indirect class names not working.
24 years ago
Andi Gutmans
2131b019c7
- Improve performance of functions that use $GLOBALS[]
- Please check this and make sure it doesn't break anything.
24 years ago
Thies C. Arntzen
a0ab80ab80
MFZE1
24 years ago
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]));
}
?>
24 years ago
Sebastian Bergmann
7e1957044d
Update Exceptions example.
24 years ago
Andi Gutmans
f1e8815c26
- Change exception handling to use the Java-like catch(MyException $exception)
- semantics. Example:
<?php
class MyException {
function __construct($exception)
{
$this->exception = $exception;
}
function Display()
{
print "MyException: $this->exception\n";
}
}
class MyExceptionFoo extends MyException {
function __construct($exception)
{
$this->exception = $exception;
}
function Display()
{
print "MyException: $this->exception\n";
}
}
try {
throw new MyExceptionFoo("Hello");
} catch (MyException $exception) {
$exception->Display();
}
?>
24 years ago
Andi Gutmans
1f2f2571e4
- MFZE1
24 years ago
Andi Gutmans
b9355b9a11
- Output error when there's an uncaught exception (by Timm Friebe)
24 years ago
Andi Gutmans
0f398e4d4a
- Make sure $this is passed on to methods
24 years ago
Sebastian Bergmann
62dc854bb0
Happy New Year.
24 years ago
Andi Gutmans
e1876cba4d
- Small fix
24 years ago
Andi Gutmans
e56fb1639b
- Allow passing of $this as function arguments.
- Fix a bug which I introduced a couple of months ago
24 years ago
Andi Gutmans
a4248dd584
- Significantly improve the performance of method calls and $this->member
- lookups.
24 years ago