<?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>derick@php.net</email>
<twitter>derickr</twitter>
<mastodon>@derickr@phpc.social</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>
