Normes de développement pour le scraper Goutte : conventions de code PHP

Les directives de code pour le projet Goutte établissent des pratiques standardisées afin d'assurer la cohérence et la facilité de maintenance. Ce document détaille les conventions de style et de nommage applicablse au développement en PHP pour ce scraper web.

Convention de nommage des classes

Les classes dans Goutte utilisent la notation PascalCase, où chaque mot commence par une majuscule sans underscore. Par exemple, la classe principale Scrapeur et la classe de test ScrapeurTest respectent cette norme.

// Exemple correct
class Scrapeur extends KitNavigateur {
    // Implémentation de la classe
}

class ScrapeurTest extends CasTest {
    // Implémentation des tests
}

Convention de nommage des méthodes

Les méthodes adoptent la notation camelCase, avec le premier mot en minuscule et les suivants avec une majuscule initiale. Voici un exemple de constructeur dans la classe Scrapeur :

public function __construct(ClientHttpInterface $requeteur = null, Historique $historique = null, JarCookie $cookies = null) {
    // Corps de la méthode
}

Indentation et formatage du code

L'indentation utilise quatre espaces plutôt que des taublations. Les blocs de code sont entourés d'accolades, avec l'accolade ouvrante sur la même ligne que la déclaration et l'accolade fermante sur une ligne séparée.

if ($condition) {
    // Bloc de code
} else {
    // Bloc alternatif
}

Espaces de noms

Toutes les classes doivent être placées dans un espace de noms approprié. Pour Goutte, l'espace de noms racine est Goutte. Exemple :

namespace Goutte;

use Symfony\Component\BrowserKit\KitNavigateur;

class Scrapeur extends KitNavigateur {
    // Implémentation
}

Documentation par commentaires

Chaque classe et méthode publique doit inclure une documentation détaillée au format PHPDoc. Celle-ci doit décrire la fonctionnalité sans informations personnelles.

/**
 * Classe principale pour le scraping web avec Goutte.
 * 
 * @deprecated Utiliser directement KitNavigateur de Symfony
 */
class Scrapeur extends KitNavigateur {
    // Implémentation
}

Gestion des dépendances

Le projet utilise Composer pour la gestion des dépendances. Toutes les dépendances sont listées dans le fichier composer.json. L'installation s'effectue via la commande :

composer install

Normes de test

Les classes de test portent le suffixe « Test » ajouté au nom de la classe testée, et les méthodes de test commencent par « test » en camelCase. Les fichiers de test sont situés dans le répertoire Goutte/Tests/, par exemple ScrapeurTest.php.

Configuration de déploiement

Le projet inclut des configurations pour Docker et Kubernetes, permettant un déploiement flexible dans différents environnements. Ces fichiers, tels que Dockerfile et k8s-deploiement.yaml, facilitent la mise en production.

Étiquettes: Goutte PHP web scraping Code Standards Naming Conventions

Publié le 22 juin à 05h22