php 7 G.A.

Avatar de l’utilisateur
ViPHP
ViPHP | 3288 Messages

04 déc. 2015, 19:58

Comme précisé dans le titre php 7.0 est sorti, c'est une version majeure qui propose théoriquement une amélioration de performance gigantesque équivalente ou meilleure à celle de HHVM (moteur php par/pour facebook).
Frankiz Daniel : fait du php depuis que ca existe ou presque :)

ViPHP
ViPHP | 928 Messages

05 déc. 2015, 14:54

Voici pour les nouvelles features : http://php.net/manual/fr/migration70.new-features.php

Avatar de l’utilisateur
Eléphant du PHP | 243 Messages

09 déc. 2015, 21:25

Pas mal tout ça !
"Nos études ont montré que la probabilité qu’un programme corrigé fonctionne comme avant la correction est seulement de cinquante pour cent"
~~Lorenzo Strigini

Petit nouveau ! | 1 Messages

21 janv. 2016, 19:54

Bonjour à tous,

La question PHP7 ou HHVM ne se tranche pas si facilement. Suivant le contexte, on pourra choisir l'un ou l'autre. J'installe du hhvm depuis deux ans maintenant et la sortie de php7 nous pousse à rejouer tous nos benchmarks (typo3, wordpress, magento....). Pour l'instant, nous n'avons évalué que notre propre site wordpress.
Voilà les résultats, assez éloignés des graphiques Zend : http://www.nxtweb.fr/2016/01/05/php7-ve ... wordpress/
Ce qui est clair, c'est que PHP7 est une vraie bonne nouvelle !

Mammouth du PHP | 810 Messages

22 janv. 2016, 04:58

J'aime bien ce nouvel opérateur:
Null coalescing operator ( ?? )
Soyez artisans de paix

Avatar de l’utilisateur
Administrateur PHPfrance
Administrateur PHPfrance | 7126 Messages

22 janv. 2016, 10:29

J'aime bien ce nouvel opérateur:
Null coalescing operator ( ?? )
+1, très pratique comme opérateur :)
Pour ceux ne connaissant pas, voila un exemple :

Si on veut affecter une valeur par défaut à une variable si elle n'est pas définie, en PHP5 on utilise un if ou sa version raccourcie ternaire () ? :
if (isset($_GET['titre_page'])) {
     $titre_page=$_GET['titre_page'];
} else {
     // Titre par défaut
     $titre_page="Mon super site";
}

// ou en version ternaire : 
$titre_page= (isset($_GET['titre_page']) ? $_GET['titre_page'] : 'Mon super site');
Avec ce nouvel opérateur, voila ce que ça donne grâce à PHP 7 :
$titre_page= $_GET['titre_page'] ?? 'Mon super site';


Et toute la beauté c'est qu'on peut aussi les cumuler pour éviter les cascades de de if else :
// En PHP 7
$titre_page= $_POST['titre_page'] ?? $_GET['titre_page'] ?? 'Mon super site';

// Equivalent en PHP 5
if (isset($_POST['titre_page'])) {
    $titre_page = $_POST['titre_page'];
} elseif (isset($_GET['titre_page'])) {
    $titre_page = $_GET['titre_page'];
} else {
    $titre_page = 'Mon super site';
}
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 810 Messages

31 janv. 2016, 18:21

Je viens de l'essayer avec une commande include, mais ça ne fonctionne pas.
J'espérais secrètement qu'on y pensât aussi. Ainsi, je comptais qu'un

Code : Tout sélectionner

