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...eZ Systems
 
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
 
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

The CMO Survey - Highlights and Insights Report - Spring 2024
The CMO Survey - Highlights and Insights Report - Spring 2024The CMO Survey - Highlights and Insights Report - Spring 2024
The CMO Survey - Highlights and Insights Report - Spring 2024christinemoorman
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMANIlamathiKannappan
 
VIP Call Girls Pune Kirti 8617697112 Independent Escort Service Pune
VIP Call Girls Pune Kirti 8617697112 Independent Escort Service PuneVIP Call Girls Pune Kirti 8617697112 Independent Escort Service Pune
VIP Call Girls Pune Kirti 8617697112 Independent Escort Service PuneCall girls in Ahmedabad High profile
 
7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...Paul Menig
 
Russian Faridabad Call Girls(Badarpur) : ☎ 8168257667, @4999
Russian Faridabad Call Girls(Badarpur) : ☎ 8168257667, @4999Russian Faridabad Call Girls(Badarpur) : ☎ 8168257667, @4999
Russian Faridabad Call Girls(Badarpur) : ☎ 8168257667, @4999Tina Ji
 
Sales & Marketing Alignment: How to Synergize for Success
Sales & Marketing Alignment: How to Synergize for SuccessSales & Marketing Alignment: How to Synergize for Success
Sales & Marketing Alignment: How to Synergize for SuccessAggregage
 
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service Jamshedpur
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service JamshedpurVIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service Jamshedpur
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service JamshedpurSuhani Kapoor
 
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...lizamodels9
 
Monte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMMonte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMRavindra Nath Shukla
 
Tech Startup Growth Hacking 101 - Basics on Growth Marketing
Tech Startup Growth Hacking 101  - Basics on Growth MarketingTech Startup Growth Hacking 101  - Basics on Growth Marketing
Tech Startup Growth Hacking 101 - Basics on Growth MarketingShawn Pang
 
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...Dave Litwiller
 
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...lizamodels9
 
2024 Numerator Consumer Study of Cannabis Usage
2024 Numerator Consumer Study of Cannabis Usage2024 Numerator Consumer Study of Cannabis Usage
2024 Numerator Consumer Study of Cannabis UsageNeil Kimberley
 
Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Neil Kimberley
 
Call Girls In Radisson Blu Hotel New Delhi Paschim Vihar ❤️8860477959 Escorts...
Call Girls In Radisson Blu Hotel New Delhi Paschim Vihar ❤️8860477959 Escorts...Call Girls In Radisson Blu Hotel New Delhi Paschim Vihar ❤️8860477959 Escorts...
Call Girls In Radisson Blu Hotel New Delhi Paschim Vihar ❤️8860477959 Escorts...lizamodels9
 
RE Capital's Visionary Leadership under Newman Leech
RE Capital's Visionary Leadership under Newman LeechRE Capital's Visionary Leadership under Newman Leech
RE Capital's Visionary Leadership under Newman LeechNewman George Leech
 
Vip Dewas Call Girls #9907093804 Contact Number Escorts Service Dewas
Vip Dewas Call Girls #9907093804 Contact Number Escorts Service DewasVip Dewas Call Girls #9907093804 Contact Number Escorts Service Dewas
Vip Dewas Call Girls #9907093804 Contact Number Escorts Service Dewasmakika9823
 
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...anilsa9823
 

Recently uploaded (20)

The CMO Survey - Highlights and Insights Report - Spring 2024
The CMO Survey - Highlights and Insights Report - Spring 2024The CMO Survey - Highlights and Insights Report - Spring 2024
The CMO Survey - Highlights and Insights Report - Spring 2024
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMAN
 
VIP Call Girls Pune Kirti 8617697112 Independent Escort Service Pune
VIP Call Girls Pune Kirti 8617697112 Independent Escort Service PuneVIP Call Girls Pune Kirti 8617697112 Independent Escort Service Pune
VIP Call Girls Pune Kirti 8617697112 Independent Escort Service Pune
 
7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...
 
Russian Faridabad Call Girls(Badarpur) : ☎ 8168257667, @4999
Russian Faridabad Call Girls(Badarpur) : ☎ 8168257667, @4999Russian Faridabad Call Girls(Badarpur) : ☎ 8168257667, @4999
Russian Faridabad Call Girls(Badarpur) : ☎ 8168257667, @4999
 
Sales & Marketing Alignment: How to Synergize for Success
Sales & Marketing Alignment: How to Synergize for SuccessSales & Marketing Alignment: How to Synergize for Success
Sales & Marketing Alignment: How to Synergize for Success
 
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service Jamshedpur
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service JamshedpurVIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service Jamshedpur
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service Jamshedpur
 
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...
 
Monte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMMonte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSM
 
Tech Startup Growth Hacking 101 - Basics on Growth Marketing
Tech Startup Growth Hacking 101  - Basics on Growth MarketingTech Startup Growth Hacking 101  - Basics on Growth Marketing
Tech Startup Growth Hacking 101 - Basics on Growth Marketing
 
Best Practices for Implementing an External Recruiting Partnership
Best Practices for Implementing an External Recruiting PartnershipBest Practices for Implementing an External Recruiting Partnership
Best Practices for Implementing an External Recruiting Partnership
 
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
 
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...
 
2024 Numerator Consumer Study of Cannabis Usage
2024 Numerator Consumer Study of Cannabis Usage2024 Numerator Consumer Study of Cannabis Usage
2024 Numerator Consumer Study of Cannabis Usage
 
Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023
 
Call Girls In Radisson Blu Hotel New Delhi Paschim Vihar ❤️8860477959 Escorts...
Call Girls In Radisson Blu Hotel New Delhi Paschim Vihar ❤️8860477959 Escorts...Call Girls In Radisson Blu Hotel New Delhi Paschim Vihar ❤️8860477959 Escorts...
Call Girls In Radisson Blu Hotel New Delhi Paschim Vihar ❤️8860477959 Escorts...
 
KestrelPro Flyer Japan IT Week 2024 (English)
KestrelPro Flyer Japan IT Week 2024 (English)KestrelPro Flyer Japan IT Week 2024 (English)
KestrelPro Flyer Japan IT Week 2024 (English)
 
RE Capital's Visionary Leadership under Newman Leech
RE Capital's Visionary Leadership under Newman LeechRE Capital's Visionary Leadership under Newman Leech
RE Capital's Visionary Leadership under Newman Leech
 
Vip Dewas Call Girls #9907093804 Contact Number Escorts Service Dewas
Vip Dewas Call Girls #9907093804 Contact Number Escorts Service DewasVip Dewas Call Girls #9907093804 Contact Number Escorts Service Dewas
Vip Dewas Call Girls #9907093804 Contact Number Escorts Service Dewas
 
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
 

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