SlideShare a Scribd company logo
PHP 7
Above and beyond
rafaelfqf@gmail.com
100%+
Performance gain on most real-world applications
What is coming in
PHP 7 that may break
your existing code
What is coming in
PHP 7 that will impact
how you write PHP
Get PHP7 up and
running
php7dev
https://github.com/rlerdorf/php7dev
3v4l
https://3v4l.org
Backward Compatibility Breaking RFCs
Continue output buffering despite aborted
connection
Replacing current json extension with jsond
Make defining multiple default cases in a switch
a syntax error
Remove alternative PHP tags
Abstract syntax tree
Reclassify E_STRICT notices
Reserve More Types in PHP7
Uniform Variable Syntax
ZPP Failure on Overflow
Constructor behavior of internal classes
Fix "foreach" behavior
Removal of dead or not yet PHP7 ported SAPIs
and extensions
Remove PHP 4 Constructors
Fix handling of custom session handler return
values
Backward Compatibility Breaking
Continue output buffering despite aborted
connection
Replacing current json extension with jsond
Make defining multiple default cases in a
switch a syntax error
Remove alternative PHP tags
Abstract syntax tree
Reclassify E_STRICT notices
Reserve More Types in PHP7
Uniform Variable Syntax
ZPP Failure on Overflow
Constructor behavior of internal classes
Fix "foreach" behavior
Removal of dead or not yet PHP7 ported
SAPIs and extensions
Remove PHP 4 Constructors
Fix handling of custom session handler return
values
Make defining multiple default cases in a switch a
syntax error
https://3v4l.org/PYHog
Remove alternative PHP tags
<% opening tag
<%= opening tag with echo
%> closing tag
(<scripts+languages*=s*(php|"php"|'php')s*>)i opening tag
(</script>)i closing tag
Remove alternative PHP tags
<?= is not being removed
Reserve More Types in PHP 7
int
float
bool
string
true, false
null
resource
object
mixed
numeric
If your code uses any of these new reserved
words as variable names or class names,
change them now.
Removal of dead or not yet PHP7 ported SAPIs and
extensions
aolserver
apache
apache_hooks
caudium
continuity
isapi
milter
phttpd
pi3web
roxen
thttpd
tux
webjames
apache2filter
nsapi
mysql
ereg
imap
mcrypt
interbase
mssql
oci8
pdo_dblib
pdo_oci
sybase_ct
Removal of dead or not yet PHP7 ported SAPIs and
extensions
aolserver
apache
apache_hooks
caudium
continuity
isapi
milter
phttpd
pi3web
roxen
thttpd
tux
webjames
apache2filter
nsapi
mysql
ereg
imap
mcrypt
interbase
mssql
oci8
pdo_dblib
pdo_oci
sybase_ct
High Impact RFCs
Spaceship Operator
Anonymous Classes
Bind Closure on Call
Generator Return Expressions
Generator Delegation
Filtered unserialized()
Exceptions in the Engine
Easy User-Land CSPRNG
Null Coalesce Operator
Return Type Declarations
Scalar Type Declarations
Group Use Declarations
High Impact
Spaceship Operator
Anonymous Classes
Bind Closure on Call
Generator Return Expressions
Generator Delegation
Filtered unserialized()
Exceptions in the Engine
Easy User-Land CSPRNG
Null Coalesce Operator
Return Type Declarations
Scalar Type Declarations
Group Use Declarations
Combined Comparison (Spaceship) Operator
PHP’s first trinary operator
https://3v4l.org/RMPDK
https://3v4l.org/Y4isF
Combined Comparison (Spaceship) Operator
Null Coalesce Operator
https://3v4l.org/OldcW
Return Type Declarations
https://3v4l.org/VEPNr
__construct() cannot declare a return type
__destruct() cannot declare a return type
__clone() cannot declare a return type
Return Type Declarations
When a sub-type overrides a parent method
then the return type of the child must exactly
match the parent and may not be omitted.
If a mismatch is detected during compile time
then E_COMPILE_ERROR will be issued.
If a type mismatch is detected when the function
returns then E_RECOVERABLE_ERROR will
be issued.
https://3v4l.org/D5AlG
Return Type Declarations
https://3v4l.org/ip7fA
Group Use Declarations
Group Use Declarations
https://joind.in/talk/view/15208
Thanks
https://github.com/rafaelqueiroz/php7

