Aller au contenu | Aller au menu | Aller à la recherche


PHP 5.4 changements et configuration

Petit tour d'horizon des modifications sur PHP 5.4 qui continue la version de PHP 5.3 et anticipe la version abandonnée de PHP6, donc la version de PHP 5.5.

PHP 5.4 stable

encoding = 'UTF-8' par défaut remplace 'ISO-8859-1' pour htmlspecialchars, htmlentities

Encoding :

  • pour les versions antérieures à la version 5.4.0 de PHP, la valeur par défaut de cet argument est ISO-8859-1
  • et à partir de la version 5.4.0 en UTF-8
  • htmlspecialchars
  • htmlentities
// PHP 5.4
echo htmlspecialchars($field, ENT_COMPAT | ENT_HTML401, 'ISO-8859-15' );
// PHP 5.3
echo htmlspecialchars($field);

Les nouveautés

La configuration

  • Description des directives internes du php.ini
    • Depuis PHP 5.4.0, la balise courte <?= est toujours disponible quelque soit la directive short_open_tag qui définit si les balises courtes d'ouverture de PHP (<? ?>) sont autorisées ou non.
    • zend.multibyte Active l'analyse lexicale des fichiers PHP dans des encodages multi-octets. Disponible depuis PHP 5.4.0
    • Suppression depuis PHP 5.4 des variables $HTTP_*_VARS telles $HTTP_GET_VARS, $HTTP_POST_VARS, ... définies par la directive register_long_array
    • Changement de la valeur par défaut de default_charset dans le php.ini de "ISO-8859-1" à "UTF-8"
  • JSON
    • Constantes pré-définies disponibles depuis PHP 5.4.0 :
      • JSON_BIGINT_AS_STRING : Encode les gros entiers sous forme d'une chaîne de caractères.
      • JSON_PRETTY_PRINT : Utilise des espaces dans les données retournées pour les formater. .
      • JSON_UNESCAPED_SLASHES : Ne pas échapper les caractères /.
      • JSON_UNESCAPED_UNICODE : Encode les caractères multi-octets Unicode littéralement (le comportement par défaut est de les échapper, i.e. \uXXXX).
  • Systèmes de fichiers - Les dossiers
    • Constantes pré-définies disponibles depuis PHP 5.4.0 :
      • les variables SCANDIR_SORT_ASCENDING, SCANDIR_SORT_DESCENDING et SCANDIR_SORT_NONE pour ordonner la liste les fichiers et dossiers dans un dossier avec scandir
  • Autre
    • Ajout du support d'ordonnancement SORT_NATURAL et SORT_FLAG_CASE dans les fonction de tr des tableau (sort, rsort, ksort, krsort, asort, arsort and array_multisort)

Les versions

Les versions de PHP5.4.x et son avancement sur :

PHP 5.4.0 (beta)

PHP 5.4.0 beta 1

Disponible en "Beta Releases" depuis le 27/09/2011, PHP 5.4.0 beta1 apporte les changements suivants : list of changes : ChangeLog PHP 5.4.0 b1

- General improvements:
  . Removed the timezone guessing algorithm in case the timezone isn't set with date.timezone or date_default_timezone_set(). Instead of a guessed timezone, "UTC" is now used instead. 
- Improved MySQL extensions:
  . ext/mysql, mysqli and pdo_mysql now use mysqlnd by default
- Improved JSON extension:
  . Added new json_encode() option JSON_UNESCAPED_UNICODE. FR #53946

04 Aug 2011, PHP 5.4.0 Alpha 3

- Added features:
 . Short array syntax, see UPGRADING guide for full details
- Removed features:
  . Removed magic_quotes_gpc, magic_quotes_runtime and magic_quotes_sybase ini options. get_magic_quotes_gpc, get_magic_quotes_runtime are kept but always return false, set_magic_quotes_runtime raises an E_CORE_ERROR.

20 Jun 2011, PHP 5.4.0 Alpha 1

- Changed default value of "default_charset" php.ini option from ISO-8859-1 to UTF-8
- Improved LDAP extension:
  . Added paged results support. FR #42060
- Improved MySQL extensions:nes)
  . PDO_mysql: Removed support for linking with MySQL client libraries older than 4.1

Historique de l'évolution vers PHP 5.4

PHP 5.4

Les notes du 20 mai 2010 ci-dessous sont prises à la réunion développeur tek | PHP à Chicago. Aucune des choses ci-dessous sont des décisions et si les éléments pertinents seront déplacés vers les pages pertinentes todo.

  • Déplacer les extensions DB non maintenues vers PECL
    • Faire de PDO l'interface de base de données principal
    • Laisser : mysql, mysqli, pgsql, sqlite3, oci8
    • Supprimer : pdo_dblib (not supported) (MS SQL Server - Microsoft SQL Server)
  • mbstring + intégration du moteur surcharge de fonction devrait être supprimé dans PHP 6. Les fonctions de l'extension restent, maintenue apr Moriyoshi.

PHP-FPM - A simple and robust FastCGI Process Manager for PHP

Up until PHP 5.3.x, PHP-FPM was a patch for PHP4/5 to greatly improve PHP's FastCGI SAPI capabilities and administration. All the information below is still related to the patch. PHP 5.3.x is now inside of PHP core using SVN (most likely will be packaged officially in 5.4)

PHP version 5.4 inclura probablement le patch PHP-FPM dans le noyau

Encore des améliorations de performances pour PHP futur 04/05/2010

Le patch améliore sensiblement les recherches internes dans la table des constantes, les tableaux et la comparaison de chaines PHP. On annonce tout de même du +20-30% de moyenne (ouch!), ainsi qu'une consommation mémoire revue à la baisse. La prochaine mineure de PHP devrait intégrer toutes ces améliorations (en théorie, PHP5.4).

PHP 5.3.99-dev

Au 27 avril 2010, pour ceux qui ne suivent pas le développement PHP. Nous rétroportées les sondes DTraces de l'abandon branche PHP 6.0, vers le tronc de nouveaux PHP 5.3.99-dev. Il est appelé 5.3.99 parce que la communauté dev PHP n'a pas encore décidé sur un numéro de version (5.4 ou 6.0).

Ressources

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

Fil des commentaires de ce billet