SlideShare a Scribd company logo
1 of 19
Introduction in PHP5



Jeroen van Sluijs
Software Engineer
Ibuildings.nl
                    Copyright © 2007 Ibuildings.nl / Zend Technologies LTD.
About ibuildings.nl
  • PHP development since 1999
  • Vlissingen, Amsterdam, Sittard, London
  • 43 employees, 18 ZCE
      •   jobs@ibuildings.nl

  • ‘Official Zend Representative’ for Benelux and Scandinavie
         PHP5-migration support and training
         Professionalise PHP in Netherlands

      Professional Services
  •

         Consulting for PHP projects, applications and infrastructure
         Development-methods and software processes
         Application auditing (scalability, performance, security)
         Zend Onsite Training (PHP, Products)
Short Term Benefits




Copyright © 2007 Ibuildings.nl / Zend Technologies LTD.
Out of the Box Enhancements
• The migration will present performance
  enhancements
• Immediate robust improvements with almost no effort
• There is no need to redesign your application!
• Your code only needs to be adjusted to run on PHP5




                                                        4/19
Migrating To Php5
• Only 5 (major) things to take in account
   in order to migrate from PHP4 to PHP5:
    Direct assignment in a class to $this is not allowed anymore
    Function array_merge no longer accepts no-array parameters
    Functions strrpos and strripos search the full $needle
      parameter

    Function get_class returns the case-preserved version of the
      class name (Case sensitive)

    Objects always passed by reference

• No new development on PHP4 besides security fixes


                                                                    5/19
Immediate Benefits #1
• Improved Security
      echo filter_var($int, FILTER_VALIDATE_INT);

• Flexibility
    Programming both OO and Procedural code

• Better error handling using exceptions
• Native support for modern web technologies
    JSON (Javascript object notation)
    SOAP (Simple Object Access Protocol)
    Better and faster XML processing (DOM, SimpleXML and more..)
       • 20-50% faster in PHP5.2.1
    Better MVC frameworks (Zend Framework, Symfony, Prado)



                                                              6/19
Immediate Benefits #2

• Test compares PHP binaries 4.4.4, 5.0.5, 5.1.6 and 5.2.0

• Several scripts tested
    Simple scripts
    Complex object oriented




                                                         7/19
PHP4 vs. PHP5 Statistics




                           8/19
Long Term Benefits




Copyright © 2007 Ibuildings.nl / Zend Technologies LTD.
Object Oriented Programming
in PHP5
• OOP improves your application development in the
   following areas:

    Modular development
    Code is much easier to maintain
    Exceptions allow much easier error handling
    Object Oriented Programming




                                                     10/19
PHP5 Features
In Details #1

 • Improved object model
    1.   Visibility (PPP) - Public, Protected, Private, Final
    2.   Abstraction
    3.   Interfaces
    4.   Object constructors and destructors
    5.   Magic methods
    6.   Type hinting
    7.   Static class properties




                                                                11/19
PHP5 Features
In Details #2

 • New Exception Model (try/catch/throw)
    try {
     if ($error) {
       throw new Exception (“This is my error”);
      }
     } catch (Exception $e) {
       // handle exception
    }

 • Introspection/Reflection
    echo reflection_method::export('Foo', 'func');


 • Iterators (SPL)
     Access Objects as Arrays
    $dir = new DirectoryIterator('.');
      foreach ($dir as $file) {
        echo $file.quot;rnquot;;
      }


                                                     12/19
PHP5 Features
In Details #3

• Native SOAP/WSDL support
     SOAP Server and SOAP Client
       • class MySOAPServer {
           public function getMessage() {
                return “Hello World!”;
          }};
       • $options = array('uri'='http://example.org/soap/server');
       • $server = new SoapServer(NULL, $options);
       • $client = new SoapClient(NULL, $options);
         echo $client->getMessage();



• Many new array and stream functions




                                                                     13/19
PHP5 Features
In Details #4

