Doc #81065 [Com]: Display problems
Edit report at https://bugs.php.net/bug.php?id=81065&edit=1
ID: 81065
Comment by: yuki dot nishida at sys21 dot co dot jp
Reported by: yuki dot nishida at sys21 dot co dot jp
Summary: Display problems
Status: Open
Type: Documentation Problem
Package: Unknown/Other Function
Operating System: none
PHP Version: 7.3.28
Block user comment: N
Private report: N
New Comment:
I'm sorry!
I forgot about this one...(*'omega'*)
It's not on the changelog, which I think is the most confusing thing about it.
I'd like to see the change of the actual value of algebraic constants in the changelog.
I'm sorry. I'm sorry. I think this is the essence of what I want to request.
Previous Comments:
------------------------------------------------------------------------
[2021-05-21 11:03:02] yuki dot nishida at sys21 dot co dot jp
Description:
------------
The constant value is different in different versions, so it may need to be annotated.
ReflectionProperty (also ReflectionMethod)::IS_XXXX
In my program, constant values are used in bitwise operations (logical products), and I noticed that
I was facing a problem where bits with different numbers of digits could not be calculated with each
other.
(Sorry, I'm Japanese and not good at English, so I'm using a translation tool, so please
forgive any grammatical errors.
) I checked the source code from Git, and it is listed at the bottom of this column.
I apologize for the poor quality of this document, but I would appreciate it if you could help my
future students.
Thank you for reading to the end.
-----checked the source code ------
[source1]
php-src/ext/reflection/php_reflection.c
// new (7.4)
6996 REGISTER_REFLECTION_CLASS_CONST_LONG(property, "IS_PUBLIC", ZEND_ACC_PUBLIC);
6997 REGISTER_REFLECTION_CLASS_CONST_LONG(property, "IS_PROTECTED", ZEND_ACC_PROTECTED);
6998 REGISTER_REFLECTION_CLASS_CONST_LONG(property, "IS_PRIVATE", ZEND_ACC_PRIVATE);
[source1]
php-src/Zend/zend_compile.h
// changed version (7.4)
203 #define ZEND_ACC_PUBLIC (1 << 0) /* | X | X | X */ // -> 1
204 #define ZEND_ACC_PROTECTED (1 << 1) /* | X | X | X */ // -> 2
205 #define ZEND_ACC_PRIVATE (1 << 2) /* | X | X | X */ // -> 4
//old (5.4) -> my use version... sory!!
130 #define ZEND_ACC_PUBLIC 0x100 // -> 256
131 #define ZEND_ACC_PROTECTED 0x200 // -> 512
132 #define ZEND_ACC_PRIVATE 0x400 // -> 1024
// old (7.3.28)
212 #define ZEND_ACC_PUBLIC (1 << 8) /* | X | X | X */ // ->
256
213 #define ZEND_ACC_PROTECTED (1 << 9) /* | X | X | X */ // ->
512
214 #define ZEND_ACC_PRIVATE (1 << 10) /* | X | X | X */ // ->
1024
Expected result:
----------------
https://www.php.net/manual/en/class.reflectionproperty
I think it would be desirable to have annotations added to this page.
Actual result:
--------------
There are no annotations.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=81065&edit=1
Thread (6 messages)