Hi All,
I found the following behaviour. I think it is a bug please clarify.
In php-5.0.0
1)Exception class is registered from zend_exceptions.c
2)After this If I see the common.fn_flags of constructor member of
Exception class entry it is 0x2100(Public Constructor).
Till this point is fine.
3)When dom extension is getting started It registers the DOMException
class to the CG(class_table) in that process it inherits from the
Exception class_entry and gets a constructor member pointer of Exception
class_entry.
4)dom extension startup routine updates this constructor pointer's
class_entry->common.fn_flags|=ZEND_ACC_PROTECTED and hence to 0x2300.
5)This causes me not to get the access specifier of __construct
constructor of Exception class if I access it from as "Public".
Is this a accepted behaviour?
I see even though ReflectionException and SQLiteException extends
Exception they have their __construct method set to some function
pointer or else to NULL
not just left at all.
This is no the case with DOMException.
With regards
Kamesh Jayachandran
Already fixed in HEAD.
On Tue, 03 Aug 2004 03:36:06 -0700, Kamesh Jayachandran
kameshj@fastmail.fm wrote:
Hi All,
I found the following behaviour. I think it is a bug please clarify.In php-5.0.0
1)Exception class is registered from zend_exceptions.c
2)After this If I see the common.fn_flags of constructor member of
Exception class entry it is 0x2100(Public Constructor).
Till this point is fine.
3)When dom extension is getting started It registers the DOMException
class to the CG(class_table) in that process it inherits from the
Exception class_entry and gets a constructor member pointer of Exception
class_entry.
4)dom extension startup routine updates this constructor pointer's
class_entry->common.fn_flags|=ZEND_ACC_PROTECTED and hence to 0x2300.
5)This causes me not to get the access specifier of __construct
constructor of Exception class if I access it from as "Public".Is this a accepted behaviour?
I see even though ReflectionException and SQLiteException extends
Exception they have their __construct method set to some function
pointer or else toNULL
not just left at all.
This is no the case with DOMException.With regards
Kamesh Jayachandran
Hi Wez,
Will the fix be available in 5.0.1?
How to browse the cvs tree of 5.0.1 from the web?
With regards
Kamesh Jayachandran
On Tue, 3 Aug 2004 11:52:48 +0100, "Wez Furlong" kingwez@gmail.com
said:
Already fixed in HEAD.
On Tue, 03 Aug 2004 03:36:06 -0700, Kamesh Jayachandran
kameshj@fastmail.fm wrote:Hi All,
I found the following behaviour. I think it is a bug please clarify.In php-5.0.0
1)Exception class is registered from zend_exceptions.c
2)After this If I see the common.fn_flags of constructor member of
Exception class entry it is 0x2100(Public Constructor).
Till this point is fine.
3)When dom extension is getting started It registers the DOMException
class to the CG(class_table) in that process it inherits from the
Exception class_entry and gets a constructor member pointer of Exception
class_entry.
4)dom extension startup routine updates this constructor pointer's
class_entry->common.fn_flags|=ZEND_ACC_PROTECTED and hence to 0x2300.
5)This causes me not to get the access specifier of __construct
constructor of Exception class if I access it from as "Public".Is this a accepted behaviour?
I see even though ReflectionException and SQLiteException extends
Exception they have their __construct method set to some function
pointer or else toNULL
not just left at all.
This is no the case with DOMException.With regards
Kamesh Jayachandran
Hi Wez,
Will the fix be available in 5.0.1?
HEAD is for 5.1.0-dev, and not 5.0.x. Though I don't know whether Wez
merged it to PHP_5_0 or not.
How to browse the cvs tree of 5.0.1 from the web?
(trailing / important)
regards,
Derick
Marcus made the fixes, and afair, they were merged to PHP_5_0
--Wez.
Hi Wez,
Will the fix be available in 5.0.1?HEAD is for 5.1.0-dev, and not 5.0.x. Though I don't know whether Wez
merged it to PHP_5_0 or not.How to browse the cvs tree of 5.0.1 from the web?
(trailing / important)
regards,
Derick
How to browse the cvs tree of 5.0.1 from the web?
(trailing / important)
Or you can use super-secret, ugly, but very functional:
http://viewcvs.php.net/viewcvs.cgi/php-src/?only_with_tag=PHP_5_0
Edin