More Related Content

What's hot

When e-commerce meets Symfony
When e-commerce meets SymfonyWhen e-commerce meets Symfony
When e-commerce meets Symfony
Marc Morera
 
An Introduction To Perl Critic
An Introduction To Perl CriticAn Introduction To Perl Critic
An Introduction To Perl Critic
joshua.mcadams
 
PHP 7 Crash Course - php[world] 2015
PHP 7 Crash Course - php[world] 2015PHP 7 Crash Course - php[world] 2015
PHP 7 Crash Course - php[world] 2015
Colin O'Dell
 
php 7.4 for word press developers
php 7.4 for word press developersphp 7.4 for word press developers
php 7.4 for word press developers
Rahul Rana
 
What is the Joomla Framework and why do we need it?
What is the Joomla Framework and why do we need it?What is the Joomla Framework and why do we need it?
What is the Joomla Framework and why do we need it?
Rouven Weßling
 
Software Design
Software DesignSoftware Design
Software Design
Spy Seat
 
Perl Tidy Perl Critic
Perl Tidy Perl CriticPerl Tidy Perl Critic
Perl Tidy Perl Critic
olegmmiller
 
Surprise! It's PHP :) (unabridged)
Surprise! It's PHP :) (unabridged)Surprise! It's PHP :) (unabridged)
Surprise! It's PHP :) (unabridged)
Sharon Levy
 
Static Analysis of PHP Code – IPC Berlin 2016
Static Analysis of PHP Code – IPC Berlin 2016Static Analysis of PHP Code – IPC Berlin 2016
Static Analysis of PHP Code – IPC Berlin 2016
Rouven Weßling
 
PHP 7 performances from PHP 5
PHP 7 performances from PHP 5PHP 7 performances from PHP 5
PHP 7 performances from PHP 5
julien pauli
 
PHP 5.3
PHP 5.3PHP 5.3
PHP 5.3
Chris Stone
 
Php internal architecture
Php internal architecturePhp internal architecture
Php internal architecture
Elizabeth Smith
 
New Features in PHP 5.3
New Features in PHP 5.3New Features in PHP 5.3
New Features in PHP 5.3
Bradley Holt
 
YAPC::NA 2007 - An Introduction To Perl Critic
YAPC::NA 2007 - An Introduction To Perl CriticYAPC::NA 2007 - An Introduction To Perl Critic
YAPC::NA 2007 - An Introduction To Perl Critic
joshua.mcadams
 
Pp
PpPp
Php performance
Php performancePhp performance
Php performance
Xinchen Hui
 
Mysqlnd, an unknown powerful PHP extension
Mysqlnd, an unknown powerful PHP extensionMysqlnd, an unknown powerful PHP extension
Mysqlnd, an unknown powerful PHP extension
julien pauli
 
Perl 7, the story of
Perl 7, the story ofPerl 7, the story of
Perl 7, the story of
Andrew Shitov
 

What's hot (20)

When e-commerce meets Symfony
When e-commerce meets SymfonyWhen e-commerce meets Symfony
When e-commerce meets Symfony
 
An Introduction To Perl Critic
An Introduction To Perl CriticAn Introduction To Perl Critic
An Introduction To Perl Critic
 
PHP 7 Crash Course - php[world] 2015
PHP 7 Crash Course - php[world] 2015PHP 7 Crash Course - php[world] 2015
PHP 7 Crash Course - php[world] 2015
 
