[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