• Improved Native XML support
    The XML implementation in PHP5 was completely rewritten
    XML files are extremely simple to read and modify
    SimpleXML - a vastly improved XML accessing technique that
      can reduce the total code required

      $library = simplexml_load_file('library.xml');

      foreach ($library->book as $book) {
          echo $book['isbn']; // attribute
          echo $book->title; // element};




                                                               14/19
PHP5 Features
In Details #5

• Database Improvements
     PDO: Identical OO interface to many DB systems (MySQL,
      SQLite, Oracle, DB2, Postgres, Informix, ODBC)

     Prepared statements
       $stmt = $mysqli->prepare(quot;INSERT INTO car VALUES (?, ?, ?)quot;);
       $stmt->bind_param('ssd', $brand, $type, $nof_tyres);

       $brand = 'Mazda';
       ...
       $stmt->execute();




                                                                       15/19
Zend Core 2.0
A supported Certified PHP5 Binary

• Zend Core. Distribution for PHP5
• Advantages:
    All components included in a simple setup:
      • PHP5
      • Zend Framework
      • MySQL
      • Apache
      • phpMyAdmin
    Security
    Stability
    Enhanced - Includes fully tested and certified PHP extensions
      such as DB drivers, XML, Web Services, LDAP and more…



                                                                16/19
Zend Core 2.0
A supported Certified PHP5 Binary

• The perfect Web application development environment




                                                  17/19
More information

  • General Info
     http://www.ibuildings.nl
     http://www.zend.com
     http://www.php.net

     info@ibuildings.nl

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




                                                    18/19
Thank you.




        Copyright © 2007 Ibuildings.nl / Zend Technologies LTD.

More Related Content

What's hot

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
 
Web performance optimization
Web performance optimizationWeb performance optimization
Web performance optimizationKaliop-slide
 
POX to HATEOAS: Our Company's Journey Building a Hypermedia API
POX to HATEOAS: Our Company's Journey Building a Hypermedia APIPOX to HATEOAS: Our Company's Journey Building a Hypermedia API
POX to HATEOAS: Our Company's Journey Building a Hypermedia APILuke Stokes
 
Php through the eyes of a hoster: PHPNW10
Php through the eyes of a hoster: PHPNW10Php through the eyes of a hoster: PHPNW10
Php through the eyes of a hoster: PHPNW10Combell NV
 
Documentation Insight技术架构与开发历程
Documentation Insight技术架构与开发历程Documentation Insight技术架构与开发历程
Documentation Insight技术架构与开发历程jeffz
 
PHP and Web Services
PHP and Web ServicesPHP and Web Services
PHP and Web ServicesBruno Pedro
 
PHP Introduction ( Fedora )
PHP Introduction ( Fedora )PHP Introduction ( Fedora )
PHP Introduction ( Fedora )Kishore Kumar
 
PHP7.1 New Features & Performance
PHP7.1 New Features & PerformancePHP7.1 New Features & Performance
PHP7.1 New Features & PerformanceXinchen Hui
 
Phing - A PHP Build Tool (An Introduction)
Phing - A PHP Build Tool (An Introduction)Phing - A PHP Build Tool (An Introduction)
Phing - A PHP Build Tool (An Introduction)Michiel Rook
 
Constructor and encapsulation in php
Constructor and encapsulation in phpConstructor and encapsulation in php
Constructor and encapsulation in phpSHIVANI SONI
 
Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)Ivo Jansch
 

What's hot (20)

Php Presentation
Php PresentationPhp Presentation
Php Presentation
 
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...
 
Hidden Gems in ColdFusion 11
Hidden Gems in ColdFusion 11Hidden Gems in ColdFusion 11
Hidden Gems in ColdFusion 11
 
Web performance optimization
Web performance optimizationWeb performance optimization
Web performance optimization
 
POX to HATEOAS: Our Company's Journey Building a Hypermedia API
POX to HATEOAS: Our Company's Journey Building a Hypermedia APIPOX to HATEOAS: Our Company's Journey Building a Hypermedia API
POX to HATEOAS: Our Company's Journey Building a Hypermedia API
 
PHP Project PPT
PHP Project PPTPHP Project PPT
PHP Project PPT
 
Php mysql
Php mysqlPhp mysql
Php mysql
 
php_tizag_tutorial
php_tizag_tutorialphp_tizag_tutorial
php_tizag_tutorial
 
Php through the eyes of a hoster: PHPNW10
Php through the eyes of a hoster: PHPNW10Php through the eyes of a hoster: PHPNW10
Php through the eyes of a hoster: PHPNW10
 
