SlideShare a Scribd company logo
1 of 20
From PHP4 to PHP5
                           Why you should migrate



 Ivo Jansch <ivo@ibuildings.nl>




                                             Ibuildings.nl BV
Contents

 •   About me
 •   The end of life of PHP4
 •   The benefits of PHP5
 •   Product support
     The migration process
 •
 •   Q&A




 Tuesday 25 September 2007     2
About me

 • CTO at Ibuildings
           PHP consultancy, development & support
       
           Netherlands and UK based
       
           Official representative of Zend
       
           http://www.achievo.org/blog
       
           http://www.ibuildings.nl
       


 • Geek
        Author of several open source projects
        Interested in Internet, Web 2.0, PHP




 Tuesday 25 September 2007                          3
The end of life of PHP4
 • PHP.net official announcement
       PHP4 support is going to end in December 2007
       Only critical security fixes until 8-8-8
       No support for PHP4 after 8-8-8!


 • Gophp5.org
       Community effort to migrate projects to PHP5
       No releases for PHP4 after February 5th, 2008
       Supported by major projects such as Drupal, Gallery,
        PEAR, phpMyAdmin, Symfony and Typo3



 Tuesday 25 September 2007                                     4
Why migrate now?
 • You still have the time to migrate, on your own
   terms, with your own planning.

 • What if you don't migrate?

 • Doom scenario: major security bug discovered in
   PHP4 after 8-8-8
       Only solution: migrate
       Migration done under stress...
       Rush job...
       Badly tested...

 Tuesday 25 September 2007                           5
Benefits of PHP5
 •   Performance
 •   Maintainability
 •   Robustness
 •   Ready for the future




 Tuesday 25 September 2007   6
Performance




 Benchmark done by Sebastian Bergmann. Full article at:
 http://sebastian-bergmann.de/archives/634-PHP-GCC-ICC-Benchmark.html


 Tuesday 25 September 2007                                              7
Maintainability
 • A new object model
       Abstract classes
       Interfaces
       Encapsulation (private, public, protected)

 • SPL
 • Easier to apply proper architecture
       Cleaner codebase
       Easier to read
       Simpler to maintain




 Tuesday 25 September 2007                           8
Robustness
 • Exception Handling
       Problematic situations handled gracefully
       Error handling not only part of code, but also of design
         try
         {
               // regular code
         }
         catch (Exception e)
         {
               // What to do in case of an error
         }


       Cleaner code -> increased productivity
                                           & more robust

 Tuesday 25 September 2007                                         9
Ready for the future
 • “Web 2.0”
       Web Services
       RSS (XML)
       Ajax
       Mashups




 • PHP has core functionality to support all of this




 Tuesday 25 September 2007                             10
