Où en est PHP en 2023 ?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9870203/clipart2934061.png)
A propos de moi
Karim Pinchon
- Développeur backend
- Actuellement chez
- @kpn13
- https://blog.karimpinchon.com
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/7731154/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9849002/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9870225/PngItem_175427.png)
A propos de moi
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/10565680/pasted-from-clipboard.png)
Pourquoi cette présentation ?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9848995/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9848997/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9848998/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9849001/pasted-from-clipboard.png)
Pourquoi cette présentation ?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
![](https://media3.giphy.com/media/3oz8xTmX0sd5FjqrYc/giphy.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9849018/pasted-from-clipboard.png)
J'
PHP
Pourquoi cette présentation ?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9862893/image.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9859103/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9870446/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871227/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871228/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871236/pasted-from-clipboard.png)
Pourquoi cette présentation ?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Le langage
Le langage
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Un bref historique
Une histoire de performances
Quoi de neuf ?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9881851/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9881855/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9881857/pasted-from-clipboard.png)
Un bref historique
Un bref historique
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Création de PHP
Foundation PHP
PHP 7
1994
Composer
/ Packagist
2015
2010
PHP 6
2021
2009
2011
2023
PHP 8.3
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9873221/PngItem_908206.png)
PHP-FIG
Que lui reproche-t-on ?
Un bref historique
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
![](https://media1.giphy.com/media/8Ue8ekoT67ylq/giphy.gif)
(historiquement)
Que lui reproche-t-on ?
Un bref historique
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9876092/pasted-from-clipboard.png)
PHP-FIG
Un bref historique
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
PHP Framework Interop Group
Une histoire de performances
Les performances
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9879988/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9879988/pasted-from-clipboard.png)
Les performances
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9880035/pasted-from-clipboard.png)
Les performances
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Et face aux autres langages ?
![](https://media4.giphy.com/media/g01ZnwAUvutuK8GIQn/giphy.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9849024/pasted-from-clipboard.png)
Les performances
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Consommation d'énergie
source : https://greenlab.di.uminho.pt
Quoi de neuf ?
(depuis nos premières pages web)
class BlogData
{
/** @var string */
private $title;
/** @var State */
private $state;
/** @var \DateTimeImmutable|null */
private $publishedAt;
/**
* @param string $title
* @param State $state
* @param \DateTimeImmutable|null $publishedAt
*/
public function __construct(
$title,
$state,
$publishedAt = null
) {
$this->title = $title;
$this->state = $state;
$this->publishedAt = $publishedAt;
}
/**
* @return string
*/
public function getTitle()
{
return $this->title;
}
/**
* @return State
*/
public function getState()
{
return $this->state;
}
/**
* @return \DateTimeImmutable|null
*/
public function getPublishedAt()
{
return $this->publishedAt;
}
}
class BlogData
{
public function __construct(
public readonly string $title,
public readonly State $state,
public readonly ?DateTimeImmutable $publishedAt = null,
) {}
}
Type de retour
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
<?php
function foo($bar): bool
{
...
}
Depuis PHP 7.0 (fin 2015)
Type hint scalaire
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
<?php
function foo(string $bar): bool
{
...
}
Depuis PHP 7.0 (fin 2015)
Erreur fatale
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
<?php
try {
// code déclenchant une fatale
} catch (\Exception $e) {
// ras
} catch (\Error $e) {
// ici on peut gérer le problème
}
Depuis PHP 7.0 (fin 2015)
Types nullables
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
<?php
function foo(?string $bar): ?int
{
...
}
Depuis PHP 7.1 (fin 2016)
Type hint d'objets
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
<?php
function foo(Bar $bar)
{
...
}
Depuis PHP 7.2 (fin 2017)
Les propriétés typées
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
<?php
class Foo
{
public string $bar;
public Baz $baz;
}
Depuis PHP 7.4 (fin 2019)
Les fonctions fléchées
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
<?php
$func = fn(Foo $f) => echo $f->name;
$func($foo);
Depuis PHP 7.4 (fin 2019)
Promotion de propriété de constructeur
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
<?php
class Foo
{
public function __construct(
private Bar $bar,
private string $name,
) {}
}
Depuis PHP 8.0 (fin 2020)
Les propriétés nommées
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
<?php
function foo(string $arg1, string $arg2) { ... }
foo(arg2: 'bar', arg1: 'baz');
Depuis PHP 8.0 (fin 2020)
Les attributs
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
<?php
use App\Attributes\BarAttribute;
#[BarAttribute]
class Foo
{
#[BarAttribute]
public $baz;
}
Depuis PHP 8.0 (fin 2020)
Attribut SensitiveParameter
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
<?php
class User
{
#[\SensitiveParameter]
public string $password;
}
Depuis PHP 8.2 (fin 2022)
Match()
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
<?php
echo match($a) {
'foo' => 'Mon nom est foo',
'bar' => 'Mon nom est bar',
'baz' => 'Mon nom est baz',
default => 'Mon nom est personne'
}
Depuis PHP 8.0 (fin 2020)
Opérateur "null safe"
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
<?php
$foo = $foo->getBar()?->getName();
Depuis PHP 8.0 (fin 2020)
str_contains()
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
<?php
// avant
strpos($sentence, 'foo') !== false;
// après
str_contains($sentence, 'foo');
Depuis PHP 8.0 (fin 2020)
Union et intersection de types
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
<?php
// PHP 8.0
function foo(Bar|Baz $ba) { ... }
// PHP 8.1
function foo(Bar&Baz $ba) { ... }
Depuis PHP 8.0 (fin 2020) et 8.1 (fin 2021)
Les enums
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
<?php
enum Status
{
case OPEN;
case CLOSE;
}
Depuis PHP 8.1 (fin 2021)
Les propriétés readonly
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
<?php
class Foo
{
public readonly Bar $bar;
}
Depuis PHP 8.1 (fin 2021)
Les classes readonly
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
<?php
readonly class Foo
{
public string $bar;
public string $baz;
}
Depuis PHP 8.2 (fin 2022)
Callable de première classe
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
<?php
$foo = $this->foo(...);
$fn = strlen(...);
Depuis PHP 8.1 (fin 2021)
PHP 8.3
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
- amélioration des classes readonly
- json_validate()
- typage des constantes
- ...
(release le 23 novembre 2023)
Just-in-time (JIT) compiler
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Multi threading
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
TODO
Ce qu'il manque
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Les génériques
Nettoyer les inconsistances de l'API
Des objets
scalaires
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9875992/pasted-from-clipboard.png)
L'ecosystème
L'écosystème
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Construire une app
Développer une app
Tester une app
Assurer la qualité
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9881865/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9881868/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9881869/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9881870/pasted-from-clipboard.png)
Construire une application
Composer
Construire une application
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9878874/pasted-from-clipboard.png)
Composer
Construire une application
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9878882/logo-composer-transparent4.png)
Le gestionnaire de
dépendances de PHP
- actuellement en V2 (perfs )
- dispo sur toutes les platformes
- image docker officielle
Frameworks
source: Jetbrain, 2022
Construire une application
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Les plus utilisés
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/10565745/pasted-from-clipboard.png)
Frameworks
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9861958/pasted-from-clipboard.png)
Construire une application
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Frameworks
Construire une application
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9881894/pasted-from-clipboard.png)
- API first
- RAD
- REST et GraphQL
- interopérable / web sémantique
- générateur d'admin et clients
Asynchrone
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
- générateurs
- promises
- fibers
- ReactPHP
- AMPHP
- ...
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9911371/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9911373/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9911388/pasted-from-clipboard.png)
Serverless
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9911368/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9914882/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9914900/kisspng-speech-balloon-comics-line-art-american-comic-book-circular-progress-bar-5ad7a64db76777.0935348615240822537512.png)
Heyyyy !
Serveur d'application
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/10904334/pasted-from-clipboard.png)
Application de bureau
Les fonctionnalités
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/10904339/pasted-from-clipboard.png)
Vanilla PHP
- micro page web
- cli
- script
Construire une application
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
![](https://media4.giphy.com/media/1iZT3bqPZIfN3flm/giphy.gif)
Développer une application
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9848973/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9848974/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9848981/pasted-from-clipboard.png)
Développer une application
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9873031/pasted-from-clipboard.png)
IDE
Développer une application
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
source: Jetbrain, 2022
IDE
Les plus utilisés
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/10565751/pasted-from-clipboard.png)
Debugger du PHP
<?php
echo 'coucou';
dd($foo);
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9458095/raising-hands_1f64c.png)
Développer une application
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Debugger du PHP
Développer une application
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9882401/pasted-from-clipboard.png)
Debugger du PHP
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9848982/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9848992/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9862762/pasted-from-clipboard.png)
Développer une application
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Debugger du PHP
Développer une application
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9875874/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9979723/pasted-from-clipboard.png)
Tester une application
- PHPUnit
- PHPSpec
- Pest
- Behat
- InfectionPHP
- Panther
- ...
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9848909/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9848910/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9848911/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9848912/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9848913/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9848914/pasted-from-clipboard.png)
Tester une application
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Frameworks de test
Je veux écrire des tests unitaires pour m'assurer de la non régression de mes fonctions / méthodes :
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9848909/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9848910/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9848911/pasted-from-clipboard.png)
Tester une application
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Frameworks de test
Je veux écrire des tests d'intégration pour m'assurer du bon fonctionnement de mon application :
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9848912/pasted-from-clipboard.png)
Tester une application
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Frameworks de test
Je veux écrire des tests "end to end" pour m'assurer du bon fonctionnement de mon application :
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9848914/pasted-from-clipboard.png)
Tester une application
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Frameworks de test
Je veux écrire des tests de mutation pour m'assurer de la pertinence de mes tests :
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9848913/pasted-from-clipboard.png)
Tester une application
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Frameworks de test
Assurer la qualité d'une application
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9850855/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9850856/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9850860/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9850861/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9850883/pasted-from-clipboard.png)
- PHPStan
- PHPInsights
- PHP-CS-Fixer
- Psalm
- RectorPHP
- ...
Assurer la qualité d'une application
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
PHPStan
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9850855/pasted-from-clipboard.png)
Finds bugs in your code without writing tests
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9861898/pasted-from-clipboard.png)
Assurer la qualité d'une application
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
PHPInsight
analyze the code quality of your PHP projects
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9861917/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9850856/pasted-from-clipboard.png)
Assurer la qualité d'une application
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
PHP-CS-Fixer
fixes your code to follow standards
Assurer la qualité d'une application
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9850883/pasted-from-clipboard.png)
- applique des standards
- configurable
RectorPHP
How can We Upgrade PHP and FW?
Assurer la qualité d'une application
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9850861/pasted-from-clipboard.png)
- utiliser les nouveautés de PHP
- migrer de versions de Symfony, ...
- appliquer des règles custom
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9862665/pasted-from-clipboard.png)
Assurer la qualité d'une application
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Le monde réel
La fondation PHP
Le monde réel
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
La communauté
Côté entreprise
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9881878/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9881884/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9881886/pasted-from-clipboard.png)
La fondation PHP
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9870055/pasted-from-clipboard.png)
Quoi ?
-> association à but non lucratif
Quand ?
-> créée en 2021
Pourquoi ?
-> développer PHP
Comment ?
-> sponsorisée
La fondation PHP
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9865052/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9865053/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9865054/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9865055/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9865056/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9865058/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9865060/pasted-from-clipboard.png)
Créateur de PHP
Rasmus Lerdorf
Dmitry Stogov
Développeur core PHP
Nikita Popov
Sara Golemon
Derick Rethans
Sebastian Bergmann
Joe Watkins
Développeur core PHP
Développeuse core PHP
Co créatrice de HHVM
Créateur de Xdebug
Créateur de PHPUnit
La fondation PHP
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Administration temporaire
Développeur core PHP
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9865054/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9865055/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9865058/pasted-from-clipboard.png)
Sara Golemon
Sebastian Bergmann
Joe Watkins
Développeur core PHP
Co créatrice de HHVM
Créateur de PHPUnit
Nils Adermann
Co-créateur de Composer
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9869453/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9869455/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9869458/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9869462/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9869476/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9865060/pasted-from-clipboard.png)
Nikita Popov
Développeur
core PHP
Roman Pronskiy
![foo](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9868115/pasted-from-clipboard.png)
Core team
Symfony
Josepha Haden
Benjamin Eberlei
Matthew Weier
Nicolas Grekas
Directrice executive
Wordpress
Manager chez
Jetbrains
Lead chez Zend
La fondation PHP
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Administration actuelle
Développeur
core PHP
Développeur
core PHP
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9865056/pasted-from-clipboard.png)
Arnaud Le Blanc
Derick Rethans
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9869041/pasted-from-clipboard.png)
George Peter Banyard
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9869167/pasted-from-clipboard.png)
Ilija Tolivo
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9869174/pasted-from-clipboard.png)
Jakub Zelenka
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9869190/pasted-from-clipboard.png)
Máté Kocsis
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9869196/pasted-from-clipboard.png)
La fondation PHP
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Six dev à temps partiel
La communauté
(en France)
La communauté
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Langages les plus populaires
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9873712/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9873725/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9873732/pasted-from-clipboard.png)
source : stackoverflow
La communauté
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Langages les plus utilisés
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/8571887/pasted-from-clipboard.png)
source : github 2022
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/10003331/pasted-from-clipboard.png)
La communauté
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9875812/pasted-from-clipboard.png)
source : Jetbrains
Part de PHP en tant que principal langage
En quelques chiffres :
- créée en 2001
- environ 500 membres
- 15 antennes locales
- des centaines de personnes
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9870256/pasted-from-clipboard.png)
AFUP
Association Française des Utilisateurs de PHP
La communauté
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
ForumPHP
AFUPDay
SuperApéro PHP
Baromètre des salaires
Newsletter veille techno
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9870256/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9870277/PngItem_905883.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9870278/PngItem_301666.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9870288/PngItem_1061498.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9870291/PngItem_433793.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9870305/PngItem_126822.png)
...
La communauté
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
AFUP
Association Française des Utilisateurs de PHP
Côté entreprise
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9864419/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9864420/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9864424/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9865150/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9868057/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9868058/pasted-from-clipboard.png)
Côté entreprise
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Des projets d'envergures
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9849008/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9849011/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9849003/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9864436/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9864437/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9864439/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9864440/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9864450/pasted-from-clipboard.png)
Côté entreprise
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Des startups qui misent dessus
![](https://media3.giphy.com/media/utJKJmadD3dZFJ01XR/giphy.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9884130/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/10565680/pasted-from-clipboard.png)
Côté entreprise
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Offres d'emploi
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9873814/pasted-from-clipboard.png)
19% des offres
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9873822/pasted-from-clipboard.png)
13% des offres
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9873830/pasted-from-clipboard.png)
12% des offres
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9873849/pasted-from-clipboard.png)
7% des offres
(Septembre 2022, non officiel)
La communauté
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9873957/pasted-from-clipboard.png)
Offres d'emploi
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9873962/pasted-from-clipboard.png)
(2021)
La communauté
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Langages les plus populaires
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9873962/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9873967/pasted-from-clipboard.png)
Côté entreprise
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
L'évolution des salaires
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9873878/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9873885/pasted-from-clipboard.png)
Baromètre AFUP 2022
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/10565760/pasted-from-clipboard.png)
Conclusion
Conclusion
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Pourquoi PHP n'est pas près de mourir ?
- Toujours très utilisé
- Énorme communauté
- Simple et rapide
- Outillé
- fiable et scalable
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9873599/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9873608/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9873611/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9873613/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9874093/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9870291/PngItem_433793.png)
Conclusion
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/9871817/kisspng-modern-php-new-features-and-good-practices-comput-php-from-scratch-por-jason-stafford-5c05ac6052cc74.1344655915438756803392.png)
Merci à tous !
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1434751/images/10904344/pasted-from-clipboard.png)
Où en est PHP en 2023 ?
By Karim PINCHON
Où en est PHP en 2023 ?
- 405