Documentation Insight技术架构与开发历程
Documentation Insight技术架构与开发历程Documentation Insight技术架构与开发历程
Documentation Insight技术架构与开发历程
 
php basics
php basicsphp basics
php basics
 
Api Design
Api DesignApi Design
Api Design
 
PHP and Web Services
PHP and Web ServicesPHP and Web Services
PHP and Web Services
 
PHP Introduction ( Fedora )
PHP Introduction ( Fedora )PHP Introduction ( Fedora )
PHP Introduction ( Fedora )
 
The Skinny on Slim
The Skinny on SlimThe Skinny on Slim
The Skinny on Slim
 
Introduction to CakePHP
Introduction to CakePHPIntroduction to CakePHP
Introduction to CakePHP
 
PHP7.1 New Features & Performance
PHP7.1 New Features & PerformancePHP7.1 New Features & Performance
PHP7.1 New Features & Performance
 
Phing - A PHP Build Tool (An Introduction)
Phing - A PHP Build Tool (An Introduction)Phing - A PHP Build Tool (An Introduction)
Phing - A PHP Build Tool (An Introduction)
 
Constructor and encapsulation in php
Constructor and encapsulation in phpConstructor and encapsulation in php
Constructor and encapsulation in php
 
Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)
 

Viewers also liked

Community Wireless Networks
Community Wireless NetworksCommunity Wireless Networks
Community Wireless Networksdaveph
 
PresentacióN De Des Encuentro
PresentacióN De Des EncuentroPresentacióN De Des Encuentro
PresentacióN De Des Encuentrogapatri
 
Bears Do Shit In The Woods
Bears Do Shit In The WoodsBears Do Shit In The Woods
Bears Do Shit In The Woodsdaveph
 
Quemalaeslaenvidia
QuemalaeslaenvidiaQuemalaeslaenvidia
Quemalaeslaenvidiaaoito
 

Viewers also liked (6)

Community Wireless Networks
Community Wireless NetworksCommunity Wireless Networks
Community Wireless Networks
 
Rails南蛮通事
Rails南蛮通事Rails南蛮通事
Rails南蛮通事
 
Supernova
SupernovaSupernova
Supernova
 
PresentacióN De Des Encuentro
PresentacióN De Des EncuentroPresentacióN De Des Encuentro
PresentacióN De Des Encuentro
 
Bears Do Shit In The Woods
Bears Do Shit In The WoodsBears Do Shit In The Woods
Bears Do Shit In The Woods
 
Quemalaeslaenvidia
QuemalaeslaenvidiaQuemalaeslaenvidia
Quemalaeslaenvidia
 

Similar to Introduction into PHP5 (Jeroen van Sluijs)

Migrating from PHP4 To PHP5 - Zend Webinar
Migrating from PHP4 To PHP5 - Zend WebinarMigrating from PHP4 To PHP5 - Zend Webinar
Migrating from PHP4 To PHP5 - Zend WebinarIvo Jansch
 
PHP Toolkit from Zend and IBM: Open Source on IBM i
PHP Toolkit from Zend and IBM: Open Source on IBM iPHP Toolkit from Zend and IBM: Open Source on IBM i
PHP Toolkit from Zend and IBM: Open Source on IBM iAlan Seiden
 
Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008Ivo Jansch
 
Integrating PHP With System-i using Web Services
Integrating PHP With System-i using Web ServicesIntegrating PHP With System-i using Web Services
Integrating PHP With System-i using Web ServicesIvo Jansch
 
DPC2007 Zend Framework (Gaylord Aulke)
DPC2007 Zend Framework (Gaylord Aulke)DPC2007 Zend Framework (Gaylord Aulke)
DPC2007 Zend Framework (Gaylord Aulke)dpc
 
How To Start Up With PHP In IBM i
How To Start Up With PHP In IBM iHow To Start Up With PHP In IBM i
How To Start Up With PHP In IBM iSam Pinkhasov
 
How To Start Up With Php In Ibm I
How To Start Up With Php In Ibm IHow To Start Up With Php In Ibm I
How To Start Up With Php In Ibm IAlex Frenkel
 
PHP Batch Jobs on IBM i
PHP Batch Jobs on IBM iPHP Batch Jobs on IBM i
PHP Batch Jobs on IBM iAlan Seiden
 