Ready for the future
 • Web Services (SOAP)


       Client is as easy as:
         $ws = new SoapClient(“http://someweatherservice.com/?WSDL”);
         $weather = $ws->getWeather(“Amsterdam”);


       Server is as easy as:
         $server = new SoapServer(“calculator.wsdl”);
         $server->setObject(new myCalculator());
         $server->handle();



 • How many lines did that take in PHP4?


 Tuesday 25 September 2007                                          11
Ready for the future
 • XML
       1 line of code to parse XML
       OO access to the contents

            $xmldata = simplexml_load_file(quot;products.xmlquot;);


            foreach($xmldata->products as $product)
            {
                echo $product->manufacturer->name;
            }




 Tuesday 25 September 2007                                    12
Product support

 • Zend Framework
        PHP5 framework
        Use at Will architecture
        http://framework.zend.com


 • Zend Core
        Maintaining your PHP infrastucture
        Keep track of updates
        Get support


 • Many third party tools

 Tuesday 25 September 2007                    13
The Migration Process

 2 phases:

 • Compatibility migration
        Make things work
        End-of-life reasons
        Performance benefits


 • Code migration
        Make use of new PHP5 functionality
        All the other benefits



 Tuesday 25 September 2007                    14
Compatibility Migration

 • Take into account:
        The new object model
        Name clashes
        Some backwards incompatibilities
        Compatibility with new default settings



 • Guidelines:
        http://www.php.net/manual/en/migration5.php




 Tuesday 25 September 2007                             15
Compatibility Migration

 • Process:

        Run unit tests (if you have them)
        Do manual tests
        Fix what you find
        Repeat



 • Important: change as little as possible




 Tuesday 25 September 2007                   16
Code Migration

 • Take advantage of PHP5 features
        Revise your architecture (OO)
        Implement Exception Handling
        Replace legacy code with PHP5 functionality


 • You don't have to do this overnight
        Incremental changes
        Not all features at once
        Refactor
        Weigh benefits and costs



 Tuesday 25 September 2007                             17
Important
 • Take Migration seriously
       Create a planning
       Don't wait until 8-8-8
       Take time for testing


 • Get help
       Zend has migration services
       Use the documentation
       Ask the community
       Consider training



 Tuesday 25 September 2007            18
Questions?



Use the Q&A box (the one with the '?' icon)




                                              Ibuildings.nl BV
More info


 • Visit these websites for more information:

           http://www.php.net
       
           http://www.zend.com
       
           http://www.php.net/manual/en/migration5.php
       
           http://www.gophp5.org
       
           http://www.achievo.org/blog
       


 • ivo@ibuildings.nl

 • Thank you!

 Tuesday 25 September 2007                               20

More Related Content

Viewers also liked

Wikiとコラボレーションの過去・未来
Wikiとコラボレーションの過去・未来Wikiとコラボレーションの過去・未来
Wikiとコラボレーションの過去・未来Koichiro Eto
 
Festa Dei Sozzi
Festa Dei SozziFesta Dei Sozzi
Festa Dei Sozzialdamith
 
St Ann's Hospice and Social Media - IoF North West Annual Conference 2009
St Ann's Hospice and Social Media - IoF North West Annual Conference 2009St Ann's Hospice and Social Media - IoF North West Annual Conference 2009
St Ann's Hospice and Social Media - IoF North West Annual Conference 2009Jonathan Waddingham
 
Vbase Google
Vbase GoogleVbase Google
Vbase Googlehavs
 
Social and mobile - why your phone is your new BFF
Social and mobile - why your phone is your new BFFSocial and mobile - why your phone is your new BFF
Social and mobile - why your phone is your new BFFJonathan Waddingham
 
Quazy quilters
Quazy quiltersQuazy quilters
Quazy quiltersburnsc62
 
Baliospena 1. gaia
Baliospena 1. gaiaBaliospena 1. gaia
Baliospena 1. gaiakatixa
 
What Is H1B Visa Lottery And How Will It Work In April 2016?
What Is H1B Visa Lottery And How Will It Work In April 2016?What Is H1B Visa Lottery And How Will It Work In April 2016?
What Is H1B Visa Lottery And How Will It Work In April 2016?VisaPro Immigration Services LLC
 
PHP in a mobile ecosystem
PHP in a mobile ecosystem PHP in a mobile ecosystem
PHP in a mobile ecosystem Ivo Jansch
 
The Woman
The WomanThe Woman
The WomanSharky
 
There Is Always A Better Deal
There Is Always A Better DealThere Is Always A Better Deal
There Is Always A Better DealMartin Finn
 
Dynamic Languages In The Enterprise (4developers march 2009)
Dynamic Languages In The Enterprise (4developers march 2009)Dynamic Languages In The Enterprise (4developers march 2009)
Dynamic Languages In The Enterprise (4developers march 2009)Ivo Jansch
 

Viewers also liked (20)

Žalm 90
Žalm 90Žalm 90
Žalm 90
 
Wikiとコラボレーションの過去・未来
Wikiとコラボレーションの過去・未来Wikiとコラボレーションの過去・未来
Wikiとコラボレーションの過去・未来
 
词典大楼
词典大楼词典大楼
词典大楼
 
Festa Dei Sozzi
Festa Dei SozziFesta Dei Sozzi
Festa Dei Sozzi
 
St Ann's Hospice and Social Media - IoF North West Annual Conference 2009
St Ann's Hospice and Social Media - IoF North West Annual Conference 2009St Ann's Hospice and Social Media - IoF North West Annual Conference 2009
St Ann's Hospice and Social Media - IoF North West Annual Conference 2009
 
Kazen evanjelizacia&ucenictvo-16.02.2014
Kazen evanjelizacia&ucenictvo-16.02.2014Kazen evanjelizacia&ucenictvo-16.02.2014
Kazen evanjelizacia&ucenictvo-16.02.2014
 
Teacher Bio
Teacher BioTeacher Bio
Teacher Bio
 
Vbase Google
Vbase GoogleVbase Google
Vbase Google
 
Social and mobile - why your phone is your new BFF
Social and mobile - why your phone is your new BFFSocial and mobile - why your phone is your new BFF
Social and mobile - why your phone is your new BFF
 
Quazy quilters
Quazy quiltersQuazy quilters
Quazy quilters
 
Pie Eating Contest
Pie Eating ContestPie Eating Contest
Pie Eating Contest
 
Bovil DDB
Bovil DDBBovil DDB
Bovil DDB
 
Jan
JanJan
Jan
 
Baliospena 1. gaia
Baliospena 1. gaiaBaliospena 1. gaia
Baliospena 1. gaia
 
What Is H1B Visa Lottery And How Will It Work In April 2016?
What Is H1B Visa Lottery And How Will It Work In April 2016?What Is H1B Visa Lottery And How Will It Work In April 2016?
What Is H1B Visa Lottery And How Will It Work In April 2016?
 
PHP in a mobile ecosystem
PHP in a mobile ecosystem PHP in a mobile ecosystem
PHP in a mobile ecosystem
 
The Woman
The WomanThe Woman
The Woman
 
There Is Always A Better Deal
There Is Always A Better DealThere Is Always A Better Deal
There Is Always A Better Deal
 
Visual image
Visual imageVisual image
Visual image
 
Dynamic Languages In The Enterprise (4developers march 2009)
Dynamic Languages In The Enterprise (4developers march 2009)Dynamic Languages In The Enterprise (4developers march 2009)
Dynamic Languages In The Enterprise (4developers march 2009)
 

Similar to Why Migrate from PHP4 to PHP5: Performance, Security and Future-Proofing

Introduction into PHP5 (Jeroen van Sluijs)
Introduction into PHP5 (Jeroen van Sluijs)Introduction into PHP5 (Jeroen van Sluijs)
Introduction into PHP5 (Jeroen van Sluijs)Stefan Koopmanschap
 
Achievo ATK, an Open Source project
Achievo ATK, an Open Source projectAchievo ATK, an Open Source project
Achievo ATK, an Open Source projectIvo Jansch
 
Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008Ivo Jansch
 
Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)Ivo Jansch
 
