Namespace

Dans le développement logiciel, un namespace est un moyen d’organiser les identificateurs, tels que les classes, les fonctions et les constantes, afin d’éviter les conflits de noms et d’améliorer la clarté du code.

Avantages du namespace

  • Ils permet une meilleure organisation.
  • Il rend le code plus lisible et plus facile à comprendre
  • Il permet de regrouper les classes et les fonctions liées logiquement

Exemple

<?php

/**
 * Plugin Name: Mon super plugin
 * Plugin URI: https://example.com/mon-super-plugin
 * Description: Un plugin simple pour expliquer le namespace dans WordPres.
 * Version: 1.0.0
 * Author: Stephane
 * Author URI: https://definitions-digital.com
 * License: GPLv2 or later
 * Text Domain: mon-super-plugin
 */

namespace MonSuperPlugin; // Déclaration du namespace

// Déclaration des classes et des fonctions

class MonSuperPlugin {
    public function __construct() {
        add_action('init', array($this, 'registerShortcodes'));
    }

    public function registerShortcodes() {
        add_shortcode('mon_super_shortcode', array($this, 'renderShortcode'));
    }

    public function renderShortcode($atts) {
        return '<p>Le contenu de mon shortcode!</p>';
    }
}

// Instanciation et activation de la classe principale

$monSuperPlugin = new MonSuperPlugin();
register_activation_hook(__FILE__, array($monSuperPlugin, 'activate'));
register_deactivation_hook(__FILE__, array($monSuperPlugin, 'deactivate'));

La classe MonSuperPlugin est instanciée et enregistrée pour les hooks d’activation et de désactivation du plugin.

Cela garantit que les méthodes de la classe sont exécutées lors de l’activation et de la désactivation du plugin.

Espace de nom pour Linux

Un espace de nommage, ou namespace, est une fonction qui permet de regrouper des processus, d’allouer un espace distinct du système, et de créer ainsi un compartiment isolé pour un ensemble de ressources gérées par Linux.

Les ressources englobent le nom d’hôte, la liste des identifiants de processus (PID), les identifiants d’entités uniques (UID), les noms de fichiers et répertoires, certaines ressources réseau, ainsi que les mécanismes de communication inter-processus (IPC), permettant aux processus concurrents d’échanger des données et de se synchroniser.