[PRES] [presentations] master: phpday talk
[email protected] (Derick Rethans) Tue, 30 Jul 2024 13:05:41 +0000
| Newsgroups | php.pres |
|---|---|
| Message-ID | <[email protected]> |
Author: Derick Rethans (derickr) Date: 2024-05-13T14:56:43+01:00 Commit: https://github.com/php/presentations/commit/77ed8129cde08060fbbf0808ba59adf33141a96e Raw diff: https://github.com/php/presentations/commit/77ed8129cde08060fbbf0808ba59adf33141a96e.diff phpday talk Changed paths: A php-phpday24.xml A slides/internals/php84-policy-repository.xml A slides/internals/php84-release-cycle.xml A slides/internals/timeline-2024-05.png Diff: diff --git a/php-phpday24.xml b/php-phpday24.xml new file mode 100644 index 00000000..578a27a8 --- /dev/null +++ b/php-phpday24.xml @@ -0,0 +1,188 @@ +<?xml version="1.0" encoding="utf-8"?> +<presentation css="derick.css"> +<topic>PHP</topic> +<title>What's New in PHP 8.[1234]?</title> +<event>phpday 2024</event> +<location>Verona, Italy</location> +<date>May 16th, 2024</date> +<speaker>Derick Rethans</speaker> +<email>[email protected]</email> +<twitter>derickr</twitter> +<mastodon>@[email protected]</mastodon> +<url>https://derickrethans.nl/talks/php-dpc24</url> +<joindin>https://joind.in/talk/229a9</joindin> +<slide>slides/xdebug/title.xml</slide> +<slide>slides/mongodb/me.xml</slide> + +Readonly properties 2.0 (https://wiki.php.net/rfc/readonly_properties_v2) +<slide>slides/internals/php81-readonly.xml</slide> + +https://wiki.php.net/rfc/readonly_classes +<slide>slides/internals/php82-readonly.xml</slide> + +https://wiki.php.net/rfc/readonly_amendments +<slide>slides/internals/php83-readonly.xml</slide> + + +https://wiki.php.net/rfc/deprecate_dynamic_properties +<slide>slides/internals/php82-deprecate-dynamic-properties.xml</slide> + +Mixed Type v2 +<!-- <s lide>slides/internals/php80-mixed-types.xml</slide> --> + +PHP 8.0: +https://wiki.php.net/rfc/static_return_type +static return type +<!-- <s lide>slides/internals/php80-static-return.xml</slide> --> + +Constructor Property Promotion +<!-- <s lide>slides/internals/php80-cpp-without.xml</slide> --> +<!-- <s lide>slides/internals/php80-cpp-with.xml</slide> --> +<!-- +<sl ide>slides/internals/php80-named-without.xml</slide> +<sl ide>slides/internals/php80-named-with.xml</slide> +--> + +<!-- BIG NEW FEATURES --> +Enumerations (https://wiki.php.net/rfc/enumerations) +<!-- +<sl ide>slides/internals/php81-enums-1.xml</slide> +<sl ide>slides/internals/php81-enums-2.xml</slide> +<sl ide>slides/internals/php81-enums-3.xml</slide> +<sl ide>slides/internals/php81-enums-4.xml</slide> +<sl ide>slides/internals/php81-enums-5.xml</slide> +<sl ide>slides/internals/php81-enums-6.xml</slide> +<sl ide>slides/internals/php81-enums-7.xml</slide> +--> +https://wiki.php.net/rfc/fetch_property_in_const_expressions +<slide>slides/internals/php82-enums-1.xml</slide> + +<!-- +Noreturn type (https://wiki.php.net/rfc/noreturn_type) (never) +<sl ide>slides/internals/php81-never-type.xml</slide> +--> + +<!-- +Array unpacking with string keys (https://wiki.php.net/rfc/array_unpacking_string_keys) +<sl ide>slides/internals/php81-array-unpacking.xml</slide> +--> + +Fibers (https://wiki.php.net/rfc/fibers) +<!-- <s lide>slides/internals/php81-fibers.xml</slide> --> + +First Class Callable (https://wiki.php.net/rfc/first_class_callable_syntax) +<slide>slides/internals/php81-fcc.xml</slide> + +PHP 8.2: + +https://wiki.php.net/rfc/null-false-standalone-types +'null' and 'false' as standalone +<slide>slides/internals/php82-null-false-standalone.xml</slide> + +https://wiki.php.net/rfc/true-type +'true' type +<slide>slides/internals/php82-true.xml</slide> + +<!-- +Pure Intersection Types (https://wiki.php.net/rfc/pure-intersection-types) +<sl ide>slides/internals/php81-pure-intersection.xml</slide> +--> + +https://wiki.php.net/rfc/dnf_types +? Disjunctive Normal Form Types +<slide>slides/internals/php82-dnf-types.xml</slide> + +https://wiki.php.net/rfc/rng_extension +<slide>slides/internals/php82-random.xml</slide> + +https://wiki.php.net/rfc/randomizer_additions +<slide>slides/internals/php83-random.xml</slide> + +https://wiki.php.net/rfc/redact_parameters_in_back_traces +<slide>slides/internals/php82-redact-parameters.xml</slide> + +PHP 8.3: + +Syntax additions: + +https://wiki.php.net/rfc/marking_overriden_methods +<slide>slides/internals/php83-marking-overridden-methods.xml</slide> + +https://wiki.php.net/rfc/typed_class_constants +<slide>slides/internals/php83-typed-class-constants.xml</slide> + +https://wiki.php.net/rfc/dynamic_class_constant_fetch +<slide>slides/internals/php83-dynamic-class-constant-fetch.xml</slide> + +https://wiki.php.net/rfc/arbitrary_static_variable_initializers +<slide>slides/internals/php83-arbitrary-static-var-initialisers.xml</slide> + + +Minor improvements: + +https://wiki.php.net/rfc/json_validate +<slide>slides/internals/php83-json_validate.xml</slide> + +<!-- +https://wiki.php.net/rfc/datetime-exceptions +<sl ide>slides/internals/php83-datetime-exceptions.xml</slide> +--> + +PHP 8.4: + +Major additions: + +https://wiki.php.net/rfc/domdocument_html5_parser +<slide>slides/internals/php84-dom-html5.xml</slide> + +https://wiki.php.net/rfc/property-hooks + + +https://wiki.php.net/rfc/jit-ir +<slide>slides/internals/php80-jit.xml</slide> +<slide>slides/internals/php84-jit.xml</slide> + +Minor additions: + +https://wiki.php.net/rfc/improve_callbacks_dom_and_xsl + +https://wiki.php.net/rfc/pdo_driver_specific_subclasses +<slide>slides/internals/php84-pdo-subclass.xml</slide> + +https://wiki.php.net/rfc/new_rounding_modes_to_round_function +<!-- <sl ide>slides/internals/php84-round-modes.xml</slide> --> + +https://wiki.php.net/rfc/property-hooks +<slide>slides/internals/php84-property-hooks.xml</slide> + +https://wiki.php.net/rfc/mb_trim + +https://wiki.php.net/rfc/bcrypt_cost_2023 + +https://wiki.php.net/rfc/rfc1867-non-post + +https://wiki.php.net/rfc/http-last-response-headers + + +Policy: + +https://wiki.php.net/rfc/policy-repository +<slide>slides/internals/php84-policy-repository.xml</slide> + +https://wiki.php.net/rfc/release_cycle_update +<slide>slides/internals/php84-release-cycle.xml</slide> + + + + +Deprecations: + +https://wiki.php.net/rfc/deprecate-implicitly-nullable-types + +https://wiki.php.net/rfc/unbundle_imap_pspell_oci8 + + +<slide>slides/internals/questions-new.xml</slide> +<slide>slides/xdebug/resources.xml</slide> + +</presentation> diff --git a/slides/internals/php84-policy-repository.xml b/slides/internals/php84-policy-repository.xml new file mode 100644 index 00000000..216b1763 --- /dev/null +++ b/slides/internals/php84-policy-repository.xml @@ -0,0 +1,24 @@ +<slide> +<title>Policies and Procedures</title> + +<list> + <bullet>Information hidden away in **many** RFCs</bullet> + <bullet>No consolidated documentation</bullet> +</list> + + +<break lines="4"/> +<div effect="fade-in"> +<blurb class="big-centre">%https://github.com/php/policies%</blurb> +</div> + +<break lines="4"/> +<div effect="fade-in"> +<blurb>Still to do:</blurb> + +<list> + <bullet>Rewrite documents to be statements of facts instead of intent</bullet> + <bullet>Figure out which information isn't written down authoritively yet</bullet> +</list> +</div> +</slide> diff --git a/slides/internals/php84-release-cycle.xml b/slides/internals/php84-release-cycle.xml new file mode 100644 index 00000000..f67e82aa --- /dev/null +++ b/slides/internals/php84-release-cycle.xml @@ -0,0 +1,35 @@ +<slide> +<title>Release Cycle Update</title> + +<div effect="fade-out"> +<blurb>Current:</blurb> + +<list> + <bullet>2 + 1 years of support</bullet> + <bullet>3 alphas, 3, betas, 6 RCs</bullet> + <bullet>No new minor features in beta releases</bullet> + <bullet>New minor features could be added during RC and bug fix releases</bullet> + <bullet>Support ends exactly 3 years after initial release</bullet> +</list> +</div> + +<div effect="fade-in"> +<blurb>New:</blurb> + +<list> + <bullet>2 + |008800|2| years of support</bullet> + <bullet>3 alphas, 3, betas, |aa3333|4| RCs</bullet> + <bullet>|008800|New| minor features in beta releases</bullet> + <bullet>New minor features |aa3333|may not| be added during RC and bug fix releases</bullet> + <bullet>Support ends |008800|at the end of year 4| after initial release</bullet> +</list> +</div> + +<div effect="fade-in"> +<break lines="2"/> +<blurb class="center">Effective Immediately</blurb> +<break/> +<image filename="timeline-2024-05.png"/> +</div> + +</slide> diff --git a/slides/internals/timeline-2024-05.png b/slides/internals/timeline-2024-05.png new file mode 100644 index 00000000..d9f52dbc Binary files /dev/null and b/slides/internals/timeline-2024-05.png differ