Apprendre le PHP Moderne
Tags: php, french, tutoriel, beginners
Published: 2022-01-11 09:40:52

---
title: Apprendre le PHP Moderne
published: true
description: 
tags: PHP, French, Tutoriel, Beginner
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h0eg10okmwk12hr9hevj.png
series: PHP Moderne
---

Bienvenue dans ce cours accéléré de PHP moderne. Pourquoi moderne ? PHP existe depuis 1994 et a considérablement évolué depuis lors. Maintenant, à la version 8.1, PHP est un langage complet et parfaitement adapté au développement Web moderne.

Dans ce cours accéléré, nous couvrirons tous les aspects importants à connaître sur PHP en 2022.

Une fois le cours terminé, vous serez en mesure de créer vos premières applications PHP et vous aurez également des connaissances suffisantes en PHP pour continuer votre formation avec un framework PHP comme Laravel et/ou Symfony.

Le cours accéléré est gratuit et sera publié ici sur dev.to. Je publierai un nouvel article tous les deux jours environ. Pour ne rien manquer, vous pouvez me suivre sur twitter : <a href="https://twitter.com/EricLeCodeur" class="twitter-follow-button" data-show-count="false">Suivez @EricLeCodeur< /a><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

## Qu'est-ce que PHP ? Pourquoi PHP ?
PHP est un langage de programmation côté serveur et orienté objet. Il est utilisé pour développer des applications Web.

PHP est le langage de programmation de serveur web le plus utilisé dans le monde. Un peu moins de 80% des sites Web ont du code PHP. C'est énorme ! PHP ne va pas disparaître de sitôt.

PHP a beaucoup évolué ces dernières années. L'ajout de concepts orientés objet et de plusieurs autres concepts modernes a radicalement changé la façon dont les applications Web PHP sont codées.

PHP est maintenant utilisé par des millions de sites Web. Y compris Facebook, Wordpress, Wikipedia, Tumblr, Slack et bien d'autres.

La communauté PHP est très grande, très dynamique et inclusive.

PHP peut également s'appuyer sur des frameworks de haute qualité comme Symfony et Laravel (et plusieurs autres). Ces frameworks vous permettent de développer des applications Web de manière rapide et fiable.

Bref, avec PHP vous pouvez réaliser de petits, grands et très grands projets. PHP peut gérer quelques clics par jour ou des millions de clics par jour.

## Installation PHP
L'installation de PHP peut parfois être difficile, ne vous laissez pas décourager par cette tâche.

Si vous souhaitez commencer la formation tout de suite et faire l'installation plus tard, il est possible d'utiliser le site https://replit.com/languages/php7 afin d'exécuter du code PHP depuis votre navigateur.

### Installez PHP sur votre ordinateur

Vous aurez besoin de PHP version 8.1

Pour vérifier quelle version est installée sur votre machine, vous pouvez

exécutez cette commande depuis le terminal :
```php
$ php -v
```

Si PHP est manquant ou si la version installée est inférieure à PHP 8.1, vous aurez besoin d'une nouvelle installation :

Voici le lien pour l'installation de PHP :

MacOS (homebrew) : https://www.php.net/manual/en/install.macosx.packages.php

Windows (XAMPP) : https://www.apachefriends.org/index.html

Pour plus de détails, consultez la documentation officielle de PHP : https://www.php.net/manual/fr/install.php

# Concepts de base de PHP

Pour ce tutoriel, nous allons créer un dossier pour placer tous nos fichiers pour les exemples à venir.
```php
$ mkdir demo-php
$ cd demo-php
```

A partir de ce dossier, nous allons créer un fichier nommé index.php
```php
$ code index.php
```

Cette commande ouvrira vscode et créera un fichier index.php.

Notez que pour ce cours accéléré, nous utiliserons Visual Studio Code mais ce n'est pas une condition préalable. Vous êtes libre d'utiliser votre éditeur préféré.

Sur la première ligne du fichier index.php taper :
```php
<?php
```
Cette balise indiquera au serveur PHP que toutes les lignes suivantes sont du code PHP que le serveur doit exécuter.

Nous pouvons donc maintenant commencer à écrire du code PHP et pour commencer, rien de mieux que le classique Hello World !
```php
<?php

echo 'Hello World';
```
La fonction echo permet d'afficher du texte et même du HTML dans la page courante du navigateur.

Pour tester ce code, vous pouvez exécuter le serveur Web PHP qui est inclus avec PHP
```php
$ php -S localhost:5000
```

L'option -S démarre le serveur Web sur localhost:5000

Si vous ouvrez un navigateur et allez à l'adresse http://localhost:5000, le serveur PHP rendra le fichier par défaut, index.php donc vous verrez :

```php
Hello World
```

### HTML et PHP

A noter que dans un fichier PHP il est possible de mélanger du code HTML avec du code PHP
```php
<h1>
    <?php echo 'Hello World'; ?>
</h1>
```

Ce code est parfaitement valide. La balise ?> indique la fin du code PHP.

Il serait également possible d'avoir plusieurs sections de code PHP
```php
<h1>
    <?php echo 'Hello World'; ?>
</h1>

<h2>
    <?php echo 'Sub title'; ?>
</h2>
```

