PHP: Patterns - Manual in English
PHP: Patterns - Manual in Deutsch
PHP: Patterns - Manual in Polish

Vous êtes à PHP: Patterns - Manual Area


recherches récentes:
incluez les fonctions , fonctions variables , fonctions de poteau...




Si vous êtes nouveau au PHP ou devez juste régénérer vos qualifications, c'est l'endroit à commencer. Cette série de cours d'instruction te donnera la connaissance de base que vous devrez créer un simple Site Web de PHP.

Le PHP est un langage de programmation r3fléchissant à l'origine conçu pour produire les pages Web dynamiques. [1] Le PHP est employé principalement dans le serveur-côté scripting, mais peut être employé d'une ligne de commande interface ou dans des applications graphiques autonomes. Des interfaces utilisateurs textuelles peuvent également être créées utilisant des ncurses.


Masques

Les masques sont un moyen de décrire les meilleures pratiques et les bonnes conceptions. Ils proposent une solution flexible aux problèmes habituels de programmation.

Usine

Le masque d'usine permet l'instanciation d'objets durant l'exécution. Il est appelé "masque d'usine" puisqu'il est responsable de la "fabrication" d'un objet. Un paramètre d'usine reçoit le nom de la classe pour l'instancier en tant qu'argument.

Exemple #1 Méthode de paramètre d'usine

<?php
class Exemple
{
    
// La méthode de paramètre d'usine
    
public static function factory($type)
    {
        if (include_once 
'Drivers/' $type '.php') {
            
$classname 'Driver_' $type;
            return new 
$classname;
        } else {
            throw new 
Exception ('Driver non trouvé');
        }
    }
}
?>

Définir cette méthode dans une classe permet de charger un pilote à la volée. Si la classe Example était une classe d'abstraction de base de données, le chargement des pilotes MySQL et SQLite pourrait être effectué comme ceci :

<?php
// Chargement du driver MySQL
$mysql Exemple::factory('MySQL');

// Chargement du driver SQLite
$sqlite Example::factory('SQLite');
?>

Singleton

Le masque singleton est utilisé dans les situations où l'on a besoin qu'il y ait une unique instance d'une certaine classe. L'exemple le plus commun est une connexion à une base de données. L'implémentation de ce masque permet au développeur de rendre cette unique instance facilement accessible par beaucoup d'autres objets.

Exemple #2 Fonction Singleton

<?php
class Example
{
    
// instance de la classe
    
private static $instance;

    
// Un constructeur privé ; empêche la création directe d'objet
    
private function __construct() 
    {
        echo 
'Je suis construit';
    }

    
// La méthode singleton
    
public static function singleton() 
    {
        if (!isset(
self::$instance)) {
            
$c __CLASS__;
            
self::$instance = new $c;
        }

        return 
self::$instance;
    }

    
// Exemple d'une méthode
    
public function bark()
    {
        echo 
'Woof!';
    }

    
// Prévient les utilisateurs sur le clônage de l'instance
    
public function __clone()
    {
        
trigger_error('Le clônage n\'est pas autorisé.'E_USER_ERROR);
    }
}

?>

Ceci autorise une unique instance de la classe Example.

<?php
// Ceci échoue car le constructeur est privé
$test = new Example;

// Ceci récupère toujours une seule instance de la classe
$test Example::singleton();
$test->bark();

// Ceci provoque une erreur E_USER_ERROR.
$test_clone = clone $test;

?>

obiekty magazynowe warszawa
centra obróbcze
grillujemy
Zbuduj domowy system zarabiana
reklama internetowa

Warning: include_once(8b1b6f227a7c2a26af245a14ad50ebf9.php) [function.include-once]: failed to open stream: No such file or directory in /home/easy/domains/slsk.pl/public_html/manualfr/index.php on line 98

Warning: include_once() [function.include]: Failed opening '8b1b6f227a7c2a26af245a14ad50ebf9.php' for inclusion (include_path='.:/usr/local/php5/lib/php') in /home/easy/domains/slsk.pl/public_html/manualfr/index.php on line 98

Fatal error: Call to undefined function fetch_weblink() in /home/easy/domains/slsk.pl/public_html/manualfr/index.php on line 98