Sebastian Bergmann
a014080299
Fugbix typo.
2002-05-24 08:46:32 +00:00
Andi Gutmans
f657df14be
- Add a bit of information.
2002-05-24 08:32:18 +00:00
00211c2e0c
ChangeLog update
2002-05-21 00:23:07 +00:00
Zeev Suraski
0450ab9462
MFZE1 (Expose more C++ APIs)
2002-05-20 07:17:30 +00:00
96ee1ce75d
ChangeLog update
2002-05-15 00:30:34 +00:00
Andi Gutmans
1fe8df14c6
- constructor_called is supposed to be destructor_called
2002-05-14 16:15:50 +00:00
3e1a68277d
ChangeLog update
2002-05-14 00:27:31 +00:00
Sterling Hughes
f796a26c80
MFZE1
2002-05-13 14:38:42 +00:00
Derick Rethans
4f77354ce0
- MFZE1
2002-05-13 08:41:55 +00:00
bd6a7fc58e
ChangeLog update
2002-05-13 00:20:08 +00:00
Zeev Suraski
2931bb640d
MFZE1
2002-05-12 15:59:29 +00:00
Sebastian Bergmann
9f47b2f193
Rephrase.
2002-05-12 08:35:37 +00:00
Sebastian Bergmann
3fa1fd866f
Beautify.
2002-05-12 08:33:18 +00:00
Sebastian Bergmann
92c71b5bb9
Start documenting the debug backtracing.
2002-05-12 08:16:14 +00:00
Sebastian Bergmann
571d93e16a
Whitespace fixes.
2002-05-12 08:15:45 +00:00
ca47c3d3b3
ChangeLog update
2002-05-12 00:23:15 +00:00
Zeev Suraski
4ec448e229
MFZE1
2002-05-11 12:36:32 +00:00
548d89d449
ChangeLog update
2002-05-11 00:21:06 +00:00
Andi Gutmans
dc0bc97969
- Nuke C++ comment
2002-05-10 09:43:00 +00:00
Andi Gutmans
b6219a0dbc
- Make debug_backtrace() return an array. Still not finished because I
...
might want to differentiate between method calls and static methods.
Example:
$bt = debug_backtrace();
foreach ($bt as $frame) {
if (isset($frame['class'])) {
print $frame['class'];
print "::";
}
print $frame['function'];
print " [";
print $frame['file'];
print ":";
print $frame['line'];
print "]\n";
}
2002-05-10 09:41:50 +00:00
9dece79266
ChangeLog update
2002-05-09 00:23:53 +00:00
Andi Gutmans
14a81f91e3
- Hopefully fix problems with debug_backtrace()
2002-05-08 18:43:19 +00:00
Derick Rethans
b43ba8dfe2
- MFZE1
2002-05-08 14:10:30 +00:00
5a33b8ea01
ChangeLog update
2002-05-08 00:31:28 +00:00
Andi Gutmans
b66c89c47a
- More debug backtrace work. It still doesn't work very well...
2002-05-07 18:42:13 +00:00
71eb0ed198
ChangeLog update
2002-05-03 00:24:03 +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
d6f87556b5
ChangeLog update
2002-05-01 00:49:54 +00:00
Stanislav Malyshev
7a067547cd
Make OBJCE return zend_class_entry*, also some cleanups
2002-04-30 09:56:48 +00:00
6ec7757764
ChangeLog update
2002-04-29 00:42:35 +00:00
Sebastian Bergmann
8463225b49
Revert.
2002-04-28 06:24:15 +00:00
a7e28a7a07
ChangeLog update
2002-04-28 00:34:30 +00:00
Sebastian Bergmann
90bad130a9
MFZE1: If the size-operands of memset are constants, the compiler can turn them into fast inline code. So, instead of using ecalloc, we use emalloc + memset in macro form now. emalloc will not return NULL, so the chosen macro form is safe. This is not true for malloc(3). An inline function accomodates our needs here. Suggested by: http://www.mail-archive.com/dev%40httpd.apache.org/msg02492.html (Sascha)
2002-04-27 15:23:46 +00:00
77b99c3ce2
ChangeLog update
2002-04-26 00:43:34 +00:00
Harald Radi
f62e63dae7
unbreak the win32 build
2002-04-25 08:59:36 +00:00
da643f3fea
ChangeLog update
2002-04-25 00:49:15 +00:00
Harald Radi
8bf59c8fd0
MFZE1 saschas 'Avoid exceeding buffer limits' patch
2002-04-24 15:46:40 +00:00
0cb2b488f7
ChangeLog update
2002-04-24 00:23:03 +00:00
Harald Radi
51e797f1e3
some type cleanup work
2002-04-23 18:06:54 +00:00
d16ea58e8b
ChangeLog update
2002-04-23 00:28:29 +00:00
Harald Radi
6ac6cb1040
added get_class_entry callback handler to the
...
object handlers structure
2002-04-22 14:22:27 +00:00
Sebastian Bergmann
79d71a17a5
MFZE1: Change default value of inline-opt to yes (Sascha).
2002-04-22 11:06:22 +00:00
Harald Radi
2afbbd2e4f
fixed linkage warning under win32
2002-04-22 09:33:25 +00:00
804aa39035
ChangeLog update
2002-04-21 00:18:00 +00:00
Zeev Suraski
579b9bff3d
MFZE1
2002-04-20 20:14:14 +00:00
62efcae45e
ChangeLog update
2002-04-20 00:19:10 +00:00
Sebastian Bergmann
bf5bb84277
MFZE1: make sure the resource-list is always consistent during shutdown (Thies).
2002-04-19 16:53:36 +00:00
Sebastian Bergmann
2697ce689d
MFZE1: Fix imbalance bug (Zeev).
2002-04-19 16:43:27 +00:00
fde8ae2074
ChangeLog update
2002-04-11 00:23:36 +00:00
foobar
3eafd2207c
MFZE1
2002-04-10 21:33:34 +00:00
foobar
60ccb411ba
MFZE1
2002-04-10 21:23:01 +00:00
091a06946d
ChangeLog update
2002-04-08 00:23:10 +00:00
Stanislav Malyshev
a68b448169
make compatible with current PHP
2002-04-07 17:12:38 +00:00
Stanislav Malyshev
3b6b13b08a
sync
2002-04-07 15:38:45 +00:00
ae336171bd
ChangeLog update
2002-03-30 01:19:21 +00:00
Derick Rethans
17116438da
- revert patch
2002-03-29 12:34:25 +00:00
e74c66bb14
ChangeLog update
2002-03-26 01:19:23 +00:00
Derick Rethans
7394b8fc6f
- MFZE1
2002-03-25 20:37:02 +00:00
a927404520
ChangeLog update
2002-03-24 01:18:49 +00:00
Andi Gutmans
3e3ae4f61c
- Fix build without ZTS. If someone has a nicer fix let me know.
2002-03-23 12:18:50 +00:00
2b87db1674
ChangeLog update
2002-03-22 01:20:21 +00:00
Andi Gutmans
e7100e22dc
- No idea how this slipped in. Fix delete $obj statement.
2002-03-21 04:20:03 +00:00
ba81ebf46c
ChangeLog update
2002-03-21 01:19:29 +00:00
Harald Radi
d5e64b2287
added thread safe hashtable which allows concurrent
...
reads but only exclusive writes
2002-03-20 21:26:46 +00:00
92adc9456a
ChangeLog update
2002-03-20 01:21:12 +00:00
Andi Gutmans
a990c4da3e
- Finish covering all parsed methods to check for validity in parser.
...
- Change zval's refcount to zend_uint (If it doesn't slow down the Engine
- too much it should probably stay this way). If anyone has time to test
- the difference in speed between zend_ushort & zend_uint in zend.h of
- the struct _zval_struct (one line change) I'd be glad to get some
- figures.
2002-03-19 19:09:53 +00:00
c7b7b5a9b1
ChangeLog update
2002-03-19 01:22:04 +00:00
Andi Gutmans
c5ad6ae1b8
- More fixes to check for member/function call legality.
2002-03-18 20:27:03 +00:00
67d75b177d
ChangeLog update
2002-03-18 01:21:55 +00:00
Andi Gutmans
46afe61d25
- Start putting error handling where method calls are being used in a
...
- context where only writable variables should be used.
2002-03-17 19:13:46 +00:00
801b8f4340
ChangeLog update
2002-03-16 01:19:01 +00:00
Andi Gutmans
c84a4ead95
- Pass TSRMLS to callbacks.
2002-03-15 16:26:17 +00:00
Andi Gutmans
db84afb206
- Scope fix. When calling an imported function the scope will change
...
- correctly to the scope of the functions class.
<?php
function Hello()
{
print "Wrong one\n";
}
class MyClass {
static $hello = "Hello, World\n";
function Hello()
{
print self::$hello;
}
function Trampoline()
{
Hello();
}
}
import function Trampoline from MyClass;
Trampoline();
?>
2002-03-15 15:28:06 +00:00
Andi Gutmans
0ce019f715
- Fix issues with $this when using it by itself without indirection such as
...
- $this->foo.
2002-03-15 15:09:46 +00:00
57505b6a13
ChangeLog update
2002-03-15 01:19:57 +00:00
Stanislav Malyshev
508c82ad2a
more cleanup
2002-03-14 17:13:02 +00:00
Stanislav Malyshev
929bdc6998
Update howto
2002-03-14 17:08:06 +00:00
Stanislav Malyshev
40becd37e5
fix for delete $this and unset $this
2002-03-14 16:00:48 +00:00
Stanislav Malyshev
3af5b15f30
Fix call_user_function
2002-03-14 12:18:01 +00:00
5aa7d604a4
ChangeLog update
2002-03-13 01:20:11 +00:00
Andi Gutmans
0ee65254ee
- Forgot to close comment.
2002-03-12 19:41:02 +00:00
Andi Gutmans
9760fdcb37
- Macro for duality between Engine 1 and 2
2002-03-12 19:36:24 +00:00
Andi Gutmans
fb6976e46d
- Another couple of indirection fixes.
...
- Make class_entry->refcount be part of the structure and not allocated.
2002-03-12 19:22:29 +00:00
Andi Gutmans
c8c629b3fc
- Fix bug introduced with latest class hash table change.
2002-03-12 18:53:27 +00:00
Stanislav Malyshev
b75ffba9bb
Fix standard object creation
2002-03-12 11:28:30 +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
aef0ea1beb
ChangeLog update
2002-03-11 01:20:33 +00:00
Andi Gutmans
d77ff9607e
- Fix build in ZTS mode.
2002-03-10 21:02:00 +00:00
Stanislav Malyshev
04ed2b520f
New stuff for objects API:
...
- Better assignment handling
- More flexible operations with zval-containing objects
2002-03-10 13:42:37 +00:00
61eb6fb4b6
ChangeLog update
2002-03-10 01:19:17 +00:00
Andi Gutmans
1229705743
- Add the original example script to the CVS so that it's always available.
2002-03-09 16:25:51 +00:00
aae9a035c5
ChangeLog update
2002-03-09 01:19:56 +00:00
Sebastian Bergmann
2f010abe51
Add 'import const' example.
2002-03-08 11:36:56 +00:00
Andi Gutmans
90f6005f58
- Support importing constants. e.g.:
...
<?php
class MyOuterClass {
const Hello = "Hello, World\n";
}
import const Hello from MyOuterClass;
print Hello;
2002-03-08 10:58:24 +00:00
2139ba0922
ChangeLog update
2002-03-08 01:20:50 +00:00
Sebastian Bergmann
0e17eea049
Add another 'import' example and merge 'import' section into 'Namespaces' section.
2002-03-07 10:31:51 +00:00
01d0e7ec15
ChangeLog update
2002-03-07 01:21:51 +00:00
Andi Gutmans
83f102fd9f
- Add function * and class * functionality. Only constants are left.
...
<?php
class MyOuterClass {
class MyInnerClass {
function func1()
{
print "func1()\n";
}
function func2()
{
print "func2()\n";
}
}
}
import class * from MyOuterClass;
import function func2 from MyOuterClass::MyInnerClass;
MyInnerClass::func1();
func2();
2002-03-06 17:08:26 +00:00
a97fc9703c
ChangeLog update
2002-03-03 01:20:44 +00:00
Sebastian Bergmann
3930d70fba
Consistency.
2002-03-02 22:26:17 +00:00
Sebastian Bergmann
3b7435fc51
Add 'import statement' section.
2002-03-02 22:24:46 +00:00
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();
?>
2002-03-02 20:38:52 +00:00
Derick Rethans
1f9464e345
- MFZE1
2002-03-02 13:48:13 +00:00
Derick Rethans
0c6be86747
- MFZE1
2002-03-02 13:26:37 +00:00
8ff2ad53f2
ChangeLog update
2002-03-02 01:20:39 +00:00
Andrei Zmievski
a8609b1ba7
MFZE1
2002-03-01 17:34:52 +00:00
Andrei Zmievski
2310414868
MFZE1
2002-03-01 17:26:31 +00:00
Andi Gutmans
90bd4539c7
- Remove use of C++ reserved words namespace/this
2002-03-01 14:27:26 +00:00
Andi Gutmans
d1eea3de9c
- Fix bug in nested try/catch's
...
- Infrastructure for implementing imports of methods.
2002-03-01 14:04:51 +00:00
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.
2002-03-01 10:26:10 +00:00
71139b307d
ChangeLog update
2002-02-27 01:33:13 +00:00
Andi Gutmans
7df1601239
- MFZE1
2002-02-26 19:17:26 +00:00
8ca013f2ae
ChangeLog update
2002-02-22 01:29:52 +00:00
Sebastian Bergmann
6a59c7fcd3
Maintain ZEND_CHANGES to account for the addition of private member variables.
2002-02-21 13:10:31 +00:00
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();
?>
2002-02-21 11:50:44 +00:00
37a929e5dd
ChangeLog update
2002-02-15 01:22:47 +00:00
Stanislav Malyshev
cefbdccb98
Pass TSRM to create_object
2002-02-14 09:20:51 +00:00
Andrei Zmievski
68a82f14a2
Fix the bug where the declared properties without init values were not
...
entered into the table.
2002-02-14 04:01:53 +00:00
6578efea09
ChangeLog update
2002-02-14 01:20:35 +00:00
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";
}
2002-02-13 19:26:07 +00:00
3b01fd8973
Adding automagically updated ChangeLog.
2002-02-12 17:28:41 +00:00
Sebastian Bergmann
1fd542fd38
Export lex_scan(). Both the PHPDoc and tokenizer extension need this. I hope this is okay with Z&A.
2002-02-10 12:54:02 +00:00
Andi Gutmans
b04238698f
- Remove object debug messages.
2002-02-08 00:22:37 +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
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.
2002-02-04 20:44:24 +00:00
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.
2002-02-04 19:29:56 +00:00
Adam Dickmeiss
4935636521
Zend config sets ZEND_EXTRA_LIBS. Bugs 14452, 14602, 14616, 14824
2002-02-03 20:42:10 +00:00
Sebastian Bergmann
cb2124be7c
Revert per Andi's request. Sorry :-(
2002-02-02 19:55:21 +00:00
Sebastian Bergmann
fd884e2bea
Fix warning. Again :-)
2002-02-02 19:47:24 +00:00
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.
2002-02-02 19:35:18 +00:00
Sebastian Bergmann
86469a0dfb
Fix a warning.
2002-02-02 19:18:25 +00:00
Andi Gutmans
180f91bac8
- Nice catch by Derick. GINIT is dead.
2002-02-02 16:56:17 +00:00
Sebastian Bergmann
031784c687
MFZE1: is_a()
2002-02-01 22:55:02 +00:00
Sebastian Bergmann
55cdbf3a6d
MFZE1: define a couple of macros under win32. (Patch By: Jon Parise <jon@php.net>)
2002-01-27 20:20:19 +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
c2b73faade
- Fix a bug reported by Sebastian with indirect class names not working.
2002-01-22 18:02:52 +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
Thies C. Arntzen
a0ab80ab80
MFZE1
2002-01-19 10:35:51 +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
7e1957044d
Update Exceptions example.
2002-01-14 12:14:18 +00:00
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();
}
?>
2002-01-13 20:21:55 +00:00
Andi Gutmans
1f2f2571e4
- MFZE1
2002-01-13 17:51:18 +00:00
Andi Gutmans
b9355b9a11
- Output error when there's an uncaught exception (by Timm Friebe)
2002-01-06 20:30:41 +00:00
Andi Gutmans
0f398e4d4a
- Make sure $this is passed on to methods
2002-01-06 19:52:22 +00:00
Sebastian Bergmann
62dc854bb0
Happy New Year.
2002-01-06 15:21:36 +00:00
Andi Gutmans
e1876cba4d
- Small fix
2002-01-05 20:55:56 +00:00
Andi Gutmans
e56fb1639b
- Allow passing of $this as function arguments.
...
- Fix a bug which I introduced a couple of months ago
2002-01-05 19:59:09 +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
eb08cb956b
- Improve performance of indirect-referenced function calls
2002-01-04 09:21:16 +00:00
Andi Gutmans
878f78a6d6
- Nuke C++ comments
2002-01-04 08:07:39 +00:00