Professional PHP: an open-source alternative for enterprise development [Kort...
Professional PHP: an open-source alternative for enterprise development [Kort...Professional PHP: an open-source alternative for enterprise development [Kort...
Professional PHP: an open-source alternative for enterprise development [Kort...Combell NV
 
Enterprise PHP Development (Dutch PHP Conference 2008)
Enterprise PHP Development (Dutch PHP Conference 2008)Enterprise PHP Development (Dutch PHP Conference 2008)
Enterprise PHP Development (Dutch PHP Conference 2008)Ivo Jansch
 
Laird Best Practices Ajax World West2008
Laird Best Practices Ajax World West2008Laird Best Practices Ajax World West2008
Laird Best Practices Ajax World West2008rajivmordani
 
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...Sébastien Morel
 
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...eZ Systems
 
Migration Concepts For Enterprise PHP Applications
Migration Concepts For Enterprise PHP ApplicationsMigration Concepts For Enterprise PHP Applications
Migration Concepts For Enterprise PHP ApplicationsMayflower GmbH
 
So gelingt der Umstieg von PHP4 auf PHP5: Erneuerung von Geschäftsanwendung...
So gelingt der Umstieg von PHP4 auf  PHP5: Erneuerung von  Geschäftsanwendung...So gelingt der Umstieg von PHP4 auf  PHP5: Erneuerung von  Geschäftsanwendung...
So gelingt der Umstieg von PHP4 auf PHP5: Erneuerung von Geschäftsanwendung...Lars Jankowfsky
 
Scalable Web Architectures: Common Patterns and Approaches
Scalable Web Architectures: Common Patterns and ApproachesScalable Web Architectures: Common Patterns and Approaches
Scalable Web Architectures: Common Patterns and Approachesadunne
 
Wicket Deliver Your Webapp On Time
Wicket Deliver Your Webapp On TimeWicket Deliver Your Webapp On Time
Wicket Deliver Your Webapp On TimeWill Hoover
 
High Performance Php My Sql Scaling Techniques
High Performance Php My Sql Scaling TechniquesHigh Performance Php My Sql Scaling Techniques
High Performance Php My Sql Scaling TechniquesZendCon
 
Enterprise Drupal Application & Hosting Infrastructure Level Monitoring
Enterprise Drupal Application & Hosting Infrastructure Level MonitoringEnterprise Drupal Application & Hosting Infrastructure Level Monitoring
Enterprise Drupal Application & Hosting Infrastructure Level MonitoringDaniel Kanchev
 
Jun Heider - Flex Application Profiling By Example
Jun Heider - Flex Application Profiling By ExampleJun Heider - Flex Application Profiling By Example
Jun Heider - Flex Application Profiling By Example360|Conferences
 
PHP Batch Jobs on IBM i
PHP Batch Jobs on IBM iPHP Batch Jobs on IBM i
PHP Batch Jobs on IBM iAlan Seiden
 
Best Practices with Zend Framework - Matthew Weier O'Phinney
Best Practices with Zend Framework - Matthew Weier O'PhinneyBest Practices with Zend Framework - Matthew Weier O'Phinney
Best Practices with Zend Framework - Matthew Weier O'Phinneydpc
 

Similar to Why Migrate from PHP4 to PHP5: Performance, Security and Future-Proofing (20)

Introduction into PHP5 (Jeroen van Sluijs)
Introduction into PHP5 (Jeroen van Sluijs)Introduction into PHP5 (Jeroen van Sluijs)
Introduction into PHP5 (Jeroen van Sluijs)
 
Achievo ATK, an Open Source project
Achievo ATK, an Open Source projectAchievo ATK, an Open Source project
Achievo ATK, an Open Source project
 
Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008
 
Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)
 
Professional PHP: an open-source alternative for enterprise development [Kort...
Professional PHP: an open-source alternative for enterprise development [Kort...Professional PHP: an open-source alternative for enterprise development [Kort...
Professional PHP: an open-source alternative for enterprise development [Kort...
 
Enterprise PHP Development (Dutch PHP Conference 2008)
Enterprise PHP Development (Dutch PHP Conference 2008)Enterprise PHP Development (Dutch PHP Conference 2008)
Enterprise PHP Development (Dutch PHP Conference 2008)
 
Laird Best Practices Ajax World West2008
Laird Best Practices Ajax World West2008Laird Best Practices Ajax World West2008
Laird Best Practices Ajax World West2008
 
Becoming A Php Ninja
Becoming A Php NinjaBecoming A Php Ninja
Becoming A Php Ninja
 
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
 
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
 
Qtp9.5
Qtp9.5Qtp9.5
Qtp9.5
 
Migration Concepts For Enterprise PHP Applications
Migration Concepts For Enterprise PHP ApplicationsMigration Concepts For Enterprise PHP Applications
Migration Concepts For Enterprise PHP Applications
 
So gelingt der Umstieg von PHP4 auf PHP5: Erneuerung von Geschäftsanwendung...
So gelingt der Umstieg von PHP4 auf  PHP5: Erneuerung von  Geschäftsanwendung...So gelingt der Umstieg von PHP4 auf  PHP5: Erneuerung von  Geschäftsanwendung...
So gelingt der Umstieg von PHP4 auf PHP5: Erneuerung von Geschäftsanwendung...
 
Scalable Web Architectures: Common Patterns and Approaches
Scalable Web Architectures: Common Patterns and ApproachesScalable Web Architectures: Common Patterns and Approaches
Scalable Web Architectures: Common Patterns and Approaches
 
Wicket Deliver Your Webapp On Time
Wicket Deliver Your Webapp On TimeWicket Deliver Your Webapp On Time
Wicket Deliver Your Webapp On Time
 
High Performance Php My Sql Scaling Techniques
High Performance Php My Sql Scaling TechniquesHigh Performance Php My Sql Scaling Techniques
High Performance Php My Sql Scaling Techniques
 
Enterprise Drupal Application & Hosting Infrastructure Level Monitoring
Enterprise Drupal Application & Hosting Infrastructure Level MonitoringEnterprise Drupal Application & Hosting Infrastructure Level Monitoring
Enterprise Drupal Application & Hosting Infrastructure Level Monitoring
 
Jun Heider - Flex Application Profiling By Example
Jun Heider - Flex Application Profiling By ExampleJun Heider - Flex Application Profiling By Example
Jun Heider - Flex Application Profiling By Example
 
PHP Batch Jobs on IBM i
PHP Batch Jobs on IBM iPHP Batch Jobs on IBM i
PHP Batch Jobs on IBM i
 
Best Practices with Zend Framework - Matthew Weier O'Phinney
Best Practices with Zend Framework - Matthew Weier O'PhinneyBest Practices with Zend Framework - Matthew Weier O'Phinney
Best Practices with Zend Framework - Matthew Weier O'Phinney
 

More from Ivo Jansch

Own Your Apps
Own Your Apps Own Your Apps
Own Your Apps Ivo Jansch
 
PHP Development In The Cloud (php|tek edition)
PHP Development In The Cloud (php|tek edition)PHP Development In The Cloud (php|tek edition)
PHP Development In The Cloud (php|tek edition)Ivo Jansch
 
Mobile for PHP developers
Mobile for PHP developersMobile for PHP developers
Mobile for PHP developersIvo Jansch
 
Building an SSO platform in PHP (Zend Webinar Edition)
Building an SSO platform in PHP (Zend Webinar Edition)Building an SSO platform in PHP (Zend Webinar Edition)
Building an SSO platform in PHP (Zend Webinar Edition)Ivo Jansch
 
The Business Case For Telecommuting
The Business Case For TelecommutingThe Business Case For Telecommuting
The Business Case For TelecommutingIvo Jansch
 
Php Development In The Cloud
Php Development In The CloudPhp Development In The Cloud
Php Development In The CloudIvo Jansch
 
27 Ways To Be A Better Developer (PHPBenelux 2011)
27 Ways To Be A Better Developer (PHPBenelux 2011)27 Ways To Be A Better Developer (PHPBenelux 2011)
27 Ways To Be A Better Developer (PHPBenelux 2011)Ivo Jansch
 
Building an SSO platform in php (Zendcon 2010)
Building an SSO platform in php (Zendcon 2010)Building an SSO platform in php (Zendcon 2010)
Building an SSO platform in php (Zendcon 2010)Ivo Jansch
 
PHP in a Mobile Ecosystem (Zendcon 2010)
PHP in a Mobile Ecosystem (Zendcon 2010)PHP in a Mobile Ecosystem (Zendcon 2010)
PHP in a Mobile Ecosystem (Zendcon 2010)Ivo Jansch
 
PHP and the Cloud (phpbenelux conference)
PHP and the Cloud (phpbenelux conference)PHP and the Cloud (phpbenelux conference)
PHP and the Cloud (phpbenelux conference)Ivo Jansch
 
Content Management Selection and Strategy
Content Management Selection and StrategyContent Management Selection and Strategy
Content Management Selection and StrategyIvo Jansch
 
PHP and the Cloud
PHP and the CloudPHP and the Cloud
PHP and the CloudIvo Jansch
 
PHP in the Real World
PHP in the Real WorldPHP in the Real World
PHP in the Real WorldIvo Jansch
 
Hello Enterprise, my name is PHP
Hello Enterprise, my name is PHPHello Enterprise, my name is PHP
Hello Enterprise, my name is PHPIvo Jansch
 
Introduction to PHP (Casino Affiliate Convention 2008)
Introduction to PHP (Casino Affiliate Convention 2008)Introduction to PHP (Casino Affiliate Convention 2008)
Introduction to PHP (Casino Affiliate Convention 2008)Ivo Jansch
 
Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)Ivo Jansch
 
Maatwerk Software
Maatwerk SoftwareMaatwerk Software
Maatwerk SoftwareIvo Jansch
 
Introductie Web 2.0
Introductie Web 2.0Introductie Web 2.0
Introductie Web 2.0Ivo Jansch
 
Wat is Open Source?
Wat is Open Source?Wat is Open Source?
Wat is Open Source?Ivo Jansch
 
The i7 Framework for System-i
The i7 Framework for System-iThe i7 Framework for System-i
The i7 Framework for System-iIvo Jansch
 

More from Ivo Jansch (20)

Own Your Apps
Own Your Apps Own Your Apps
Own Your Apps
 
PHP Development In The Cloud (php|tek edition)
PHP Development In The Cloud (php|tek edition)PHP Development In The Cloud (php|tek edition)
PHP Development In The Cloud (php|tek edition)
 
Mobile for PHP developers
Mobile for PHP developersMobile for PHP developers
Mobile for PHP developers
 
Building an SSO platform in PHP (Zend Webinar Edition)
Building an SSO platform in PHP (Zend Webinar Edition)Building an SSO platform in PHP (Zend Webinar Edition)
Building an SSO platform in PHP (Zend Webinar Edition)
 
The Business Case For Telecommuting
The Business Case For TelecommutingThe Business Case For Telecommuting
The Business Case For Telecommuting
 
Php Development In The Cloud
Php Development In The CloudPhp Development In The Cloud
Php Development In The Cloud
 
27 Ways To Be A Better Developer (PHPBenelux 2011)
27 Ways To Be A Better Developer (PHPBenelux 2011)27 Ways To Be A Better Developer (PHPBenelux 2011)
27 Ways To Be A Better Developer (PHPBenelux 2011)
 
Building an SSO platform in php (Zendcon 2010)
Building an SSO platform in php (Zendcon 2010)Building an SSO platform in php (Zendcon 2010)
Building an SSO platform in php (Zendcon 2010)
 
PHP in a Mobile Ecosystem (Zendcon 2010)
PHP in a Mobile Ecosystem (Zendcon 2010)PHP in a Mobile Ecosystem (Zendcon 2010)
PHP in a Mobile Ecosystem (Zendcon 2010)
 
PHP and the Cloud (phpbenelux conference)
PHP and the Cloud (phpbenelux conference)PHP and the Cloud (phpbenelux conference)
PHP and the Cloud (phpbenelux conference)
 
Content Management Selection and Strategy
Content Management Selection and StrategyContent Management Selection and Strategy
Content Management Selection and Strategy
 
PHP and the Cloud
PHP and the CloudPHP and the Cloud
PHP and the Cloud
 
PHP in the Real World
PHP in the Real WorldPHP in the Real World
PHP in the Real World
 
Hello Enterprise, my name is PHP
Hello Enterprise, my name is PHPHello Enterprise, my name is PHP
Hello Enterprise, my name is PHP
 
Introduction to PHP (Casino Affiliate Convention 2008)
Introduction to PHP (Casino Affiliate Convention 2008)Introduction to PHP (Casino Affiliate Convention 2008)
Introduction to PHP (Casino Affiliate Convention 2008)
 
Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)
 
Maatwerk Software
Maatwerk SoftwareMaatwerk Software
Maatwerk Software
 
Introductie Web 2.0
Introductie Web 2.0Introductie Web 2.0
Introductie Web 2.0
 
Wat is Open Source?
Wat is Open Source?Wat is Open Source?
Wat is Open Source?
 
The i7 Framework for System-i
The i7 Framework for System-iThe i7 Framework for System-i
The i7 Framework for System-i
 

Recently uploaded

Buy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy Verified Accounts
 
Marketplace and Quality Assurance Presentation - Vincent Chirchir
Marketplace and Quality Assurance Presentation - Vincent ChirchirMarketplace and Quality Assurance Presentation - Vincent Chirchir
Marketplace and Quality Assurance Presentation - Vincent Chirchirictsugar
 
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deckPitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deckHajeJanKamps
 
Global Scenario On Sustainable and Resilient Coconut Industry by Dr. Jelfina...
Global Scenario On Sustainable  and Resilient Coconut Industry by Dr. Jelfina...Global Scenario On Sustainable  and Resilient Coconut Industry by Dr. Jelfina...
Global Scenario On Sustainable and Resilient Coconut Industry by Dr. Jelfina...ictsugar
 
Islamabad Escorts | Call 03070433345 | Escort Service in Islamabad
Islamabad Escorts | Call 03070433345 | Escort Service in IslamabadIslamabad Escorts | Call 03070433345 | Escort Service in Islamabad
Islamabad Escorts | Call 03070433345 | Escort Service in IslamabadAyesha Khan
 
Kenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith PereraKenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith Pereraictsugar
 
NewBase 19 April 2024 Energy News issue - 1717 by Khaled Al Awadi.pdf
NewBase  19 April  2024  Energy News issue - 1717 by Khaled Al Awadi.pdfNewBase  19 April  2024  Energy News issue - 1717 by Khaled Al Awadi.pdf
NewBase 19 April 2024 Energy News issue - 1717 by Khaled Al Awadi.pdfKhaled Al Awadi
 
APRIL2024_UKRAINE_xml_0000000000000 .pdf
APRIL2024_UKRAINE_xml_0000000000000 .pdfAPRIL2024_UKRAINE_xml_0000000000000 .pdf
APRIL2024_UKRAINE_xml_0000000000000 .pdfRbc Rbcua
 
Innovation Conference 5th March 2024.pdf
Innovation Conference 5th March 2024.pdfInnovation Conference 5th March 2024.pdf
Innovation Conference 5th March 2024.pdfrichard876048
 
Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03DallasHaselhorst
 
8447779800, Low rate Call girls in Rohini Delhi NCR
8447779800, Low rate Call girls in Rohini Delhi NCR8447779800, Low rate Call girls in Rohini Delhi NCR
8447779800, Low rate Call girls in Rohini Delhi NCRashishs7044
 
Memorándum de Entendimiento (MoU) entre Codelco y SQM
Memorándum de Entendimiento (MoU) entre Codelco y SQMMemorándum de Entendimiento (MoU) entre Codelco y SQM
Memorándum de Entendimiento (MoU) entre Codelco y SQMVoces Mineras
 
Annual General Meeting Presentation Slides
Annual General Meeting Presentation SlidesAnnual General Meeting Presentation Slides
Annual General Meeting Presentation SlidesKeppelCorporation
 
FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607dollysharma2066
 
Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Kirill Klimov
 
International Business Environments and Operations 16th Global Edition test b...
International Business Environments and Operations 16th Global Edition test b...International Business Environments and Operations 16th Global Edition test b...
International Business Environments and Operations 16th Global Edition test b...ssuserf63bd7
 
PSCC - Capability Statement Presentation
PSCC - Capability Statement PresentationPSCC - Capability Statement Presentation
PSCC - Capability Statement PresentationAnamaria Contreras
 
Market Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 EditionMarket Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 EditionMintel Group
 

Recently uploaded (20)

Buy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail Accounts
 
Marketplace and Quality Assurance Presentation - Vincent Chirchir
Marketplace and Quality Assurance Presentation - Vincent ChirchirMarketplace and Quality Assurance Presentation - Vincent Chirchir
Marketplace and Quality Assurance Presentation - Vincent Chirchir
 
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deckPitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
 
Global Scenario On Sustainable and Resilient Coconut Industry by Dr. Jelfina...
Global Scenario On Sustainable  and Resilient Coconut Industry by Dr. Jelfina...Global Scenario On Sustainable  and Resilient Coconut Industry by Dr. Jelfina...
Global Scenario On Sustainable and Resilient Coconut Industry by Dr. Jelfina...
 
Islamabad Escorts | Call 03070433345 | Escort Service in Islamabad
Islamabad Escorts | Call 03070433345 | Escort Service in IslamabadIslamabad Escorts | Call 03070433345 | Escort Service in Islamabad
Islamabad Escorts | Call 03070433345 | Escort Service in Islamabad
 
Kenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith PereraKenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith Perera
 
NewBase 19 April 2024 Energy News issue - 1717 by Khaled Al Awadi.pdf
NewBase  19 April  2024  Energy News issue - 1717 by Khaled Al Awadi.pdfNewBase  19 April  2024  Energy News issue - 1717 by Khaled Al Awadi.pdf
NewBase 19 April 2024 Energy News issue - 1717 by Khaled Al Awadi.pdf
 
APRIL2024_UKRAINE_xml_0000000000000 .pdf
APRIL2024_UKRAINE_xml_0000000000000 .pdfAPRIL2024_UKRAINE_xml_0000000000000 .pdf
APRIL2024_UKRAINE_xml_0000000000000 .pdf
 
Innovation Conference 5th March 2024.pdf
Innovation Conference 5th March 2024.pdfInnovation Conference 5th March 2024.pdf
Innovation Conference 5th March 2024.pdf
 
Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03
 
8447779800, Low rate Call girls in Rohini Delhi NCR
8447779800, Low rate Call girls in Rohini Delhi NCR8447779800, Low rate Call girls in Rohini Delhi NCR
8447779800, Low rate Call girls in Rohini Delhi NCR
 
Memorándum de Entendimiento (MoU) entre Codelco y SQM
Memorándum de Entendimiento (MoU) entre Codelco y SQMMemorándum de Entendimiento (MoU) entre Codelco y SQM
Memorándum de Entendimiento (MoU) entre Codelco y SQM
 
Annual General Meeting Presentation Slides
Annual General Meeting Presentation SlidesAnnual General Meeting Presentation Slides
Annual General Meeting Presentation Slides
 
FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607
 
Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024Flow Your Strategy at Flight Levels Day 2024
Flow Your Strategy at Flight Levels Day 2024
 
International Business Environments and Operations 16th Global Edition test b...
International Business Environments and Operations 16th Global Edition test b...International Business Environments and Operations 16th Global Edition test b...
International Business Environments and Operations 16th Global Edition test b...
 
Enjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCR
Enjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCREnjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCR
Enjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCR
 
No-1 Call Girls In Goa 93193 VIP 73153 Escort service In North Goa Panaji, Ca...
No-1 Call Girls In Goa 93193 VIP 73153 Escort service In North Goa Panaji, Ca...No-1 Call Girls In Goa 93193 VIP 73153 Escort service In North Goa Panaji, Ca...
No-1 Call Girls In Goa 93193 VIP 73153 Escort service In North Goa Panaji, Ca...
 
PSCC - Capability Statement Presentation
PSCC - Capability Statement PresentationPSCC - Capability Statement Presentation
PSCC - Capability Statement Presentation
 
Market Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 EditionMarket Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 Edition
 

Why Migrate from PHP4 to PHP5: Performance, Security and Future-Proofing

  • 1. From PHP4 to PHP5 Why you should migrate Ivo Jansch <ivo@ibuildings.nl> Ibuildings.nl BV
  • 2. Contents • About me • The end of life of PHP4 • The benefits of PHP5 • Product support The migration process • • Q&A Tuesday 25 September 2007 2
  • 3. About me • CTO at Ibuildings PHP consultancy, development & support  Netherlands and UK based  Official representative of Zend  http://www.achievo.org/blog  http://www.ibuildings.nl  • Geek  Author of several open source projects  Interested in Internet, Web 2.0, PHP Tuesday 25 September 2007 3
  • 4. The end of life of PHP4 • PHP.net official announcement  PHP4 support is going to end in December 2007  Only critical security fixes until 8-8-8  No support for PHP4 after 8-8-8! • Gophp5.org  Community effort to migrate projects to PHP5  No releases for PHP4 after February 5th, 2008  Supported by major projects such as Drupal, Gallery, PEAR, phpMyAdmin, Symfony and Typo3 Tuesday 25 September 2007 4
  • 5. Why migrate now? • You still have the time to migrate, on your own terms, with your own planning. • What if you don't migrate? • Doom scenario: major security bug discovered in PHP4 after 8-8-8  Only solution: migrate  Migration done under stress...  Rush job...  Badly tested... Tuesday 25 September 2007 5
  • 6. Benefits of PHP5 • Performance • Maintainability • Robustness • Ready for the future Tuesday 25 September 2007 6
  • 7. Performance Benchmark done by Sebastian Bergmann. Full article at: http://sebastian-bergmann.de/archives/634-PHP-GCC-ICC-Benchmark.html Tuesday 25 September 2007 7
  • 8. Maintainability • A new object model  Abstract classes  Interfaces  Encapsulation (private, public, protected) • SPL • Easier to apply proper architecture  Cleaner codebase  Easier to read  Simpler to maintain Tuesday 25 September 2007 8
  • 9. Robustness • Exception Handling  Problematic situations handled gracefully  Error handling not only part of code, but also of design try { // regular code } catch (Exception e) { // What to do in case of an error }  Cleaner code -> increased productivity & more robust Tuesday 25 September 2007 9
  • 10. Ready for the future • “Web 2.0”  Web Services  RSS (XML)  Ajax  Mashups • PHP has core functionality to support all of this Tuesday 25 September 2007 10
  • 11. Ready for the future • Web Services (SOAP)  Client is as easy as: $ws = new SoapClient(“http://someweatherservice.com/?WSDL”); $weather = $ws->getWeather(“Amsterdam”);  Server is as easy as: $server = new SoapServer(“calculator.wsdl”); $server->setObject(new myCalculator()); $server->handle(); • How many lines did that take in PHP4? Tuesday 25 September 2007 11
  • 12. Ready for the future • XML  1 line of code to parse XML  OO access to the contents $xmldata = simplexml_load_file(quot;products.xmlquot;); foreach($xmldata->products as $product) { echo $product->manufacturer->name; } Tuesday 25 September 2007 12
  • 13. Product support • Zend Framework  PHP5 framework  Use at Will architecture  http://framework.zend.com • Zend Core  Maintaining your PHP infrastucture  Keep track of updates  Get support • Many third party tools Tuesday 25 September 2007 13
  • 14. The Migration Process 2 phases: • Compatibility migration  Make things work  End-of-life reasons  Performance benefits • Code migration  Make use of new PHP5 functionality  All the other benefits Tuesday 25 September 2007 14
  • 15. Compatibility Migration • Take into account:  The new object model  Name clashes  Some backwards incompatibilities  Compatibility with new default settings • Guidelines:  http://www.php.net/manual/en/migration5.php Tuesday 25 September 2007 15
  • 16. Compatibility Migration • Process:  Run unit tests (if you have them)  Do manual tests  Fix what you find  Repeat • Important: change as little as possible Tuesday 25 September 2007 16
  • 17. Code Migration • Take advantage of PHP5 features  Revise your architecture (OO)  Implement Exception Handling  Replace legacy code with PHP5 functionality • You don't have to do this overnight  Incremental changes  Not all features at once  Refactor  Weigh benefits and costs Tuesday 25 September 2007 17
  • 18. Important • Take Migration seriously  Create a planning  Don't wait until 8-8-8  Take time for testing • Get help  Zend has migration services  Use the documentation  Ask the community  Consider training Tuesday 25 September 2007 18
  • 19. Questions? Use the Q&A box (the one with the '?' icon) Ibuildings.nl BV
  • 20. More info • Visit these websites for more information: http://www.php.net  http://www.zend.com  http://www.php.net/manual/en/migration5.php  http://www.gophp5.org  http://www.achievo.org/blog  • ivo@ibuildings.nl • Thank you! Tuesday 25 September 2007 20