Unleash your Symfony projects with eZ Platform
Unleash your Symfony projects with eZ PlatformUnleash your Symfony projects with eZ Platform
Unleash your Symfony projects with eZ PlatformSébastien Morel
 
Prepare for PHP Test Fest 2009
Prepare for PHP Test Fest 2009Prepare for PHP Test Fest 2009
Prepare for PHP Test Fest 2009PHPBelgium
 
The why and how of moving to PHP 5.5/5.6
The why and how of moving to PHP 5.5/5.6The why and how of moving to PHP 5.5/5.6
The why and how of moving to PHP 5.5/5.6Wim Godden
 
第1回PHP拡張勉強会
第1回PHP拡張勉強会第1回PHP拡張勉強会
第1回PHP拡張勉強会Ippei Ogiwara
 
Zend Products and PHP for IBMi
Zend Products and PHP for IBMi  Zend Products and PHP for IBMi
Zend Products and PHP for IBMi Shlomo Vanunu
 
Simplify your professional web development with symfony
Simplify your professional web development with symfonySimplify your professional web development with symfony
Simplify your professional web development with symfonyFrancois Zaninotto
 
Building and managing applications fast for IBM i
Building and managing applications fast for IBM iBuilding and managing applications fast for IBM i
Building and managing applications fast for IBM iZend by Rogue Wave Software
 

Similar to Introduction into PHP5 (Jeroen van Sluijs) (20)

Migrating from PHP4 To PHP5 - Zend Webinar
Migrating from PHP4 To PHP5 - Zend WebinarMigrating from PHP4 To PHP5 - Zend Webinar
Migrating from PHP4 To PHP5 - Zend Webinar
 
Becoming A Php Ninja
Becoming A Php NinjaBecoming A Php Ninja
Becoming A Php Ninja
 
PHP Toolkit from Zend and IBM: Open Source on IBM i
PHP Toolkit from Zend and IBM: Open Source on IBM iPHP Toolkit from Zend and IBM: Open Source on IBM i
PHP Toolkit from Zend and IBM: Open Source on IBM i
 
Start using PHP 7
Start using PHP 7Start using PHP 7
Start using PHP 7
 
Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008
 
Integrating PHP With System-i using Web Services
Integrating PHP With System-i using Web ServicesIntegrating PHP With System-i using Web Services
Integrating PHP With System-i using Web Services
 
DPC2007 Zend Framework (Gaylord Aulke)
DPC2007 Zend Framework (Gaylord Aulke)DPC2007 Zend Framework (Gaylord Aulke)
DPC2007 Zend Framework (Gaylord Aulke)
 
How To Start Up With PHP In IBM i
How To Start Up With PHP In IBM iHow To Start Up With PHP In IBM i
How To Start Up With PHP In IBM i
 
How To Start Up With Php In Ibm I
How To Start Up With Php In Ibm IHow To Start Up With Php In Ibm I
How To Start Up With Php In Ibm I
 
PHP Batch Jobs on IBM i
PHP Batch Jobs on IBM iPHP Batch Jobs on IBM i
PHP Batch Jobs on IBM i
 
Unleash your Symfony projects with eZ Platform
Unleash your Symfony projects with eZ PlatformUnleash your Symfony projects with eZ Platform
Unleash your Symfony projects with eZ Platform
 
Current state-of-php
Current state-of-phpCurrent state-of-php
Current state-of-php
 
Prepare for PHP Test Fest 2009
Prepare for PHP Test Fest 2009Prepare for PHP Test Fest 2009
Prepare for PHP Test Fest 2009
 
The why and how of moving to PHP 5.5/5.6
The why and how of moving to PHP 5.5/5.6The why and how of moving to PHP 5.5/5.6
The why and how of moving to PHP 5.5/5.6
 
第1回PHP拡張勉強会
第1回PHP拡張勉強会第1回PHP拡張勉強会
第1回PHP拡張勉強会
 
green
greengreen
green
 
Phpyahoo
PhpyahooPhpyahoo
Phpyahoo
 
Zend Products and PHP for IBMi
Zend Products and PHP for IBMi  Zend Products and PHP for IBMi
Zend Products and PHP for IBMi
 
Simplify your professional web development with symfony
Simplify your professional web development with symfonySimplify your professional web development with symfony
Simplify your professional web development with symfony
 