if (file_exists($dir."/".$fichier.".php") { include $dir."/".$fichier.".php"; } elseif (file_exists("Defaut/".$fichier.".php") { include "Defaut/".$fichier.".php"; } elseif (file_exists($dir."/index.php") { include $dir."/index.php"; } else { include "Defaut/index.php"; }
puisse devenir :

Code : Tout sélectionner

include $dir."/".$fichier.".php" ?? "Defaut/".$fichier.".php" ?? $dir."/index.php" ?? "Defaut/index.php";
mais non!
Snif!
Soyez artisans de paix

Avatar de l’utilisateur
Administrateur PHPfrance
Administrateur PHPfrance | 7126 Messages

31 janv. 2016, 23:25

Je viens de l'essayer avec une commande include, mais ça ne fonctionne pas.
Ah bah non, la comparaison pour ce nouvel opérateur se fait par un isset(), pas un file_exists() ;)
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 810 Messages

31 janv. 2016, 23:57

Je sais, je sais @rthur, mais je voulais mettre « Quand tout le reste a échoué, lisez le mode d'emploi... » en application ;)
Soyez artisans de paix

Mammouth du PHP | 810 Messages

01 févr. 2016, 04:20

Et je viens d'essayer avec un echo et ça fonctionne!!!

Code : Tout sélectionner

$a = 3 echo $val ?? 12;
donnera 12

Code : Tout sélectionner

$a = 3 echo $val ?? $a ?? 12;
donnera 3
Soyez artisans de paix

Avatar de l’utilisateur
ViPHP
ViPHP | 3288 Messages

09 mai 2016, 18:13

suis pas fan de ce genre d'opérateur, niveau lisibilité c'est pas excellent. Je suis pas fan de l'opérateur classique non plus l'écriture d'un test en une seule ligne c'est très surfait, ça s'écrit pas spécialement plus vite (et d'ailleurs je ne comprend pas nécessairement comment écrire vite du code est un avantage en php, langage qui s'écrit vite de toutes les manières).

En revanche que php7 soit plus performant c'est cool, même si à part les gros site web avec de la charge il n'y a pas tant que ça de cas ou c'est flagrant.
HTTP2 + PHP7 on arrive à des trucs sympatoches à la fin niveau perf.
Frankiz Daniel : fait du php depuis que ca existe ou presque :)

Petit nouveau ! | 5 Messages

15 juin 2016, 10:35

petit retour d'expérience sur PHP7,
nous avons migré certains sites vers PHP7, coté perf rien à dire, les scripts de comparaison ou de calcul s'effectuent plus rapidement. Les nouvelles fonctionnalités on s'en sert pas trop, donc la migration n'apporte rien de plus.
Par contre en ce qui concerne la roadmap, je trouvera intéressant de rendre PHP un peu moins procédural, à savoir intégrer un queue d'événement et un système de thread que l'on pourrait lancer en parallèle.
Est-ce que ces fonctionnalités sont prévues dans les prochaines versions de PHP ?
p'tits tuto et class PHP à découvrir sur Fobec

Avatar de l’utilisateur
Administrateur PHPfrance
Administrateur PHPfrance | 7126 Messages

15 juin 2016, 11:14

Bonjour,

Pour le système de thread, tu peux regarder ici :
https://secure.php.net/manual/fr/intro.pthreads.php
https://github.com/krakjoe/pthreads
Cette librairie a été développée par Joe Watkins qui fait partie des principaux développeurs du noyau de PHP, donc il n'est pas exclus qu'elle soit intégrée un jour dans le core.
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 5 Messages

15 juin 2016, 15:55

En fait, le but est virer les curl_multi et 1 script par thread pour une solution plus propre.
Merci @rthur pour l'info, la lib. pthreads a vraiment l'air bien foutu
nous allons installer pthreads sur les machines de dev pour voir ce que ça donne.

Tu t'en sers dans tes dev ?
p'tits tuto et class PHP à découvrir sur Fobec

Avatar de l’utilisateur
Administrateur PHPfrance
Administrateur PHPfrance | 7126 Messages

15 juin 2016, 17:09

Non, jamais utilisé cette librairie, mais je suis les évolutions de PHP (notamment grâce à l'AFUP où on participe aux votes pour les prochaines fonctionnalités de PHP) et donc c'est comme ça que j'avais entendu parler de cette librairie.

J'avais eu besoin de faire du multithread il y a très longtemps pour un projet CLI (non-web) et j'avais utilisé pcntl à l'époque : https://secure.php.net/manual/fr/intro.pcntl.php
Quand tout le reste a échoué, lisez le mode d'emploi...