Marcus Boerger
63338975d4
Even though it is uncommented it should be right
2004-03-27 14:06:28 +00:00
Dmitry Stogov
55cf45abf5
New autoload protection schema was implemented (Using HashTable instead of boolean flag)
2004-03-24 14:30:59 +00:00
Andi Gutmans
09341786dc
- Stop make_printable_zval() from calling __toString()
2004-03-17 15:49:34 +00:00
Derick Rethans
6535933f7c
- Replaced the exec_finished hook by the zend_post_deactive hook for
...
extensions. The new hook will be run after the symbol table and destructors
are run. (Derick)
2004-03-16 22:27:26 +00:00
Ilia Alshanetsky
4c283fff27
Fixed bug #27590 (crash during shutdown when freeing persistent resources
...
in ZTS mode).
2004-03-14 20:11:13 +00:00
Andi Gutmans
7901a2218c
- Fix flow of logic
2004-03-14 15:50:51 +00:00
Andi Gutmans
88de69b97c
- Support Cast operator in convert_to_* so that we support internal
...
- extensions such as SimpleXML. This is for Sterling.
2004-03-14 13:52:36 +00:00
Andi Gutmans
7c72f6ff61
- Fix crash in exception handling (zend_exception_error(...) and
...
zend_eval_string_ex() were buggy (Dmitry, Andi)
2004-03-01 13:29:45 +00:00
Zeev Suraski
eb6fd52e21
- Rename compatiblity mode to zend.ze2_compatibility_mode (it doesn't only affect auto-clone).
...
- Perform implementation checks even with simple inheritance (off when
compatibility mode is enabled).
- Restore default arguments in interfaces and handle it correctly.
- Move registration of internal classes later in the startup sequence
in order to have INI options available.
2004-02-25 10:57:10 +00:00
Zeev Suraski
666b44c11e
Forward-port fixlet from PHP 4 (thanks to Michael Sisolak)
2004-02-18 08:53:56 +00:00
Zeev Suraski
00ed3bad29
Centralize exceptions code in zend_exceptions.[ch].
...
Remove zend_default_classes.h (use zend_exceptions.h instead)
NOTE: This currently breaks the build, fixes to php-src and pecl coming
soon
2004-02-12 10:38:14 +00:00
Marcus Boerger
2a8426a664
Must be initialized in ZTS mode
2004-02-11 22:58:03 +00:00
Zeev Suraski
6b6fe2f76e
Fix exceptions thrown without a stack frame
...
Always enable set_exception_handler()
2004-02-11 12:31:18 +00:00
Zeev Suraski
32007b19d8
Nice patch Christian, but it wasn't at all enabled? :)
...
Fix bug #26883
2004-01-15 16:47:32 +00:00
foobar
ccfc46b0aa
- Happy new year and PHP 5 for rest of the files too..
...
# Should the LICENSE and Zend/LICENSE dates be updated too?
2004-01-08 17:33:29 +00:00
Derick Rethans
6923a16c26
- Fixed var_export() to show public, protected and private modifiers properly.
...
- Exported (un)mangle_property_name.
2004-01-03 13:51:02 +00:00
Marcus Boerger
c0b8e35997
Add missing notice
2003-12-29 21:58:03 +00:00
Marcus Boerger
c6cb00fe59
Fixed bug #26697 (calling class_exists on a nonexistent class in __autoload
...
results in segfault).
2003-12-23 10:45:10 +00:00
Dmitry Stogov
02a9316731
Bug #25547 (error_handler and array index with function call) was fixed
...
tests/lang/bug25547.phpt
2003-12-19 14:08:22 +00:00
Marcus Boerger
d4f64f88ba
Reenable __tostring() magic for print,echo,concatenation,function naming...
...
but not for other internal things.
# As discussed with Andi
2003-12-15 16:59:21 +00:00
Marcus Boerger
a251361849
Free is needed in non ZTS too
2003-12-12 11:14:44 +00:00
Marcus Boerger
8fb5ea3081
Fix memleaks in ZTS mode
2003-12-12 10:50:23 +00:00
Marcus Boerger
a54c7dcb20
Fix memleaks
2003-12-12 08:25:58 +00:00
Andi Gutmans
c0df450203
- Add E_STRICT, to be used to warn purists (like Jani :)
2003-11-18 09:25:04 +00:00
Marcus Boerger
316854323d
Handle exceptions in casting more gracefully.
...
This fixes bug #26166
2003-11-08 14:06:08 +00:00
Ilia Alshanetsky
5dac0007f3
Fixed bug #25922 (Crash in error handler when 5th argument is modified).
2003-10-22 23:42:55 +00:00
Ilia Alshanetsky
10def9a8ae
Added missing format.
2003-09-22 04:21:44 +00:00
Marcus Boerger
71ba442768
Fallback to default behaviour for unsupported object type conversions
2003-09-18 11:50:05 +00:00
Marcus Boerger
9d7f2fd9f0
Bugfix #25335
2003-09-14 19:56:37 +00:00
Marcus Boerger
62421b5201
Fix registering/derigistering of stdClass in ZTS and NON ZTS mode
2003-09-08 10:45:19 +00:00
Marcus Boerger
c7f1c2f74f
Invalidate exception in this case too
2003-09-01 13:05:50 +00:00
Marcus Boerger
d15ad4609d
Revisited: Replace the non portable code by spprintf
2003-08-31 10:52:23 +00:00
Marcus Boerger
d45fd8a1b1
Make vspprintf available as zend utility function. Use it in exception output.
2003-08-31 09:35:54 +00:00
Marcus Boerger
12376a2270
Classe tables work this way
2003-08-28 22:53:24 +00:00
Marcus Boerger
d3473d1f58
- Provide a unified way to display uncaught exceptions, which shows
...
file/line/message info if possible.
- Add zend_eval_string_ex() to be able to handle exceptions in eval'd code.
- Use above function to fix memleaks in CLI.
2003-08-24 13:10:03 +00:00
Zeev Suraski
2fd4ffce17
Add exec_finished() callback for modules - this is the last place where the
...
modules may touch the symbol table reliably
2003-07-30 16:13:52 +00:00
foobar
c50fbaf69a
Remove the obfuscation caused by the double "#ifdef ZTS"
2003-07-29 01:30:59 +00:00
Zeev Suraski
9b13202723
Make print_r() binary safe with keys
2003-07-24 08:24:07 +00:00
Andi Gutmans
288dacca0c
- ZE coding style requires if ( instead of if(
2003-06-30 20:22:35 +00:00
Stanislav Malyshev
b81873134b
Fix bug #23279 - exception handler exits after first function call
2003-06-15 15:07:55 +00:00
Marcus Boerger
ceb91fba65
Bugfix #24182 : va_arg macro error in Zend/zend.c
2003-06-14 09:25:36 +00:00
James Cox
f68c7ff249
updating license information in the headers.
2003-06-10 20:04:29 +00:00
Zeev Suraski
d329ce93f2
Nicer handling of protected/private members in print_r()
2003-06-08 18:53:58 +00:00
Stanislav Malyshev
b4fcdaedee
fix non-ZTS build
2003-06-04 09:09:47 +00:00
Sebastian Bergmann
f26c5f9ce4
Fix segfault. Again.
2003-06-04 08:52:43 +00:00
Stanislav Malyshev
039c174337
rm namespace leftovers
2003-06-04 08:16:55 +00:00
Sebastian Bergmann
d74d05f431
Fix segfault. #Hopefully not a Voodoo Fix[TM].
2003-06-04 07:46:22 +00:00
Sebastian Bergmann
1fe874fbb8
Leftover.
2003-06-02 15:42:34 +00:00
Stanislav Malyshev
f7f5a5ea6b
MEGA-patch: namespaces are R.I.P.
2003-06-02 12:13:11 +00:00
Marcus Boerger
9e4286112e
Fix init shutdown
2003-05-31 19:21:52 +00:00
Sterling Hughes
ae2bfb7880
Assume lazy consensus regarding the cast_object() patch. *Only* implemented
...
from a internals perspective. This callback has been very useful for both
ext/mono and ext/simplexml
2003-05-27 18:52:25 +00:00
Marcus Boerger
e6d0c8c237
Fix bug #23162 user_error() crashs if > 1024 bytes (Marcus, Moriyoshi)
2003-05-04 18:21:32 +00:00
Stanislav Malyshev
ad01495a48
Change get_class() so that it returns qualified names for namespaced
...
classes.
*HEADS UP*: get_class_name() handler interface is changed, now it should
allocate the space it returns with emalloc, and the users free it. If
anyone has problems with it or has suggestions how to do it without this -
please tell.
Also: make function_exists() understand namespaces.
2003-04-21 17:01:34 +00:00
Sebastian Bergmann
a17d2f37ea
Corrected patch by Marcus Börger <helly@php.net>.
2003-04-19 09:04:15 +00:00
Sterling Hughes
48b3303217
Patch by Marcus Börger to fix some memleaks
2003-04-18 18:40:53 +00:00
Sebastian Bergmann
5be2fe410e
Patch by Marcus Börger <helly@php.net>.
2003-04-17 14:33:38 +00:00
Andrei Zmievski
91eff553e3
Initialize all relevant zend_class_entry fields to avoid accidental
...
crashes.
2003-04-03 14:44:41 +00:00
Stanislav Malyshev
26c51b73f1
Use strncpy instead of sprintf
2003-03-31 07:34:05 +00:00
Stanislav Malyshev
f008808c82
Try to report class name of the exception
2003-03-30 13:19:00 +00:00
Sterling Hughes
05dfd313fb
remove unused variable
2003-03-29 05:19:27 +00:00
Sebastian Bergmann
3fc852824f
Eliminate TSRMLS_FETCH() calls in destroy_op_array() and zend_get_class_entry().
2003-03-26 07:44:11 +00:00
Andi Gutmans
eba65486ad
- Fix win32 build
2003-03-23 21:27:22 +00:00
Stanislav Malyshev
5f47d77b42
resore namespace on shutdown - since some functions use
...
EG() and CG() pointers
2003-03-23 18:13:49 +00:00
Sterling Hughes
e6dfbc9565
add a standard Exception class.
2003-03-23 04:32:24 +00:00
Zeev Suraski
f7b7800479
Add infrastructure for JIT initialization of auto globals
2003-03-02 10:04:53 +00:00
Wez Furlong
e52aac940f
Implement simple stream support in the ZE scanners.
2003-02-18 09:37:54 +00:00
Zeev Suraski
372e08772d
Fix initialization
2003-02-16 18:17:19 +00:00
Sebastian Bergmann
6d300baf84
ZTS fixes
2003-02-16 11:34:49 +00:00
Stanislav Malyshev
a4c3b2ce80
Namespace patch. Big changes:
...
1. Nested classes are gone.
2. New syntax for namespaces:
namespace foo {
class X { ... }
function bar { ... }
var x = 1;
const ZZ = 2;
}
3. Namespaced symbol access: $x = new foo::X; - etc.
For now, namespaces are case insensitive, just like classes.
Also, there can be no global class and namespace with the same name
(to avoid ambiguities in :: resolution).
2003-02-16 11:12:43 +00:00
Zeev Suraski
c17c7a2bfa
Centralize class initialization
2003-02-10 16:11:24 +00:00
Zeev Suraski
17439aa9c4
Rework static class properties - now supports access restrictions
2003-02-05 13:35:52 +00:00
Zeev Suraski
471947b188
Reimplement PPP properties
2003-02-04 12:12:34 +00:00
foobar
333406bdc2
- Added some missing CVS $Id$ tags, headers and footers.
2003-02-01 01:49:15 +00:00
Stanislav Malyshev
f30f3590a1
ws
2003-01-14 12:13:51 +00:00
Stanislav Malyshev
d48ffd97d6
RIP handle_* functions. ZE2 will use __ handlers instead.
...
# Yes, I know this will break some things. I will fix those I can find shortly.
2003-01-12 17:16:07 +00:00
Sebastian Bergmann
24db7f182a
ZTS fixes.
2003-01-12 14:25:58 +00:00
Stanislav Malyshev
9bba373a17
Use generic handlers instead of Z_OBJ
2003-01-12 13:45:50 +00:00
Zeev Suraski
424e98f4e2
Implemented compatibility mode
...
To enable - zend2.implicit_clone = on in php.ini or using ini_set()
2003-01-12 12:39:06 +00:00
Derick Rethans
2c44fab3a0
- Ported the zend_execute_internal hook to ZendEngine2.
2003-01-11 16:12:44 +00:00
Zeev Suraski
b817dab206
Fix leak
2003-01-09 09:22:44 +00:00
Sebastian Bergmann
2c5d4b8c23
Bump year.
2002-12-31 15:59:15 +00:00
Zeev Suraski
e062dffe6c
- Implement public/protected/private methods.
...
- Prevent instantiation of classes with abstract methods.
Based in part on Marcus's patch.
2002-12-06 17:09:44 +00:00
Andi Gutmans
27de54b0df
- MFZE1
2002-12-01 19:47:02 +00:00
Andi Gutmans
f222884e2d
- Revert as the patch doesn't compile
2002-12-01 19:22:30 +00:00
Andi Gutmans
b6ecd6704c
- MFZE1
2002-12-01 19:07:07 +00:00
Andi Gutmans
671fff2fde
h WHitespace
2002-11-30 11:20:25 +00:00
Andi Gutmans
2de45bec65
- Initialize constants_updated (by Marcus)
2002-11-29 16:35:46 +00:00
Andi Gutmans
5cb8fabb7d
- Fix crash
2002-11-24 20:15:56 +00:00
Zeev Suraski
4be862b02c
MFZE1 - error_reporting fix
2002-11-19 17:51:30 +00:00
Stig Bakken
b899f9bf63
Fixed some special cases that were crashing for the exception default
...
handler.
2002-11-05 06:10:05 +00:00
Derick Rethans
e6054d2857
- MFZE1
2002-11-02 09:05:18 +00:00
Andi Gutmans
cf36abb2eb
- Change opcode dispatch mechanism to use a function per opcode and use
...
- a lookup table using the opcode # to call the correct function.
- Still have lots of tuning to do.
2002-10-18 21:19:27 +00:00
Ilia Alshanetsky
e842ef9f4b
MFZE1 (floats & locale issue)
2002-10-12 21:15:35 +00:00
Andi Gutmans
7cba0254e7
- Allow access to private/protected variables of $clone inside the __clone()
...
- method
2002-10-07 21:20:23 +00:00
Zeev Suraski
bd115087e3
MFZE1 - connection_status() fix
2002-09-19 15:58:01 +00:00
Zeev Suraski
8a003f8021
Fix non ZTS build
2002-09-19 15:15:39 +00:00
Zeev Suraski
c29f5d6e9d
Fix that obscure crash in Debug_TS mode
2002-09-19 15:12:20 +00:00
Zeev Suraski
5fcae67e9d
Fix the thread-safe initialization of the ZE2. This should solve some
...
sporadic crashes, as well as the problem with the built-in constants.
2002-09-18 22:16:22 +00:00
Zeev Suraski
71126a21bc
ZE2 fix
2002-09-17 12:44:10 +00:00
Zeev Suraski
711be83d49
MFZE1 - threading fix
2002-09-17 12:42:11 +00:00
Ilia Alshanetsky
1074fca0ae
Make zend return a proper exit error code when it encounters a parse error.
2002-09-15 23:34:03 +00:00
Zeev Suraski
e801a99a50
MFZE1
2002-09-03 10:25:06 +00:00
Thies C. Arntzen
bdc35c9f2e
clear current_execute_data on bailout as it would point into some freed area
...
on the stack.
2002-08-28 14:43:32 +00:00
Derick Rethans
a9d819818b
- MFZE1
2002-08-28 09:49:40 +00:00
Stig Bakken
5a41ced0d7
* append emacs footer
2002-08-16 10:12:17 +00:00
Stig Bakken
bd7105f731
* remove builtin exception class
2002-08-16 10:11:32 +00:00
Andi Gutmans
38eea2e817
- Fix whitespace
2002-08-16 07:11:37 +00:00
Stig Bakken
04788f9503
@- Added set_exception_handler() function for registering a global,
...
@ catch-all exception handling function (Stig)
- Added set_exception_handler() function for registering a global,
catch-all exception handling function (Stig)
2002-08-16 00:41:37 +00:00
Zeev Suraski
0bb780b384
MFZE1
2002-08-15 00:25:27 +00:00
Andi Gutmans
41e3f4f0c3
- Fix problem with debug_backtrace() reported by Stig. We weren't reporting
...
- global function information because it wasn't available. We have to do
- an additional assignment per-function call so that it'll be available.
- Also don't define the global scope as function name _main_ but leave it
- empty so that frameworks like Pear can decide what they want to do.
2002-07-26 10:38:25 +00:00
Andi Gutmans
bc5ea87e28
- Commit patch to support protected member variables (by Timm Friebe w/
...
- some fixes by me).
- You can't access protected variables from outside the object. If you want
- to see a protected member from your ancestors you need to declare the
- member as protected in the class you want to use it in. You can't
- redeclare a protected variable as private nor the other way around.
2002-07-15 18:09:56 +00:00
Derick Rethans
d4acdd349f
- MFZE1
2002-06-18 17:36:33 +00:00
Andi Gutmans
b66c89c47a
- More debug backtrace work. It still doesn't work very well...
2002-05-07 18:42:13 +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
Stanislav Malyshev
92dd5e611b
- make class tables contain class_entry *, not class_entry
...
- fix isset($this)
2002-03-12 10:08:47 +00:00
Andi Gutmans
7df1601239
- MFZE1
2002-02-26 19:17:26 +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
Andi Gutmans
b9355b9a11
- Output error when there's an uncaught exception (by Timm Friebe)
2002-01-06 20:30:41 +00:00
Sebastian Bergmann
62dc854bb0
Happy New Year.
2002-01-06 15:21:36 +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
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
76b9acc165
- Fix crash correctly.
2001-12-26 11:18:00 +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
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
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
ce98c73f82
- Infrastructure changes for allowing to access the global scope from
...
- within a class scope.
- Fix the Zend.dsp project a bit. It seems someone pretty much killed it
- when commiting their own personal configuration. Please be careful in
- future.
2001-12-12 20:45:38 +00:00
Andi Gutmans
4214a056a1
- Merge from ZE1
2001-12-11 18:51:02 +00:00
Andi Gutmans
4cb97fa3b9
- Rename zend_class_entry.constants -> zend_class_entry.constants_table
2001-12-11 18:46:43 +00:00
Sebastian Bergmann
d863d52a5d
Update headers.
2001-12-11 15:16:21 +00:00
Andi Gutmans
8460372395
- Fix crash with unhandled exceptions
2001-12-08 20:58:20 +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
0d559f17cd
- Fix crash and leak
2001-11-25 12:29:08 +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
2eccd95ca4
- Add some initializations
2001-11-03 12:19: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
Zeev Suraski
17352812a3
MFZE1
2001-09-22 00:09:24 +00:00
Zeev Suraski
483fc4c73a
MFZE1
2001-09-19 22:34:11 +00:00
Zeev Suraski
b06440bceb
MFZE1 (support return value in execute_scripts)
2001-09-10 00:07:32 +00:00
Zeev Suraski
819ea51d00
MFZE1
2001-08-31 13:11:52 +00:00
Zeev Suraski
4757104e45
MFZE1
2001-08-21 12:29:12 +00:00
Zeev Suraski
4f6c95d17a
Whitespace
2001-08-11 15:56:40 +00:00
Andi Gutmans
80b870e5d3
- Merge from Engine 1 tree
2001-08-09 03:58:58 +00:00
Andi Gutmans
9d11db1200
- Merge new $_GET, $_POST etc. patch from Engine 1 tree
2001-08-08 17:18:16 +00:00
Andi Gutmans
2f6cd308f9
- Merge zend_try fix from Engine 1
2001-08-08 15:06:08 +00:00
Zeev Suraski
609d58a4d6
Merge from branch - move to standard C scanners in thread safe mode
2001-08-06 13:48:51 +00:00
Zeev Suraski
fcc035108f
TSRMLS_FETCH work
2001-08-05 01:37:10 +00:00
Zeev Suraski
66d9314b60
Implement fast memory allocation and reduced fragmentation under Windows.
2001-08-03 07:06:05 +00:00
Zeev Suraski
7deb44e36d
Some cleanup
2001-08-02 06:16:20 +00:00