Sascha Schumann
0ceb4a93b2
Replace snprintf() call using zend_error's capabilities
2003-01-26 23:15:30 +00:00
Stanislav Malyshev
5340b204ca
fix memory leaks and key size
2003-01-14 15:12:35 +00:00
Stanislav Malyshev
eccc536883
Make add_property_ functions work via write_property handler
2003-01-14 12:15:09 +00:00
Andrei Zmievski
efaa31e940
Automatically register constructor, destructor, and clone function when
...
class methods are registered.
2003-01-10 14:41:53 +00:00
Zeev Suraski
9b09ba614d
Win32 build fix
2003-01-01 12:38:55 +00:00
Zeev Suraski
57b9b0112d
Fix Wez's problem
2003-01-01 09:34:39 +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
671fff2fde
h WHitespace
2002-11-30 11:20:25 +00:00
Andi Gutmans
e8214a3384
- Commit Marcus' cleanup of abstract and static inheritance and improve
...
- error messages
2002-11-23 20:44:12 +00:00
Derick Rethans
2a9f250ec7
- Initialize all functions to non-static (patch by Marcus Börger
...
<marcus.boerger@t-online.de>.
2002-11-22 10:49:46 +00:00
Ilia Alshanetsky
d3617c51b8
MFZE1 zend_str_tolower issue.
2002-10-09 14:21:40 +00:00
Ilia Alshanetsky
ee7b8f906d
MFZE1
2002-09-26 18:56:11 +00:00
Andrei Zmievski
a35c61af3c
MFZE1
2002-09-16 01:36:48 +00:00
Andi Gutmans
43139dc755
- WS - Always use "if (" and not "if("
2002-09-15 07:45:26 +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
Andi Gutmans
28247f572a
- Centralize global class fetch
2002-06-26 14:24:23 +00:00
Stanislav Malyshev
7a067547cd
Make OBJCE return zend_class_entry*, also some cleanups
2002-04-30 09:56:48 +00:00
Harald Radi
8bf59c8fd0
MFZE1 saschas 'Avoid exceeding buffer limits' patch
2002-04-24 15:46:40 +00:00
Harald Radi
51e797f1e3
some type cleanup work
2002-04-23 18:06:54 +00:00
Harald Radi
6ac6cb1040
added get_class_entry callback handler to the
...
object handlers structure
2002-04-22 14:22:27 +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
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
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
d1eea3de9c
- Fix bug in nested try/catch's
...
- Infrastructure for implementing imports of methods.
2002-03-01 14:04:51 +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
Stanislav Malyshev
cefbdccb98
Pass TSRM to create_object
2002-02-14 09:20:51 +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
Sebastian Bergmann
62dc854bb0
Happy New Year.
2002-01-06 15:21:36 +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
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
74efc41fc3
- Make classes have scope and function/constant lookups default to the class
2001-12-12 17:38:37 +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
3bfee898db
- More namespaces work.
...
- Nuke memory leak.
2001-12-10 18:57:17 +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
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
0a682c6d70
- Fix internal classes
2001-10-29 18:10: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
Andi Gutmans
e2efa0196f
- Merge Andrei's fix from Engine 1. Please commit patches to both trees!
2001-08-26 15:14:45 +00:00
Zeev Suraski
8722b31d8a
MFZE1
2001-08-13 00:28:18 +00:00
Andi Gutmans
76a7a5bc18
- More work on making objects work
2001-08-11 18:26:47 +00:00
Andi Gutmans
532677e7ac
- Fix some places which create objects. The fixes are ugly and will be
...
revised when things start working well
2001-08-11 18:04:07 +00:00
Zeev Suraski
4f6c95d17a
Whitespace
2001-08-11 15:56:40 +00:00
Andi Gutmans
5af7770a81
- Sync Engine2 CVS with latest Engine CVS
2001-08-07 03:17:33 +00:00
Zeev Suraski
fcc035108f
TSRMLS_FETCH work
2001-08-05 01:37:10 +00:00
Zeev Suraski
d76cf1da18
More TSRMLS_FETCH work
2001-07-31 04:53:54 +00:00
Zeev Suraski
4187439cff
More TSRMLS_FETCH work
2001-07-30 07:43:02 +00:00
Zeev Suraski
e8ac55d03c
More TSRMLS_FETCH work
2001-07-30 06:12:15 +00:00
Zeev Suraski
b52554951f
More TSRMLS_FETCH work, and get rid of redundant ParametersPassedByRef
2001-07-30 05:34:21 +00:00
Andrei Zmievski
3839af35dc
Let's be consisten and keep TSRMLS_DC declaration after num_args.
2001-07-30 05:05:26 +00:00
Zeev Suraski
8ce8324e59
More TSRMLS_FETCH annihilation
2001-07-30 04:54:16 +00:00
Zeev Suraski
11e5d2f229
Get rid of more TSRMLS_FETCH's
2001-07-30 02:07:52 +00:00
Zeev Suraski
b57703825b
Avoid TSRMLS_FETCH()'s (still lots of work left)
2001-07-30 01:48:22 +00:00
Zeev Suraski
b4f3b9d3ce
Redesigned thread safety mechanism - nua nua
2001-07-28 10:51:54 +00:00
Zeev Suraski
2c254ba762
Get rid of ELS_*(), and use TSRMLS_*() instead.
...
This patch is *bound* to break some files, as I must have had typos somewhere.
If you use any uncommon extension, please try to build it...
2001-07-27 10:10:39 +00:00
Zeev Suraski
87e3924379
Remove the last couple of bogus inlines
2001-07-11 17:18:22 +00:00
Zeev Suraski
ed542331b7
Get rid of some inlines
2001-07-11 09:33:41 +00:00
Andrei Zmievski
58f88057b1
Adding new parameter parsing API.
2001-07-09 18:51:29 +00:00
Rasmus Lerdorf
fb8e614690
Trivial fix - but the period looks odd in error messages
2001-07-03 04:18:38 +00:00
Andrei Zmievski
555fa77930
Nuke unused variable.
2001-05-09 20:37:16 +00:00
Andrei Zmievski
41aebd058e
Fix a few bugs in zend_is_callable() and make it stricter.
2001-05-09 20:07:49 +00:00
Andi Gutmans
acd56b0891
- More whitespace fixes while I'm at it.
2001-04-27 18:53:25 +00:00
Andrei Zmievski
3b2a83b942
Name length is already known.
2001-03-12 16:40:55 +00:00
Andi Gutmans
7db391b054
- Missed second place.
2001-03-12 16:27:26 +00:00
Andi Gutmans
123491aeac
- Nuke snprintf()
2001-03-12 16:23:19 +00:00
Andrei Zmievski
13148b5491
Improve zend_is_callable() to the point where it's actually useful.
...
Now it just needs to be invoked everywhere in PHP where a callback is
expected.
2001-03-12 03:08:28 +00:00
Andi Gutmans
7080fa5b53
- Rename modules.h to zend_modules.h
2001-02-26 18:18:34 +00:00
Andi Gutmans
d2c9e8074c
- Update copyright year
2001-02-26 05:43:27 +00:00
Andrei Zmievski
8fe036596f
Added zend_is_callable() function that checks whether passed zval
...
represents a valid and exiting callable construct.
2001-02-01 05:01:26 +00:00
Andi Gutmans
0611acb910
- Change unset() functions to null(). unset() is legacy
2001-01-31 21:53:30 +00:00
Thies C. Arntzen
373e830117
fixed crash in add_index_bool.
2001-01-23 15:30:18 +00:00
Andi Gutmans
ef95a346f1
- Patch from Sterling. Add API calls to add zval's as array indeces/
...
object properties. Add _ex functions which take the string length as an
argument for better performance.
2001-01-20 19:16:38 +00:00
Andi Gutmans
0a3761e283
- For Sterling. I wonder if not all of the API functions should take the
...
- key_length as a parameter in order to save that strlen().
2001-01-19 08:40:49 +00:00
Zeev Suraski
f1a9920bcf
Maintain consistency
2000-11-02 19:27:55 +00:00
Andi Gutmans
2946f87f00
- Fix new -m on Windows
2000-10-26 23:50:17 +00:00
Zeev Suraski
fce92e3ca2
Avoid using E_CORE_* errorlevels in any place which is not in the global startup sequence
2000-06-12 20:22:17 +00:00
Zeev Suraski
07a8327a0e
Fix zend_get_parameters()
2000-06-11 16:19:31 +00:00
Zeev Suraski
a29791411b
Fix bug #4768
2000-06-10 01:08:55 +00:00
Andi Gutmans
eb0e694665
- Andrei, this is for you!
...
- Add zend_register_internal_class_ex() which allows you to specify a
- parent to inherit from. You can either specify the parent directly or via
- its name.
2000-06-09 14:40:14 +00:00
Andi Gutmans
6ce07a85e4
- Change register_internal_class to zend_register_internal_class for
...
- consistency.
- Andrei: I'm still thinking about the _ex you want me to implement
2000-06-09 08:41:59 +00:00
Sascha Schumann
458352954d
Add newline at the end of the file (breaks at least SCO and Tru64 C compiler).
2000-06-06 02:47:43 +00:00
Zeev Suraski
13b67621cf
Fix a bug in static initializers/default values/class member variables that contained
...
array values
2000-05-31 19:07:09 +00:00
Zeev Suraski
bc7abb3300
Allow disabling of functions for security reasons
2000-05-29 17:16:52 +00:00
Sascha Schumann
99e2820bed
Fix segfault occuring when a temporary module was unloaded and if this
...
module did not have a request shutdown function.
2000-05-02 07:04:59 +00:00
Zeev Suraski
dc93a62cbb
Correct fix
2000-04-24 16:04:13 +00:00
Thies C. Arntzen
9786e4450a
MODULE_TEMPORARY should get a call to RSHUTDOWN as well!
2000-04-24 15:49:23 +00:00
Zeev Suraski
4cb9a483d2
- Clean up resource lists namespace
...
- Prepare extended resource list destructor APIs (currently unused)
2000-04-15 13:02:22 +00:00
Andi Gutmans
7fd92b524d
- Stop zend_func_args() and co. from crashing
2000-03-26 18:40:24 +00:00
Zeev Suraski
5dba477467
- Some header dependencies cleanup
...
- Generalize zval_print() and zval_print_r()
2000-03-25 19:10:07 +00:00
Andi Gutmans
6db18997bb
- Nuke hash_*_ptr functions
2000-03-24 11:12:30 +00:00
Zeev Suraski
5e55e47f7f
It's official now...
2000-03-06 05:26:39 +00:00
Zeev Suraski
0ac9536d99
(c) patch
2000-02-19 22:46:42 +00:00
Zeev Suraski
ceba50b6ed
- Fix a nasty bug in the hash, introduced in the recent migration to macros
...
- Make array_init() and friends trackable
2000-02-19 19:21:45 +00:00
Zeev Suraski
f77e6a4499
Generalize macros
2000-02-19 13:11:39 +00:00