• 15 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 11/06/2019

Aller plus loin

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Il faut savoir s'arrêter à un moment donné... et je crois que ce moment est venu !

On pourrait encore passer des heures et des heures à optimiser notre code, à l'affiner... mais nous finirions par recréer un framework nous-mêmes ! Or, si les frameworks ont été inventés, c'est bien pour une raison : ils nous permettent de ne pas avoir à réinventer la roue !

Pourquoi nous avoir fait créer un site en MVC à la main si les frameworks existent ?

Parce que j'avais besoin que vous compreniez ce qui a amené les développeurs à créer des frameworks. Ils se sont posés exactement les mêmes questions que vous (ce ne sont pas des extraterrestres !). Ils ont donc beaucoup réfléchi pour chercher des solutions afin que leur code reste propre.

Voici quelques conseils si vous voulez aller plus loin.

Apprenez-en plus sur la programmation orientée objet

La programmation orientée objet est un domaine très vaste. Nous n'avons fait qu'effleurer la surface des possibilités.

Si un peu de théorie ne vous fait pas peur, je ne saurais trop vous recommander de lire le cours sur la POO en PHP sur OpenClassrooms. Il contient de nombreux concepts qui vous seront utiles !

Documentez !

Les codes professionnels sont souvent bien documentés.

Enfin... documentés oui, mais pas n'importe comment ! Il existe des conventions de documentation. En PHP, on commente dans le format PHPDoc.

A l'aide d'un programme spécial (PHPDoc), on peut générer automatiquement une documentation depuis votre code :

Une documentation PHPDoc automatiquement générée depuis les commentaires du code
Une documentation PHPDoc automatiquement générée depuis les commentaires du code

Ce type de documentation peut se révéler très utile pour les développeurs qui ont besoin de comprendre comment votre code source fonctionne dans les grandes lignes.

Pour obtenir ce résultat, les variables et fonctions membres des objets sont précédés d'un commentaire qui suit une convention bien particulière :

<?php

/**
 * Executes a compiler pass.
 *
 * This method will execute the business logic associated with a given compiler pass and allow it to manipulate
 * or consumer the Object Graph using the ProjectDescriptor object.
 *
 * @param ProjectDescriptor $project Representation of the Object Graph that can be manipulated.
 *
 * @return mixed
 */
public function execute(ProjectDescriptor $project)
{
    // ...
}

Alors oui, ça fait pas mal de commentaires dans le code, mais ça a un double avantage :

  • Le rôle du code est expliqué quand vous êtes en train de lire le fichier source.

  • Vous pouvez générer une documentation en HTML à partir de ça (comme on l'a vu sur la capture au-dessus).

Cela nous permet d'expliquer notamment à quoi sert la fonction membre, quels paramètres elle prend en entrée et quelle valeur elle est censée retourner.

Hydratez !

Pour aller plus loin dans notre code, nous aurions pu mettre en place de l'hydratation. Qu'est-ce que c'est ?

Ca consiste à transformer le contenu d'une base de données en objets et inversement. Les objets font alors la passerelle entre le reste de votre code et la base de données.

Si on avait fait de "vrais" objets  Comment  par exemple, ils auraient sûrement eu cette forme :

<?php

class Comment extends Model
{
    private $author;
    private $content;
    
    public getAuthor() // Récupère l'auteur
    {
        // ...
    }
    
    public getContent() // Récupère le contenu
    {
        // ...
    }
    
    public setAuthor($author) // Définit l'auteur
    {
        // ...
    }
    
    public setContent($content) // Définit le contenu
    {
        // ...
    }
}

L'objet représente alors vraiment un commentaire. On peut le lire et le modifier grâce à ses fonctions membres.

Avec un peu de travail, un tel objet peut directement récupérer et modifier les informations en base de données.

Ne sortez pas un tank pour tuer une mouche

En général, l'intérêt d'un code propre se voit quand vous commencez à travailler sur un gros projet. Sur un tout petit projet, il n'est pas forcément nécessaire de sortir l'artillerie lourde...

Développeur sortant l'artillerie lourde pour un tout petit problème

Gardez donc en tête qu'il faut faire l'équilibre entre un beau code optimisé (qu'on met des heures à créer) et un code un peu moche (mais qui marche de suite). Ne soyez pas dans les extrêmes : ne cherchez pas non plus à tout optimiser à l'infini, au risque de passer trop de temps sur la beauté de votre code plutôt qu'à réellement créer des fonctionnalités utiles.

Le plus grand ennemi des faux-débutants que vous êtes maintenant n'est pas le code sale (ça, c'est le truc des débutants). Non, votre plus grand ennemi s'appelle l'optimisation prématurée. Ca veut dire vouloir à tout prix faire méga-propre quand ça n'est pas nécessaire.

Un bon développeur sait au contraire quand optimiser et quand ne pas optimiser. Il s'autorise même volontairement à laisser un peu de dette technique (un code non optimisé) pour pouvoir avancer plus vite. Ensuite par contre, quand le besoin s'en fait ressentir, il n'hésite pas à revenir en arrière pour refactoriser son code afin qu'il soit plus optimisé.

Bref, comme souvent dans la vie : il faut rester équilibré. 😊

Utilisez un framework

Ce sera sûrement la prochaine étape pour vous. Les frameworks sont des super-bibliothèques qui contiennent tout le code qui vous permet d'éviter de réinventer la roue.

Les frameworks vous imposent souvent une façon de coder bien précise (notamment du MVC, de la POO, etc.). Il faut du temps pour apprendre à les utiliser correctement, mais vous gagnerez ensuite beaucoup de temps et aurez un code très propre.

Il existe plusieurs frameworks PHP. Citons notamment :

  • Zend Framework : le framework créé par la société qui a conçu PHP (Zend). Il a un peu moins le vent en poupe aujourd'hui même s'il reste connu.

  • Symfony : un des frameworks les plus connus, développé par des français. 🐓 Il existe un cours sur Symony sur OpenClassrooms.

  • Laravel : un autre framework PHP très connu.

OpenClassrooms utilise Symfony de son côté. N'hésitez pas à aller consulter le cours sur Symfony après avoir fini ce cours !

Exemple de certificat de réussite
Exemple de certificat de réussite