Building and managing applications fast for IBM i
Building and managing applications fast for IBM iBuilding and managing applications fast for IBM i
Building and managing applications fast for IBM i
 

More from Stefan Koopmanschap

Git for Subversion Users (ZendCon 2011)
Git for Subversion Users (ZendCon 2011)Git for Subversion Users (ZendCon 2011)
Git for Subversion Users (ZendCon 2011)Stefan Koopmanschap
 
A Practical Look at Symfony2 (PHPNW11)
A Practical Look at Symfony2 (PHPNW11)A Practical Look at Symfony2 (PHPNW11)
A Practical Look at Symfony2 (PHPNW11)Stefan Koopmanschap
 
Git For Subversion Users (PHPNW11)
Git For Subversion Users (PHPNW11)Git For Subversion Users (PHPNW11)
Git For Subversion Users (PHPNW11)Stefan Koopmanschap
 
Open Up (International PHP Conference Spring Edition 2011)
Open Up (International PHP Conference Spring Edition 2011)Open Up (International PHP Conference Spring Edition 2011)
Open Up (International PHP Conference Spring Edition 2011)Stefan Koopmanschap
 
Git for Subversion Users (phpDay 2011)
Git for Subversion Users (phpDay 2011)Git for Subversion Users (phpDay 2011)
Git for Subversion Users (phpDay 2011)Stefan Koopmanschap
 
Would you like docs with that? - Zend Webinar
Would you like docs with that? - Zend WebinarWould you like docs with that? - Zend Webinar
Would you like docs with that? - Zend WebinarStefan Koopmanschap
 
Git workshop (2value, 14-12-2010)
Git workshop (2value, 14-12-2010)Git workshop (2value, 14-12-2010)
Git workshop (2value, 14-12-2010)Stefan Koopmanschap
 
Would you like docs with that? (IPC 2010)
Would you like docs with that? (IPC 2010)Would you like docs with that? (IPC 2010)
Would you like docs with that? (IPC 2010)Stefan Koopmanschap
 
Would you like docs with that? (IPC 2010)
Would you like docs with that? (IPC 2010)Would you like docs with that? (IPC 2010)
Would you like docs with that? (IPC 2010)Stefan Koopmanschap
 
Integrating symfony and Zend Framework (IPC 2010)
Integrating symfony and Zend Framework (IPC 2010)Integrating symfony and Zend Framework (IPC 2010)
Integrating symfony and Zend Framework (IPC 2010)Stefan Koopmanschap
 
Would you like docs with that? (Pfcongres 2010)
Would you like docs with that? (Pfcongres 2010)Would you like docs with that? (Pfcongres 2010)
Would you like docs with that? (Pfcongres 2010)Stefan Koopmanschap
 
The Symfony Community - How to (get) help
The Symfony Community - How to (get) helpThe Symfony Community - How to (get) help
The Symfony Community - How to (get) helpStefan Koopmanschap
 
Integrating symfony and Zend Framework (PHPBarcelona 2009)
Integrating symfony and Zend Framework (PHPBarcelona 2009)Integrating symfony and Zend Framework (PHPBarcelona 2009)
Integrating symfony and Zend Framework (PHPBarcelona 2009)Stefan Koopmanschap
 
Integrating symfony and Zend Framework (PHPNW09)
Integrating symfony and Zend Framework (PHPNW09)Integrating symfony and Zend Framework (PHPNW09)
Integrating symfony and Zend Framework (PHPNW09)Stefan Koopmanschap
 
Integrating symfony and Zend Framework
Integrating symfony and Zend FrameworkIntegrating symfony and Zend Framework
Integrating symfony and Zend FrameworkStefan Koopmanschap
 

More from Stefan Koopmanschap (20)

A Practical Look At Symfony2
A Practical Look At Symfony2A Practical Look At Symfony2
A Practical Look At Symfony2
 
Git for Subversion Users (ZendCon 2011)
Git for Subversion Users (ZendCon 2011)Git for Subversion Users (ZendCon 2011)
Git for Subversion Users (ZendCon 2011)
 
A Practical Look at Symfony2 (PHPNW11)
A Practical Look at Symfony2 (PHPNW11)A Practical Look at Symfony2 (PHPNW11)
A Practical Look at Symfony2 (PHPNW11)
 
