1
0
mirror of https://github.com/php/php-src.git synced 2026-04-26 17:38:14 +02:00
Commit Graph

1486 Commits

Author SHA1 Message Date
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
Sebastian Bergmann 8b34428167 Document recent changes. 2001-12-05 07:04:16 +00:00
Andi Gutmans 5476706142 - Damn Zeev :) 2001-12-04 17:58:32 +00:00
Andi Gutmans 94cfe03da5 - Revert one of the changes because it might be before the memory
- manager has started.
2001-12-01 08:46:02 +00:00
Andi Gutmans bb9a36cad1 - Use alloca() when possible. 2001-12-01 08:33:48 +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 7f66d5e99a - Fix typo 2001-11-30 11:42:30 +00:00
Andi Gutmans f289014922 - Support syntax for class constants (doesn't do anything yet but
- required some reworking of the grammar).
2001-11-27 17:46:31 +00:00
Andi Gutmans 7cd6ccc0ec - Support static $var = 0; style initialization of static class
- members. For example:
-	class foo {
-		static $my_static = 5;
-
-	}
-
-	print foo::$my_static;
2001-11-26 18:05:01 +00:00
Andi Gutmans 0d559f17cd - Fix crash and leak 2001-11-25 12:29:08 +00:00
Andi Gutmans 4f3eaaa854 - Whitespace 2001-11-25 08:58:59 +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
Zeev Suraski 08615c6f68 MFZE1 2001-11-15 23:26:52 +00:00
Stig S. Bakken 78f108d31a add newline at end of file to avoid warnings 2001-11-05 00:17:28 +00:00
Stig S. Bakken 9382ddec52 non-zts compile fix 2001-11-05 00:16:33 +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 48e54e0c7a - RISC OS patch by Alex Waugh 2001-11-03 13:35:14 +00:00
Andi Gutmans 2eccd95ca4 - Add some initializations 2001-11-03 12:19:52 +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 0a682c6d70 - Fix internal classes 2001-10-29 18:10:36 +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 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
Andrei Zmievski 3ead31449f MFHZ1 2001-10-20 13:55:47 +00:00
Sebastian Bergmann 01850714ee MFZE1: Introduced extension version numbers (Stig) 2001-10-12 18:40:30 +00:00
Sebastian Bergmann 43c7615c51 MFZE1 2001-10-04 14:18:52 +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 279b468bf7 - Bump it up in the right place 2001-09-27 08:08:33 +00:00
Sebastian Bergmann 76ccb015e8 Keep ZEND_CHANGES up-to-date. 2001-09-22 17:03:05 +00:00
Zeev Suraski e42ab2c95f MFZE1 2001-09-22 14:03:27 +00:00
Zeev Suraski 17352812a3 MFZE1 2001-09-22 00:09:24 +00:00
Andi Gutmans d58240d0f5 - Nuke unused enum 2001-09-20 15:50:11 +00:00
Zeev Suraski 483fc4c73a MFZE1 2001-09-19 22:34:11 +00:00
Andi Gutmans 88d408ee11 - MFZE1 2001-09-19 10:41:35 +00:00
Sebastian Bergmann 3bdddb4910 MFZE1 2001-09-19 10:25:04 +00:00
Sebastian Bergmann da5a79d185 MFZE1 2001-09-19 10:06:09 +00:00
Brian Moon b285fae0bc adding RFC for loose type requirements for functions 2001-09-17 16:01:20 +00:00
Zeev Suraski f88c25b60e MFZE1 2001-09-16 16:48:38 +00:00
Zeev Suraski 9f61e47c24 MFZE1 (nuke cplusplus code) 2001-09-10 00:08:24 +00:00
Zeev Suraski b06440bceb MFZE1 (support return value in execute_scripts) 2001-09-10 00:07:32 +00:00
Stig S. Bakken d07cfabce4 remove bogus comment :) 2001-09-08 11:17:25 +00:00
Stig S. Bakken b07b4c6029 RFC document for namespaces 2001-09-08 11:02:06 +00:00
Stig S. Bakken 4585ae9fb1 wrapped to 80 columns :) 2001-09-08 08:55:42 +00:00
Andi Gutmans d7536a8a5f - Shift around the variable parsing code to make it simpler. 2001-09-07 14:46:12 +00:00
Andi Gutmans fc1abec531 - Fix warning (was fixed in ZE1 and not merged at some point). Please make
sure you merge patches!
2001-09-07 06:40:03 +00:00
Stanislav Malyshev d082fb373d MFZE1 2001-09-05 09:29:28 +00:00