php
phpphp
php
 
php 7.4 for word press developers
php 7.4 for word press developersphp 7.4 for word press developers
php 7.4 for word press developers
 
What is the Joomla Framework and why do we need it?
What is the Joomla Framework and why do we need it?What is the Joomla Framework and why do we need it?
What is the Joomla Framework and why do we need it?
 
Software Design
Software DesignSoftware Design
Software Design
 
Perl Tidy Perl Critic
Perl Tidy Perl CriticPerl Tidy Perl Critic
Perl Tidy Perl Critic
 
Php introduction
Php introductionPhp introduction
Php introduction
 
Surprise! It's PHP :) (unabridged)
Surprise! It's PHP :) (unabridged)Surprise! It's PHP :) (unabridged)
Surprise! It's PHP :) (unabridged)
 
Static Analysis of PHP Code – IPC Berlin 2016
Static Analysis of PHP Code – IPC Berlin 2016Static Analysis of PHP Code – IPC Berlin 2016
Static Analysis of PHP Code – IPC Berlin 2016
 
PHP 7 performances from PHP 5
PHP 7 performances from PHP 5PHP 7 performances from PHP 5
PHP 7 performances from PHP 5
 
PHP 5.3
PHP 5.3PHP 5.3
PHP 5.3
 
Php internal architecture
Php internal architecturePhp internal architecture
Php internal architecture
 
New Features in PHP 5.3
New Features in PHP 5.3New Features in PHP 5.3
New Features in PHP 5.3
 
YAPC::NA 2007 - An Introduction To Perl Critic
YAPC::NA 2007 - An Introduction To Perl CriticYAPC::NA 2007 - An Introduction To Perl Critic
YAPC::NA 2007 - An Introduction To Perl Critic
 
Pp
PpPp
Pp
 
Php performance
Php performancePhp performance
Php performance
 
Mysqlnd, an unknown powerful PHP extension
Mysqlnd, an unknown powerful PHP extensionMysqlnd, an unknown powerful PHP extension
Mysqlnd, an unknown powerful PHP extension
 
Perl 7, the story of
Perl 7, the story ofPerl 7, the story of
Perl 7, the story of
 

Viewers also liked

86 jan-roger linna - 6953024 - method of controlling combustion in a homoge...
86   jan-roger linna - 6953024 - method of controlling combustion in a homoge...86   jan-roger linna - 6953024 - method of controlling combustion in a homoge...
86 jan-roger linna - 6953024 - method of controlling combustion in a homoge...
Mello_Patent_Registry
 
Publizitate agentzia berria egitear dago
Publizitate agentzia berria egitear dagoPublizitate agentzia berria egitear dago
Publizitate agentzia berria egitear dagoAsier Lemuria
 
A Novel Approach for Cancer Detection in MRI Mammogram Using Decision Tree In...
A Novel Approach for Cancer Detection in MRI Mammogram Using Decision Tree In...A Novel Approach for Cancer Detection in MRI Mammogram Using Decision Tree In...
A Novel Approach for Cancer Detection in MRI Mammogram Using Decision Tree In...
CSCJournals
 
Piddington CPD - Mediation - 9 November 2016 Final
Piddington CPD - Mediation - 9 November 2016 FinalPiddington CPD - Mediation - 9 November 2016 Final
Piddington CPD - Mediation - 9 November 2016 FinalAaron McDonald
 
Cocktails alcohol(5)
Cocktails alcohol(5)Cocktails alcohol(5)
Cocktails alcohol(5)audicastell
 
Orbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case StudyOrbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case Study
Mark Meeker
 
Joomla! Testing - J!DD Germany 2016
Joomla! Testing - J!DD Germany 2016Joomla! Testing - J!DD Germany 2016
Joomla! Testing - J!DD Germany 2016
Yves Hoppe
 