Git For Subversion Users (PHPNW11)
Git For Subversion Users (PHPNW11)Git For Subversion Users (PHPNW11)
Git For Subversion Users (PHPNW11)
 
Conference Speaking 101
Conference Speaking 101Conference Speaking 101
Conference Speaking 101
 
Open Up (International PHP Conference Spring Edition 2011)
Open Up (International PHP Conference Spring Edition 2011)Open Up (International PHP Conference Spring Edition 2011)
Open Up (International PHP Conference Spring Edition 2011)
 
Git for Subversion Users (phpDay 2011)
Git for Subversion Users (phpDay 2011)Git for Subversion Users (phpDay 2011)
Git for Subversion Users (phpDay 2011)
 
Would you like docs with that? - Zend Webinar
Would you like docs with that? - Zend WebinarWould you like docs with that? - Zend Webinar
Would you like docs with that? - Zend Webinar
 
Git workshop (2value, 14-12-2010)
Git workshop (2value, 14-12-2010)Git workshop (2value, 14-12-2010)
Git workshop (2value, 14-12-2010)
 
Git Workshop (Pfz Workshopdag)
Git Workshop (Pfz Workshopdag)Git Workshop (Pfz Workshopdag)
Git Workshop (Pfz Workshopdag)
 
Would you like docs with that? (IPC 2010)
Would you like docs with that? (IPC 2010)Would you like docs with that? (IPC 2010)
Would you like docs with that? (IPC 2010)
 
Would you like docs with that? (IPC 2010)
Would you like docs with that? (IPC 2010)Would you like docs with that? (IPC 2010)
Would you like docs with that? (IPC 2010)
 
Integrating symfony and Zend Framework (IPC 2010)
Integrating symfony and Zend Framework (IPC 2010)Integrating symfony and Zend Framework (IPC 2010)
Integrating symfony and Zend Framework (IPC 2010)
 
symfony 1.4 workshop
symfony 1.4 workshopsymfony 1.4 workshop
symfony 1.4 workshop
 
Would you like docs with that? (Pfcongres 2010)
Would you like docs with that? (Pfcongres 2010)Would you like docs with that? (Pfcongres 2010)
Would you like docs with that? (Pfcongres 2010)
 
The Symfony Community - How to (get) help
The Symfony Community - How to (get) helpThe Symfony Community - How to (get) help
The Symfony Community - How to (get) help
 
Integrating symfony and Zend Framework (PHPBarcelona 2009)
Integrating symfony and Zend Framework (PHPBarcelona 2009)Integrating symfony and Zend Framework (PHPBarcelona 2009)
Integrating symfony and Zend Framework (PHPBarcelona 2009)
 
Integrating symfony and Zend Framework (PHPNW09)
Integrating symfony and Zend Framework (PHPNW09)Integrating symfony and Zend Framework (PHPNW09)
Integrating symfony and Zend Framework (PHPNW09)
 
Integrating symfony and Zend Framework
Integrating symfony and Zend FrameworkIntegrating symfony and Zend Framework
Integrating symfony and Zend Framework
 
Scrum (dutch)
Scrum (dutch)Scrum (dutch)
Scrum (dutch)
 