Bien que PHP puisse être mélangé avec HTML, il est considéré comme une bonne pratique de séparer le code PHP et le code HTML chacun dans son propre fichier. Nous reviendrons sur ce concept plus tard.

### Variables

Les variables servent à stocker différentes valeurs que vous souhaitez traiter dans votre code.

Une fois la variable stockée dans la mémoire du programme, elle peut être utilisée ultérieurement.

Par exemple, supposons que vous souhaitiez stocker le nom d'utilisateur, vous pouvez utiliser une variable et lui donner le nom : $name et définir son contenu égal à 'Mike Taylor'

```php
$name = 'Mike Taylor';
```

Notez qu'en PHP :

- Le nom d'une variable commence par un signe $
- Une chaîne de caractères est entourée de guillemets.
- Nous n'avons pas à préciser le type de variable (ex : chaîne). PHP est un langage interprété. Il reconnaît automatiquement le type de données en fonction de la valeur qui y est stockée.
- Par contre, il est possible de préciser le type de la variable lors de sa déclaration. Nous verrons ce concept un peu plus tard.

Voici les 4 types de variables (de bases) en PHP et la syntaxe pour les créer

```php
// string (caractères texte)
$fullName = 'Mike Taylor';

// integer (hombre entier)
$count = 20;

// float (nombre décimal)
$bookPrice = 15.80;

// booleans
$isActive = true;
$isAdminUser = false;
```

PHP a également des types de variables plus avancés comme des tableaux et des classes. Nous couvrirons tout cela en détail plus tard.

Enfin, PHP a également des types spéciaux, comme "null" qui signifie aucune valeur.

À ce stade, vous devriez être en mesure de comprendre que ces deux variables n'ont pas le même contenu.
```php
$value = '100';

$value2 = 100;
```

$value est une variable de type string qui contient le texte ‘100’ comme contenu. Cette variable n'est pas un nombre qui peut être utilisé dans une opération mathématique.

$value2 est une variable de type integer qui a le nombre 100 comme contenu. Cette variable est un nombre et peut donc être utilisée pour des opérations mathématiques.

Afin de simplifier le tutoriel, à partir de ce point, les types de variables seront appelés par leur nom anglais. Par exemple je n'utiliserai pas le terme "chaîne de caractères" mais plutôt "string"

### Constante

Les constantes sont des variables dont la valeur ne peut en aucun cas être modifiée. Il existe deux façons de les créer.
```php
const MAX_USERS = 50;

define('MAX_USERS', 50);
```

Une constante ne commence pas par un signe $ et par convention, les constantes sont définies en lettres majuscules. Après la création, si vous essayez de lui attribuer une autre valeur, PHP vous renverra une erreur.

### Typecasting

PHP détermine automatiquement le type de la variable à l'exécution.

### Affichage
En PHP il existe plusieurs façons d'afficher le contenu d'une variable, en voici quelques-unes :

- echo $nom; (Affiche la valeur)
- var_dump($isAdmin); (Affiche le type de la variable ainsi que la valeur)
- print_r($items); (Affiche la valeur lisiblement)

### Déterminer le type d'une variable

Il est possible d'obtenir le type d'une variable avec la fonction gettype()
```php
echo gettype($name); // string
echo gettype(20); // integer
echo gettype(9.95); // double
echo gettype(true); // boolean
```

On peut aussi vérifier si la variable est d'un certain type avec les fonctions is_int(), is_float(), is_string() et is_bool()
```php
echo is_int($name); // false
echo is_float(12.5); // true
echo is_string($name); // true
echo is_bool(10); // false
```

### Forcer l'utilisation d'un type 

Il est possible de forcer PHP à utiliser un type particulier et si besoin de forcer la conversion. Pour ce faire, vous devez ajouter le type entre parenthèses avant la variable ou la fonction.

```php
$ age = (int)readline('Votre âge :');
echo 'Votre âge est'. (string)$age;
```
Ici, le cast (int) forcera un entier comme valeur de retour de la fonction readline(). Le cast (string)$age convertira l'entier en chaîne avant de l'afficher.

### Commentaires
Laisser un commentaire dans le code. C'est-à-dire une ligne qui ne sera pas exécutée, vous pouvez utiliser l'une des deux techniques suivantes :
```php
// This is a single line comment

/ *
This is a comment
on several lines
* /
```

### Convention de nommage
Voici quelques conventions que nous utiliserons pour créer notre code :```php
$firstName = 'Mike'  // nom de variable camelCase
function updateProduct() // nom de fonction camelCase
class ProductItem // nom de classe StudlyCaps
const ACCESS_KEY = '123abc'; // Majuscule avec souligné comme séparateur
```
Pour plus de détails sur les conventions de nommage, vous pouvez consulter le site Web de PRS : https://www.php-fig.org/psr/

## Conclusion
C'est tout pour aujourd'hui, je publierai un nouvel article tous les deux jours environ. Pour être sûr de ne rien rater vous pouvez me suivre sur twitter : <a href="https://twitter.com/EricLeCodeur" class="twitter-follow-button" data-show-count="false">Suivre @EricLeCodeur</a><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>