WordPressとS3で落ちないコーポレートサイトを立ち上げよう
WordPressとS3で落ちないコーポレートサイトを立ち上げようWordPressとS3で落ちないコーポレートサイトを立ち上げよう
WordPressとS3で落ちないコーポレートサイトを立ち上げよう
Ichiro Tsuji
 
AWSでWordPressを使って富を得た時の話 (JAWS FESTA 東海道 2016 セッション)
AWSでWordPressを使って富を得た時の話 (JAWS FESTA 東海道 2016 セッション)AWSでWordPressを使って富を得た時の話 (JAWS FESTA 東海道 2016 セッション)
AWSでWordPressを使って富を得た時の話 (JAWS FESTA 東海道 2016 セッション)
Kiminori Yokoi
 
View Monitoring Tips
View Monitoring TipsView Monitoring Tips
View Monitoring Tips
Daisuke Yamashita
 
[JAWS-UG関西IoT専門支部] IoTで関西のコミュニティをつなぐ
[JAWS-UG関西IoT専門支部] IoTで関西のコミュニティをつなぐ [JAWS-UG関西IoT専門支部] IoTで関西のコミュニティをつなぐ
[JAWS-UG関西IoT専門支部] IoTで関西のコミュニティをつなぐ
Ichiro Tsuji
 
Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666
Tiago Sousa
 
Making JavaScript Accessible
Making JavaScript AccessibleMaking JavaScript Accessible
Making JavaScript Accessible
Dennis Lembree
 
ポスト・フラットデザイン 〜フラットデザイン2.0とCSSフレームワーク〜
ポスト・フラットデザイン 〜フラットデザイン2.0とCSSフレームワーク〜ポスト・フラットデザイン 〜フラットデザイン2.0とCSSフレームワーク〜
ポスト・フラットデザイン 〜フラットデザイン2.0とCSSフレームワーク〜
Akihiko Horiuchi
 
The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2
Guerrilla
 
3. types of entrepreneurs and their characteristics
3. types of entrepreneurs and their characteristics3. types of entrepreneurs and their characteristics
3. types of entrepreneurs and their characteristics
abcde123321
 

Viewers also liked (20)

86 jan-roger linna - 6953024 - method of controlling combustion in a homoge...
86   jan-roger linna - 6953024 - method of controlling combustion in a homoge...86   jan-roger linna - 6953024 - method of controlling combustion in a homoge...
86 jan-roger linna - 6953024 - method of controlling combustion in a homoge...
 
Publizitate agentzia berria egitear dago
Publizitate agentzia berria egitear dagoPublizitate agentzia berria egitear dago
Publizitate agentzia berria egitear dago
 
A Novel Approach for Cancer Detection in MRI Mammogram Using Decision Tree In...
A Novel Approach for Cancer Detection in MRI Mammogram Using Decision Tree In...A Novel Approach for Cancer Detection in MRI Mammogram Using Decision Tree In...
A Novel Approach for Cancer Detection in MRI Mammogram Using Decision Tree In...
 
IJCSI-2015-12-2-10138 (1) (2)
IJCSI-2015-12-2-10138 (1) (2)IJCSI-2015-12-2-10138 (1) (2)
IJCSI-2015-12-2-10138 (1) (2)
 
Piddington CPD - Mediation - 9 November 2016 Final
Piddington CPD - Mediation - 9 November 2016 FinalPiddington CPD - Mediation - 9 November 2016 Final
Piddington CPD - Mediation - 9 November 2016 Final
 
Pas 115 presentation
Pas 115 presentationPas 115 presentation
Pas 115 presentation
 
Cocktails alcohol(5)
Cocktails alcohol(5)Cocktails alcohol(5)
Cocktails alcohol(5)
 
Digital strategy ottawa
Digital strategy  ottawaDigital strategy  ottawa
Digital strategy ottawa
 
Orbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case StudyOrbitz and Spring Webflow Case Study
Orbitz and Spring Webflow Case Study
 