Recently uploaded

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Introduction into PHP5 (Jeroen van Sluijs)

  • 1. Introduction in PHP5 Jeroen van Sluijs Software Engineer Ibuildings.nl Copyright © 2007 Ibuildings.nl / Zend Technologies LTD.
  • 2. About ibuildings.nl • PHP development since 1999 • Vlissingen, Amsterdam, Sittard, London • 43 employees, 18 ZCE • jobs@ibuildings.nl • ‘Official Zend Representative’ for Benelux and Scandinavie  PHP5-migration support and training  Professionalise PHP in Netherlands Professional Services •  Consulting for PHP projects, applications and infrastructure  Development-methods and software processes  Application auditing (scalability, performance, security)  Zend Onsite Training (PHP, Products)
  • 3. Short Term Benefits Copyright © 2007 Ibuildings.nl / Zend Technologies LTD.
  • 4. Out of the Box Enhancements • The migration will present performance enhancements • Immediate robust improvements with almost no effort • There is no need to redesign your application! • Your code only needs to be adjusted to run on PHP5 4/19
  • 5. Migrating To Php5 • Only 5 (major) things to take in account in order to migrate from PHP4 to PHP5:  Direct assignment in a class to $this is not allowed anymore  Function array_merge no longer accepts no-array parameters  Functions strrpos and strripos search the full $needle parameter  Function get_class returns the case-preserved version of the class name (Case sensitive)  Objects always passed by reference • No new development on PHP4 besides security fixes 5/19
  • 6. Immediate Benefits #1 • Improved Security  echo filter_var($int, FILTER_VALIDATE_INT); • Flexibility  Programming both OO and Procedural code • Better error handling using exceptions • Native support for modern web technologies  JSON (Javascript object notation)  SOAP (Simple Object Access Protocol)  Better and faster XML processing (DOM, SimpleXML and more..) • 20-50% faster in PHP5.2.1  Better MVC frameworks (Zend Framework, Symfony, Prado) 6/19
  • 7. Immediate Benefits #2 • Test compares PHP binaries 4.4.4, 5.0.5, 5.1.6 and 5.2.0 • Several scripts tested  Simple scripts  Complex object oriented 7/19
  • 8. PHP4 vs. PHP5 Statistics 8/19
  • 9. Long Term Benefits Copyright © 2007 Ibuildings.nl / Zend Technologies LTD.
  • 10. Object Oriented Programming in PHP5 • OOP improves your application development in the following areas:  Modular development  Code is much easier to maintain  Exceptions allow much easier error handling  Object Oriented Programming 10/19
  • 11. PHP5 Features In Details #1 • Improved object model 1. Visibility (PPP) - Public, Protected, Private, Final 2. Abstraction 3. Interfaces 4. Object constructors and destructors 5. Magic methods 6. Type hinting 7. Static class properties 11/19
  • 12. PHP5 Features In Details #2 • New Exception Model (try/catch/throw) try { if ($error) { throw new Exception (“This is my error”); } } catch (Exception $e) { // handle exception } • Introspection/Reflection echo reflection_method::export('Foo', 'func'); • Iterators (SPL)  Access Objects as Arrays $dir = new DirectoryIterator('.'); foreach ($dir as $file) { echo $file.quot;rnquot;; } 12/19
  • 13. PHP5 Features In Details #3 • Native SOAP/WSDL support  SOAP Server and SOAP Client • class MySOAPServer { public function getMessage() { return “Hello World!”; }}; • $options = array('uri'='http://example.org/soap/server'); • $server = new SoapServer(NULL, $options); • $client = new SoapClient(NULL, $options); echo $client->getMessage(); • Many new array and stream functions 13/19
  • 14. PHP5 Features In Details #4 • Improved Native XML support  The XML implementation in PHP5 was completely rewritten  XML files are extremely simple to read and modify  SimpleXML - a vastly improved XML accessing technique that can reduce the total code required $library = simplexml_load_file('library.xml'); foreach ($library->book as $book) { echo $book['isbn']; // attribute echo $book->title; // element}; 14/19
  • 15. PHP5 Features In Details #5 • Database Improvements  PDO: Identical OO interface to many DB systems (MySQL, SQLite, Oracle, DB2, Postgres, Informix, ODBC)  Prepared statements $stmt = $mysqli->prepare(quot;INSERT INTO car VALUES (?, ?, ?)quot;); $stmt->bind_param('ssd', $brand, $type, $nof_tyres); $brand = 'Mazda'; ... $stmt->execute(); 15/19
  • 16. Zend Core 2.0 A supported Certified PHP5 Binary • Zend Core. Distribution for PHP5 • Advantages:  All components included in a simple setup: • PHP5 • Zend Framework • MySQL • Apache • phpMyAdmin  Security  Stability  Enhanced - Includes fully tested and certified PHP extensions such as DB drivers, XML, Web Services, LDAP and more… 16/19
  • 17. Zend Core 2.0 A supported Certified PHP5 Binary • The perfect Web application development environment 17/19
  • 18. More information • General Info  http://www.ibuildings.nl  http://www.zend.com  http://www.php.net  info@ibuildings.nl • Migration Guide  http://www.php.net/manual/en/migration5.php 18/19
  • 19. Thank you. Copyright © 2007 Ibuildings.nl / Zend Technologies LTD.