présentation de php 5.4 [fr]

Download Présentation de PHP 5.4 [FR]

If you can't read please download the document

Upload: wixiweb

Post on 16-Apr-2017

1.081 views

Category:

Technology


1 download

TRANSCRIPT

Nouvelle version, PHP 5.4

Versions de PHP

Communaut

Performance

Fonctionnalits

Migration

Production

Arnaud Lemercier

[email protected]@arnolemhttp://www.wixiweb.fr@wixiweb

< Versions de PHP />

De Personal Home Page / Form Interpreter
PHP Hypertext Preprocessor

Historique de PHP

1995 - PHP/FI cr par Rasmus Lerdorf

1998 - PHP 3.0
Rcriture par Andi Gutmans et Zeev Suraski

2000 - PHP 4.0
Zend Engine / Modularit / Performance / Session

2004 - PHP 5.0
Zend Engine 2 / POO / Exceptions / SPL / simpleXML

2009 - PHP 5.3
Namespace / PHAR / Fn anonyme / Late Static Binding

PHP 5.4 Version Mineure ou Majeure ?

MAJEURE

Rupture de compatibilitEx PHP 6

REVISION

Correction de bug
Ex PHP 5.4.1

MINEURE

Nouvelles fonctionnalits

Pas de rupture de compatibilit

Mvt d'Extensions
PECL Core
Ex PHP 5.4

< Communaut />

Restructuration de la communaut

RFC pour chaque nouvelles fonctionnalits
https://wiki.php.net/rfc/voting

Un nouvelle version par an (support 2 + 1 an)
https://wiki.php.net/rfc/releaseprocess

De SVN vers GIT (sur php.net + miroir github)
https://wiki.php.net/vcs/gitworkflow

DEMARCHE QUALITE

< Performance />

Une rcriture en profondeur

Performances nettement amliores

Nous avons rcrit certaines parties du moteur PHP pour qu'il consomme moins de mmoire et supporte plus d'utilisateurs simultans

Zeev Suraski

Performance PHP 5.3 > PHP 5.4

Drupal

+7% requtes
-50% mmoire

Zend Framework

+21% requtes
-23% mmoire

Micro Bench

-50% tps dexcution

Symfony 2 (PHPUnit)

-55% mmoire
-35% tps dexcution

Doctrine 2

-40% mmoire

WordPress

+9% requtes
-40% mmoire

< Fonctionnalits />

Les nouveaux joujoux des dveloppeurs

Short Open Tags assum

Serveur web de dveloppement test intgr

Serveur web uniquement pour des tests

Possibilit de dfinir un fichier de routage en php

Type Callable / Closure / Fonction anonyme

Short Array Syntax

Arrays deferencing

Appel direct de mthode d'instance

Invocations statiques dynamiques (call_user_func)

Notation Binaire

Traits / Hritage multiple horizontal (1/4)

Rutilisation de fonctionnalit

Template de classe (Singleton)

Mais attention aux conflits entre traits

Ne remplace pas la logique d'hritage (parent)

Prioritsdes mthodes :
Classe > Trait > Parent

Traits / Hritage multiple horizontal (2/4)

Attention la dclaration de proprits dans les traits!

PAF: Pastque! ^^

Traits / Hritage multiple horizontal (3/4)

Traits / Hritage multiple horizontal (4/4)

Gestion des conflits entre mthodes

Objet comme fonction

Ajout de la mthode magique __invoke()

Amlioration des erreurs

php -r 'class abc foo'

PHP 5.3 :

PHP Parse error: syntax error, unexpected T_STRING,
expecting '{' in Command line code on line 1

PHP 5.4 :

PHP Parse error: syntax error, unexpected 'foo' (T_STRING), expecting '{' in Command line code on line 1

Progression de l'upload d'un fichier

< Migration />

Que faut-il auditer dans vos applications?

Migration: Incompatibilit

Consultez le guide de migration: http://php.net/migration54

DIRECTIVESSafe Mode

Magic Quotes

Register Globals

LANGAGEbreak $x; continue $x

htmlspecialchars() et htmlentities() en UTF-8 par dfaut

Ext/SQLite

FONCTIONSsession_is_registered(), session_register() et session_unregister().

< Production />

Je suis FAN!On l'installe sur tous nos serveurs?

PHP 5.4: Pas de prcipitation

La rvision PHP 5.4.1 est dj prvue pour le 25/04

Les IDE et outils ne sont pas encore tous compatibles

PHP 5.4 n'est pas encore dans les dpts officiels (Linux)

Les CMS ne sont pas tous compatibles (Joomla 1.x, spip, ...)

Attention: OVH propose PHP 5.4 RC sur les mutualiss

Le patch de scurit Suhosin n'est pas encore disponible

APC pour PHP 5.4 est en BETA

CONTACT

[email protected]: @arnolemhttp://www.wixiweb.fr