-
Notifications
You must be signed in to change notification settings - Fork 738
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: start writing migration guide #3822
Conversation
fb35efa
to
d4bc815
Compare
@cmb69 Do you think it makes sense to add a new dedicated page for new class constants? Because at the moment it is all over the place in the UPGRADING document.... |
Covers section 10 of UPGRADING
Covers section 12 of UPGRADING
This should cover sections 3, 5, 9, 13, and 14 of UPGRADING
Cover section 8 of UPGRADING
Covers section 7 of UPGRADING
d4bc815
to
c44b06c
Compare
Yeah, not sure. Userland developers likely want to ignore some of the extensions, and may not even be interested in new class constants per se, but rather how they fit into a new feature. So the current structure makes some sense. Maybe make a list of the new constants while writing the pages, and then post it somewhere, so they can be documented right away (I know, more work for when writing the migration guide, and if nobody documents the constants, it not of much help.) |
Right, maybe we just need to reorganize how the UPGRADING document is structured, or split the "other changes" page into more distinct ones for functions, classes, and generic extension behaviour. |
This covers section 6 of UPGRADING
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you very much for tackling this huge task! I left a couple of comments below.
I'm not sure how you/we handle updates to UPGRADING. Is it better to mention these here explicitly, or will a second check of UPGRADING be done?
Better to ping this PR just to be sure. |
This covers section 4 of UPGRADING
ef23d46
to
3451d40
Compare
|
Yep that is in the guide as I refreshed UPGRADING before writing that section. :) |
This covers section 1 of UPGRADING
dad6ddf
to
f39024b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some first remarks. Didn't look at every file yet.
<function>curl_multi_select</function> now throws a | ||
<exceptionname>ValueError</exceptionname> if the | ||
<parameter>timeout</parameter> parameter is less than | ||
<literal>0</literal> or greater than <constant>PHP_INT_MAX</constant>. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<literal>0</literal> or greater than <constant>PHP_INT_MAX</constant>. | |
<literal>0</literal> or greater than <literal>2147483647</literal>. |
The range is a C int
, which is 32 bits on all platforms I am aware of.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems neither is correct, see https://github.com/php/php-src/pull/15594/files. Would need to be fixed in UPGRADING, too.
to be consistent with the new | ||
<constant>PHP_ROUND_<replaceable>*</replaceable></constant> modes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These new mode constants do not exist: They have been replaced by the RoundingMode
enum.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs a fix in UPGRADING.
|
||
<simpara> | ||
It is now possible to fetch the value of the | ||
<!-- TODO Is this a class constant of the driver class? --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe it might even be a class constant on PDO
by accident.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The FB_ATTR_*
are there for historic/BC reasons; we still have a lot more https://heap.space/search?project=PHP-8.4&full=&defs=&refs=REGISTER_PDO_CLASS_CONST_LONG&path=&hist=&type=.
<constant>FB_ATTR_TIME_FORMAT</constant>, | ||
<constant>FB_ATTR_TIMESTAMP_FORMAT</constant>, | ||
attributes with | ||
<!-- TODO Only for the specific driver class? --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, yes, unless the attribute values overlap. There are however, new constants on Pdo\Firebird, see https://github.com/php/php-src/blob/PHP-8.4/ext/pdo_firebird/pdo_firebird.stub.php.
Co-authored-by: Niels Dossche <[email protected]>
Co-authored-by: Niels Dossche <[email protected]>
Co-authored-by: Larry Garfield <[email protected]>
Co-authored-by: Niels Dossche <[email protected]>
I might merge the PR as it currently is, this will not show-up online yet until doc-base is updated to include the new appendix |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wow, an awesome amount of good work! Thank you!
A couple of nits below, but generally this looks good to be merged.
Co-authored-by: Christoph M. Becker <[email protected]>
TODO:
UPGRADING Sections:
incompatibilities.xml
)new-features.xml
)deprecated.xml
)new-functions.xml
)new-classes.xml
)