Joomla! Testing - J!DD Germany 2016
Joomla! Testing - J!DD Germany 2016Joomla! Testing - J!DD Germany 2016
Joomla! Testing - J!DD Germany 2016
 
WordPressとS3で落ちないコーポレートサイトを立ち上げよう
WordPressとS3で落ちないコーポレートサイトを立ち上げようWordPressとS3で落ちないコーポレートサイトを立ち上げよう
WordPressとS3で落ちないコーポレートサイトを立ち上げよう
 
AWSでWordPressを使って富を得た時の話 (JAWS FESTA 東海道 2016 セッション)
AWSでWordPressを使って富を得た時の話 (JAWS FESTA 東海道 2016 セッション)AWSでWordPressを使って富を得た時の話 (JAWS FESTA 東海道 2016 セッション)
AWSでWordPressを使って富を得た時の話 (JAWS FESTA 東海道 2016 セッション)
 
View Monitoring Tips
View Monitoring TipsView Monitoring Tips
View Monitoring Tips
 
[JAWS-UG関西IoT専門支部] IoTで関西のコミュニティをつなぐ
[JAWS-UG関西IoT専門支部] IoTで関西のコミュニティをつなぐ [JAWS-UG関西IoT専門支部] IoTで関西のコミュニティをつなぐ
[JAWS-UG関西IoT専門支部] IoTで関西のコミュニティをつなぐ
 
Learning organization
Learning organizationLearning organization
Learning organization
 
Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666
 
Making JavaScript Accessible
Making JavaScript AccessibleMaking JavaScript Accessible
Making JavaScript Accessible
 
ポスト・フラットデザイン 〜フラットデザイン2.0とCSSフレームワーク〜
ポスト・フラットデザイン 〜フラットデザイン2.0とCSSフレームワーク〜ポスト・フラットデザイン 〜フラットデザイン2.0とCSSフレームワーク〜
ポスト・フラットデザイン 〜フラットデザイン2.0とCSSフレームワーク〜
 
The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2
 
3. types of entrepreneurs and their characteristics
3. types of entrepreneurs and their characteristics3. types of entrepreneurs and their characteristics
3. types of entrepreneurs and their characteristics
 

Similar to PHP 7 - Above and Beyond

Php 7.2 compliance workshop php benelux
Php 7.2 compliance workshop php beneluxPhp 7.2 compliance workshop php benelux
Php 7.2 compliance workshop php benelux
Damien Seguy
 
Guidelines php 8 gig
Guidelines php 8 gigGuidelines php 8 gig
Guidelines php 8 gig
Ditinus Technology Pvt LTD
 
PHP 8: What's New and Changed
PHP 8: What's New and ChangedPHP 8: What's New and Changed
PHP 8: What's New and Changed
Ayesh Karunaratne
 
Current state-of-php
Current state-of-phpCurrent state-of-php
Current state-of-php
Richard McIntyre
 
Preparing for the next php version
Preparing for the next php versionPreparing for the next php version
Preparing for the next php version
Damien Seguy
 
Php7 HHVM and co
Php7 HHVM and coPhp7 HHVM and co
Php7 HHVM and co
weltling
 
CakePHP 3.0: Embracing the future
CakePHP 3.0: Embracing the futureCakePHP 3.0: Embracing the future
CakePHP 3.0: Embracing the future
José Lorenzo Rodríguez Urdaneta
 
Php7 hhvm and co
Php7 hhvm and coPhp7 hhvm and co
Php7 hhvm and co
Pierre Joye
 
The why and how of moving to php 7
The why and how of moving to php 7The why and how of moving to php 7
The why and how of moving to php 7
Wim Godden
 
PHP7 - A look at the future
PHP7 - A look at the futurePHP7 - A look at the future
PHP7 - A look at the future
Radu Murzea
 
PHP 7X New Features
PHP 7X New FeaturesPHP 7X New Features
PHP 7X New Features
Thanh Tai
 
