Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

La partie PHP #149

Open
wants to merge 11 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions docs/04-php/01-Installation.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
---
sidebar_position: 1
---

Installation PHP
================

Expand Down
57 changes: 57 additions & 0 deletions docs/04-php/02-variables.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
sidebar_position: 2
---

# Les variables en PHP

En PHP comme dans presque tous les langages de programmation, le concept des variables est incontournable.

Les variables sont des sortes de boites dans lesquelles on va ranger des données. Elle peuvent venir de celui qui écrit le programme ou de celui qui l'utilise.

Pour déclarer une variable, on écrit caractère ```$``` suivi du nom de la variable, suivi d'un signe égal, suivi de la valeur qu'on souhaite ranger dans cette variable.

Par exemple :

```php
$test = 2;

echo $test;
```

Dans une variable, on peut ranger différents types de données :

- des nombres entiers
- des nombres réels
- des valeurs booléenes (vrai ou faux)
- des chaînes de caractères
- des tableaux
- des objets

On peut aussi déclarer une valeur nulle, avec le type ```null```.


On peut également déclarer des constantes :

```php
define("PI", 3.141592);

echo PI;
```

Les tableaux sont des collections de données ou de variables. Ils peuvent contenir tous les types de données, ou même un mix des types. Ils s'écrivent entre crochets, avec les données séparées par une virgule. Un tableau peut contenir d'autres tableaux. Par exemple :

```php
$numbers = [2, 4, 6, 8];

$mixed = ['texte', 2, true];

$array_in_array = [[0, 1], [2, 3]];
```

On les verra plus en détail dans la rubrique suivante.

Les objets sont une façon de représenter un objet abstrait qui dispose de propriétés, chacune ayant une valeur. On les verra dans le chapitre sur la POO.

## Ressources

