Commit Graph

1547 Commits

Author SHA1 Message Date
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
Andi Gutmans
6203a250f7 - Separate other kinds of function calls too.
- Significantly improve performance of function calls by moving lowercasing
- the function name to compile-time when possible.
2002-01-04 08:05:21 +00:00
Andi Gutmans
0ab9d11225 - Start splitting up different kinds of function calls into different
- opcodes.
2002-01-04 06:44:19 +00:00
Derick Rethans
9b391a83c2 - MFZE1 for exit fix, exposing current function name in error messages and
exposing zend_zval_type_name().
2002-01-03 14:19:13 +00:00
Sebastian Bergmann
7c2fef7020 Consistency. 2001-12-31 07:50:42 +00:00
Andi Gutmans
c54f216ecd - Add example of default argument for argument passed by-ref 2001-12-31 05:28:18 +00:00
Sebastian Bergmann
4af1b42bc0 Typo. 2001-12-30 10:43:27 +00:00
Andi Gutmans
8a0c756c58 - #define to help #ifdef stuff in PHP sources to make them work w/ ZE1 and
- 2
2001-12-29 18:07:08 +00:00
Andi Gutmans
c6f1e68e75 - A few clarifications 2001-12-29 09:48:07 +00:00
Sebastian Bergmann
1d4793e5e8 Integrate Andi's examples and some notes by Stig. 2001-12-29 09:21:54 +00:00
Sebastian Bergmann
76cfd48f72 Update Exceptions example. 2001-12-29 08:17:57 +00:00
Andi Gutmans
ae1a702501 - Fix some case insensitivity stuff in respect to classes 2001-12-28 16:36:04 +00:00
Andi Gutmans
b14f6cf79f - Support default arguments for reference parameters
- Fix two compile warnings
2001-12-28 13:28:33 +00:00
Andi Gutmans
9a83837391 - Wasn't adding the lower case version of the class name to the hash 2001-12-28 13:18:19 +00:00
Andi Gutmans
e322abdd63 - Use two underscores for __construct(), __clone and friends... 2001-12-27 16:35:07 +00:00
Andi Gutmans
3d89072c7e - Only check refcount of object if the destructor was called. 2001-12-27 14:44:39 +00:00
Andi Gutmans
73b159e056 - Experimental support for destructors. We need to see if destructors
- will actually work well in the context of PHP so we should consider this
- as experimental. Possible problems might be that when the constructor is
- run PHP might not be in a stable state.
2001-12-27 14:35:09 +00:00
Andi Gutmans
b3fd2faac0 - Support parent:: again 2001-12-27 13:12:45 +00:00
Andi Gutmans
a5f7a383bf - Support unified constructor name _construct() 2001-12-27 12:23:03 +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
b04acdadf4 - Print out object id for easier debugging 2001-12-26 20:06:06 +00:00
Andi Gutmans
29ea3da2f8 - Pretty much finish _clone() support 2001-12-26 19:54:20 +00:00
Andi Gutmans
2ce4b47657 - Initial support for _clone() 2001-12-26 17:49:22 +00:00
Andi Gutmans
f85c818fe8 - Start fixing the parsing rules so that function and method calls
- can't be used in a write context.
2001-12-26 14:46:18 +00:00
Andi Gutmans
76b9acc165 - Fix crash correctly. 2001-12-26 11:18:00 +00:00
Andi Gutmans
e1e02af55b - Revert delete syntax patch 2001-12-25 17:10:58 +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
3458373ed6 - Fix a bug where function's didn't work anymore in multi-threaded
- servers after the latest startup changes.
2001-12-23 18:39:52 +00:00
Andi Gutmans
9e7c0d67d0 - Add initial capability of defining nested classes as class foo::bar 2001-12-22 15:31:44 +00:00
Zeev Suraski
43617d0d50 MFZE1 2001-12-18 19:56:23 +00:00
Sebastian Bergmann
cc01431199 I'm too trigger-happy. 2001-12-16 20:28:18 +00:00
Sebastian Bergmann
7920d4fc7e delete is now function 2001-12-16 19:57:53 +00:00
Andi Gutmans
1e56cac358 - Seems like most people prefer delete($obj) over delete $obj. 2001-12-16 19:53:06 +00:00
Andi Gutmans
ac7ed464b5 - Start adding parsed variable checks. 2001-12-16 19:45:49 +00:00
Andi Gutmans
880e7d8ce7 - Framework for knowing what kind of variable we just parsed.
- This will be used in compile-time error checking which couldn't be done
- at the level of the grammar.
2001-12-16 19:18:19 +00:00
Andi Gutmans
7c749c1897 - Rearrange grammar to allow dereferencing of objects returned from
- functions. It still crashes though.
2001-12-13 22:21:50 +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