What To Expect From PHP7
What To Expect From PHP7What To Expect From PHP7
What To Expect From PHP7
Codemotion
 
PHP 7 - A look at the future
PHP 7 - A look at the futurePHP 7 - A look at the future
PHP 7 - A look at the future
Radu Murzea
 
Php 5.6 vs Php 7 performance comparison
Php 5.6 vs Php 7 performance comparisonPhp 5.6 vs Php 7 performance comparison
Php 5.6 vs Php 7 performance comparison
Tu Pham
 
Php5 vs php7
Php5 vs php7Php5 vs php7
Php5 vs php7
gentlex2
 
Php7
Php7Php7
Introduction to PHP - Basics of PHP
Introduction to PHP - Basics of PHPIntroduction to PHP - Basics of PHP
Introduction to PHP - Basics of PHP
wahidullah mudaser
 
Spl in the wild - zendcon2012
Spl in the wild - zendcon2012Spl in the wild - zendcon2012
Spl in the wild - zendcon2012Elizabeth Smith
 
Writing and using php streams and sockets tek11
Writing and using php streams and sockets   tek11Writing and using php streams and sockets   tek11
Writing and using php streams and sockets tek11
Elizabeth Smith
 

Similar to PHP 7 - Above and Beyond (20)

Php 7.2 compliance workshop php benelux
Php 7.2 compliance workshop php beneluxPhp 7.2 compliance workshop php benelux
Php 7.2 compliance workshop php benelux
 
Guidelines php 8 gig
Guidelines php 8 gigGuidelines php 8 gig
Guidelines php 8 gig
 
PHP 8: What's New and Changed
PHP 8: What's New and ChangedPHP 8: What's New and Changed
PHP 8: What's New and Changed
 
Current state-of-php
Current state-of-phpCurrent state-of-php
Current state-of-php
 
Preparing for the next php version
Preparing for the next php versionPreparing for the next php version
Preparing for the next php version
 
Php7 HHVM and co
Php7 HHVM and coPhp7 HHVM and co
Php7 HHVM and co
 
CakePHP 3.0: Embracing the future
CakePHP 3.0: Embracing the futureCakePHP 3.0: Embracing the future
CakePHP 3.0: Embracing the future
 
Php7 hhvm and co
Php7 hhvm and coPhp7 hhvm and co
Php7 hhvm and co
 
The why and how of moving to php 7
The why and how of moving to php 7The why and how of moving to php 7
The why and how of moving to php 7
 
PHP7 - A look at the future
PHP7 - A look at the futurePHP7 - A look at the future
PHP7 - A look at the future
 
PHP 7X New Features
PHP 7X New FeaturesPHP 7X New Features
PHP 7X New Features
 
What To Expect From PHP7
What To Expect From PHP7What To Expect From PHP7
What To Expect From PHP7
 
PHP 7 - A look at the future
PHP 7 - A look at the futurePHP 7 - A look at the future
PHP 7 - A look at the future
 
Php 5.6 vs Php 7 performance comparison
Php 5.6 vs Php 7 performance comparisonPhp 5.6 vs Php 7 performance comparison
Php 5.6 vs Php 7 performance comparison
 
Php5 vs php7
Php5 vs php7Php5 vs php7
Php5 vs php7
 
Php7
Php7Php7
Php7
 
Sa
SaSa
Sa
 
Introduction to PHP - Basics of PHP
Introduction to PHP - Basics of PHPIntroduction to PHP - Basics of PHP
Introduction to PHP - Basics of PHP
 
Spl in the wild - zendcon2012
Spl in the wild - zendcon2012Spl in the wild - zendcon2012
Spl in the wild - zendcon2012
 
Writing and using php streams and sockets tek11
Writing and using php streams and sockets   tek11Writing and using php streams and sockets   tek11
Writing and using php streams and sockets tek11
 