* [Apprendre à gérer les variables par Grafikart](https://grafikart.fr/tutoriels/variables-php-1115#autoplay)
62 changes: 62 additions & 0 deletions docs/04-php/03-tableaux.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
sidebar_position: 3
---

# Les tableaux en PHP

En PHP comme dans presque tous les langages de programmation, on peut écrire des tableaux, c'est à dire des listes de données. Un tableau peut contenir tout type de données, et on peut même écrire des tableaux dans des tableaux.

Pour écrire une tableau, on utilise les crochets, à l'intérieur desquels on écrit nos valeurs séparées par des virgules.

Exemple :

```php
$mois = ['janvier', 'février', 'mars'];
```

Lorsqu'on veut récupérer une valeur dans un tableau, on utilse son index, c'est à dire sa position dans le tableau, en sachant que la première position est à l'index 0.

```php
$selection = $mois[2];
echo $selection;
```

Ce code renverra le mot ```mars```, puis que l'index 2 représente la troisième position dans le tableau.

On peut aussi rajouter une valeur dans un tableau. Dans ce cas, il n'est pas nécessaire de spécifier l'index :

```php
$mois[] = 'avril';
echo $mois;
```

On peut aussi écrire ce qu'on appelle des tableaux **associatifs**, c'est à dire des tableaux qui associent une valeur à une clef.

Exemple :

```php
$resultats = [
'janvier' => 25,
'février' => 32,
'mars' => 17
];
```

Pour récuper une valeur particulière, on utilisera sa clef.

```php
$resultat_fevrier = $resultats['février'];
echo $resultat_fevrier;
```

Ce code renverra la valeur ```32```.

On peut aussi modifier une valeur dans un tableau :

```php
$resultats['février'] = 29;
```

## Ressources

* [Apprendre à gérer les tableaux en PHP par Grafikart](https://grafikart.fr/tutoriels/tableaux-php-1116#autoplay)
45 changes: 45 additions & 0 deletions docs/04-php/04-conditions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
sidebar_position: 4
---

# Les conditions en PHP

En PHP comme dans presque tous les langages de programmation, le concept des conditions est incontournable. Il consiste à pouvoir gérer le cas où l'on souhaite qu'un bout de code soit exécuté si une condition est remplie.

Pour écrire une condition, on utilise le mot-clé ```if```, suivi entre parenthèses de la condition, puis d'un bloc de code entouré par des accolades.

Exemple :

```php
if($age >= 18) {
echo 'vous êtes majeur';
}
```

Ici, si la valeur de la variable ```$age``` est supérieure ou égale )à 18, on écrit un message.

On peut éventuellement ajouter un autre bout de code qui sera exécuté si la condition n'est pas remplie.

Exemple :

```php
if($age >= 18) {
echo 'vous êtes majeur';
} else {
echo 'vous êtes mineur';
}
```

Dans la condition, on utilise des opérateurs de comparaison, comme ```===``` pour une égalité stricte, ```>``` ou ```<``` pour supérieur ou inférieur, ```>=``` ou ```<=``` pour supérieur ou égal et inférieur ou égal, ou encore ```!==``` pour une différence.

On peut également utiliser une version raccourcie, qu'on appelle une ternaire pour écrire une condition sur une seule ligne.

Exemple :

```php
$phrase = 'Vous êtes ' . ($age >= 18 ? 'majeur' : 'mineur');
```

## Ressources

* [Apprendre à gérer les conditions en PHP par Grafikart](https://grafikart.fr/tutoriels/conditions-php-1117#autoplay)
75 changes: 75 additions & 0 deletions docs/04-php/05-boucles.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
---
sidebar_position: 5
---

# Les boucles en PHP

En PHP comme dans presque tous les langages de programmation, le concept des boucles est incontournable.

Il consiste à pouvoir répeter une instruction ou un bloc de code autant de fois qu'on le désire ou tant qu'une condition est remplie ou non.

Il existe différents types de boucle en PHP :

- les boucles ```for```
- les boucles ```while```
- les boucles ```for each```

#### Boucle for

Elle permet de répeter les choses un nombre défini de fois. Imaginons qu'on souhaite réaliser un compteur :

```php
for ($i = 1; $i <= 5; $i++) {
echo "compteur: " . $i;
}
```

Dans ce code, on part avec ```$i``` à 1. On indique qu'on continue tant que ```$i``` est inférieur ou égal à 5. On explique ensuite qu'on va incrémenter ```$i``` de 1 à chaque tour avec ```$i++``` (on aurait pu écrire ```$i = $i + 1```). Au premier tour, on va afficher ```1```, puis ```2``` au deuxième tour, et ainsi de suite jusqu'à ```5``` au dernier tour.

#### Boucle while

Elle permet de répeter les choses tant qu'une condition est remplie. En reprennant l'exemple de la boucle ```for```, cela donne :

```php
$i = 1;
while ($i <= 5) {
echo "compteur: " . $i;
$i++;
}
```

On peut également remplacer le ```$i++``` par ```$i = $i + 1```.


#### Boucle for each

Elle permet de parcourir les élements d'un tableau.

```php
$tableau = [2, 4, 6, 8];
foreach ($tableau as $valeur){
echo $valeur;
}
```

Cette boucle affichera d'abord ```2```, puis ```4``` puis ```6``` puis ```8```.

On peut aussi extraire les clefs d'un tableau :

```php
$tableau = [
'nom' => 'Doe',
'prenom' => 'John',
'age' => 32
];

foreach ($tableau as $clef => $valeur){
echo $clef . ': ' . $valeur;
}
```

Cette boucle affichera d'abord ```Nom: Doe```, puis ```prenom: John``` puis ```age: 32```.

## Ressources

* [Apprendre à gérer les boucles en PHP par Grafikart](https://grafikart.fr/tutoriels/boucles-php-1118#autoplay)
37 changes: 37 additions & 0 deletions docs/04-php/06-fonctions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
sidebar_position: 6
---

# Les fonctions en PHP

Les fonctions permettent d'encapsuler du code pour pouvoir le réutiliser facilement. On peut appeller une fonction soi-même ou bien la déclencher lorsqu'un qu'un évênement arrive.

Une fonction peut prendre en entrée des paramètres que l'on va utiliser dans le contenu de la fonction. Elle peut aussi retourner une valeur.

Prenons un example :

```php
function sayHello(string $prenom) {
return 'Bonjour ' . $prenom
}
```

Cette fonction permet de renvoyer une chaine de caractère qui dit ```bonjour``` suivi d'un prénom que l'on a passé en paramètre. Pour l'appeler, on écrira par exemple ```sayHello('Bob')```.

Les paramètres peuvent prendre des valeurs par défaut.


```php
function sayHello(string $prenom="Bob"): string
{
return 'Bonjour ' . $prenom
}
```

Ici, si on appelle la fonction sans lui passer de paramètre, elle renverra ```Bonjour Bob'```.

On peut typer les paramètres et le retour. Ici, on indique que notre paramètre est un chaine de caractère et que leretour de la fonction l'est aussi.

## Ressources

* [Apprendre à gérer les fonctions par Grafikart](https://grafikart.fr/tutoriels/fonctions-utilisateurs-php-1120#autoplay)
51 changes: 51 additions & 0 deletions docs/04-php/07-POO.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
sidebar_position: 7
---

# La programmation oritentée objet en PHP

Il serait bien difficule de décrire en totalité les principes de la programmation orientée objet (POO) en quelques lignes. Nous allons juste voir quelques exemples rapidement.

Imaginons que vous travailliez sur un annuaire. Vous allez donc devoir gérer des personnes. Chacune aura par exemple un nom, un prénom et un email. C'est l'occasion de ce créer un type d'objet dédié, en écrivant ce qu'on appelle une classe.

```php
class Person {

constructor (
public string $firstname,
public string $lastname,
public string $email
) {}
}
```

Dans cette classe, on définit des propriétés grâce à la méthode ```constructor```. Quand on va construire un objet ```Person```, on le fera comme ceci :

```
$personne = new Person('John', 'Doe', '[email protected]');
```

Pour récupérer l'email on écrira ```$personne->email;```.

On peut aussi écrire des méthodes dans notre classe. Par exemple, rajoutons une méthode qui renverra une chaine formatée pour afficher la personne :

```php
class Person {

constructor (
public string $firstname,
public string $lastname,
public string $email
) {}

public function getFormated() {
return "$this->firstName $this->lastname : $this->email";
}
}
```

On pourra donc utiliser cette méthode sur l'objet en écrivant ```$personne->getFormated()```. Cela renverra ```John Doe : [email protected]```.

## Ressources

* [Apprendre la POO en PHP par Lior Chamla](https://www.youtube.com/watch?v=fZcGXjg97Ns&ab_channel=LiorCHAMLA-WebDevelopMe)
Loading