Recently uploaded

Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 

Recently uploaded (20)

Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 

PHP 7 - Above and Beyond

  • 2.
  • 3.
  • 4.
  • 6.
  • 7.
  • 8. 100%+ Performance gain on most real-world applications
  • 9. What is coming in PHP 7 that may break your existing code
  • 10. What is coming in PHP 7 that will impact how you write PHP
  • 11. Get PHP7 up and running
  • 14. Backward Compatibility Breaking RFCs Continue output buffering despite aborted connection Replacing current json extension with jsond Make defining multiple default cases in a switch a syntax error Remove alternative PHP tags Abstract syntax tree Reclassify E_STRICT notices Reserve More Types in PHP7 Uniform Variable Syntax ZPP Failure on Overflow Constructor behavior of internal classes Fix "foreach" behavior Removal of dead or not yet PHP7 ported SAPIs and extensions Remove PHP 4 Constructors Fix handling of custom session handler return values
  • 15. Backward Compatibility Breaking Continue output buffering despite aborted connection Replacing current json extension with jsond Make defining multiple default cases in a switch a syntax error Remove alternative PHP tags Abstract syntax tree Reclassify E_STRICT notices Reserve More Types in PHP7 Uniform Variable Syntax ZPP Failure on Overflow Constructor behavior of internal classes Fix "foreach" behavior Removal of dead or not yet PHP7 ported SAPIs and extensions Remove PHP 4 Constructors Fix handling of custom session handler return values
  • 16. Make defining multiple default cases in a switch a syntax error https://3v4l.org/PYHog
  • 17. Remove alternative PHP tags <% opening tag <%= opening tag with echo %> closing tag (<scripts+languages*=s*(php|"php"|'php')s*>)i opening tag (</script>)i closing tag
  • 18. Remove alternative PHP tags <?= is not being removed
  • 19. Reserve More Types in PHP 7 int float bool string true, false null resource object mixed numeric If your code uses any of these new reserved words as variable names or class names, change them now.
  • 20. Removal of dead or not yet PHP7 ported SAPIs and extensions aolserver apache apache_hooks caudium continuity isapi milter phttpd pi3web roxen thttpd tux webjames apache2filter nsapi mysql ereg imap mcrypt interbase mssql oci8 pdo_dblib pdo_oci sybase_ct
  • 21. Removal of dead or not yet PHP7 ported SAPIs and extensions aolserver apache apache_hooks caudium continuity isapi milter phttpd pi3web roxen thttpd tux webjames apache2filter nsapi mysql ereg imap mcrypt interbase mssql oci8 pdo_dblib pdo_oci sybase_ct
  • 22. High Impact RFCs Spaceship Operator Anonymous Classes Bind Closure on Call Generator Return Expressions Generator Delegation Filtered unserialized() Exceptions in the Engine Easy User-Land CSPRNG Null Coalesce Operator Return Type Declarations Scalar Type Declarations Group Use Declarations
  • 23. High Impact Spaceship Operator Anonymous Classes Bind Closure on Call Generator Return Expressions Generator Delegation Filtered unserialized() Exceptions in the Engine Easy User-Land CSPRNG Null Coalesce Operator Return Type Declarations Scalar Type Declarations Group Use Declarations
  • 24. Combined Comparison (Spaceship) Operator PHP’s first trinary operator https://3v4l.org/RMPDK https://3v4l.org/Y4isF
  • 27. Return Type Declarations https://3v4l.org/VEPNr __construct() cannot declare a return type __destruct() cannot declare a return type __clone() cannot declare a return type
  • 28. Return Type Declarations When a sub-type overrides a parent method then the return type of the child must exactly match the parent and may not be omitted. If a mismatch is detected during compile time then E_COMPILE_ERROR will be issued. If a type mismatch is detected when the function returns then E_RECOVERABLE_ERROR will be issued. https://3v4l.org/D5AlG