Quels sont les schémas de configuration de PHP?

PHP Configuration Patterns

Patterns configuration PHP

Vue d'ensemble: PHP est un langage de multi-plateforme. Il est une application basée sur le serveur donc nous devons penser aux paramètres de configuration du logiciel PHP. Il existe différentes façons de créer des applications PHP configurables. La flexibilité de configuration se présente comme un construit en fonction en PHP. Mais nous devons comprendre clairement l'exigence avant de faire une application configurable.

Cet article va discuter des différents modèles de configuration de PHP et leur mise en œuvre.

Présentation:

Il y a plusieurs façons de faire une application PHP configurable. Il y a aussi des points de configuration idéaux qui sont la norme de l'industrie. Ces points permettront de déterminer si une application PHP est trop configurable ou trop fermé. Si une application PHP est pour une installation du client, alors il doit être suffisamment configurable pour répondre aux exigences personnalisées. Il existe différentes techniques disponibles pour le stockage des paramètres de configuration et les options sont mentionnés ci-dessous.

  1. fichier INI
  2. fichier PHP
  3. Fichier texte
  4. fichier XML
  5. Base de données

Chaque choix a ses avantages et ses inconvénients. Maintenant, tous ces choix seront découvertes pour observer la technique est précise pour l'application de travail.

Le modèle INI File: PHP a un support intégré pour les fichiers de configuration. La tâche est exécutée par l'initialisation (CE) mécanisme de fichier qui est connu comme fichier php.ini. Ce fichier définit les constantes, paramètres de connexion de base de données, les valeurs de session liés etc. Mais les paramètres de configuration personnalisés peuvent également être inclus dans le fichier php.ini selon votre condition d'application. Laissez-nous vérifier un exemple simple.

Permettez-moi d'ajouter une ligne simple php.ini dossier.

myappworkdir = phpbuilder

Listing1: sample.php montrant l'entrée dans le fichier php.ini

<?php

fonction get_work_directory()

{

$v = get_cfg_var( “myappworkdir ” );

return ( $v == null ) ? “workdir” : $v;

}

écho( get_work_directory().”\n” );

?>

Maintenant, permettez-moi de l'exécuter sur l'invite de commande. Il permet d'afficher la valeur comme indiqué ci-dessous.

% php sample.php

phpbuilder

%

Il faut rappeler que le fichier INI pour les entrées de configuration est pas recommandée pour vos applications. La raison principale est que le fichier INI peut être lu facilement, mais l'écriture dans une manière sécurisée est presque impossible. Donc, en conséquence, le fichier INI est adapté pour lire uniquement les opérations. Si votre application a besoin de lire et écrire des opérations, le fichier INI en tant que motif de configuration doit être évitée. La deuxième raison est que le fichier php.ini est partagée entre toutes les applications en cours d'exécution sur le serveur, donc des entrées spécifiques d'application ne sont pas recommandés.

PHP Script Fichier Modèle: script PHP peut également être utilisé pour stocker les éléments de configuration. Ce ne sont que d'un fichier PHP qui contient les paramètres de configuration. La première étape consiste à créer un fichier PHP, puis ajouter les constantes que par l'exigence de l'application. Ces constantes sont accessibles directement à partir d'autres fichiers.

L'exemple suivant montre un fichier de script qui contient les constantes et le fichier deuxième PHP accède aux valeurs.

Listing 2: Exemples montrant les entrées de configuration (configscript.php)

<?php

# Travailler emplacement du répertoire

#

$WORK_DIRECTORY = “workdir”;

?>

Listing 3: .montrant des échantillons accéder aux valeurs de configuration (test.php)

<?php

require_once ‘configscript.php’;

fonction get_work_directory()

{

$ WORK_DIRECTORY mondiale;

return $ WORK_DIRECTORY;

}

écho( get_work_directory().”\n” );

?>

Maintenant, nous allons en discuter les avantages de ce modèle de conception. First, le fichier est nouvellement créé de sorte qu'il est tout simplement un fichier vide où vous pouvez ajouter les paramètres. Vous pouvez aussi mettre le fichier de script PHP dans le même fichier que la racine. Le deuxième avantage est que le fichier peut être modifié en utilisant tout éditeur standard.

Outre les avantages il y a quelques inconvénients aussi. Ce modèle est également un motif de lecture seule comme fichier INI discuté dans la section précédente. Donc, l'opération de lecture est très facile, mais écrire est presque difficile à réaliser.

Modèle de fichier texte: Nos deux modèles précédents étaient adéquates pour opérations en lecture seule. Mais si l'application a besoin de lire et d'écrire les éléments de configuration, puis nous devrions chercher d'autres options. Ici, je vais discuter sur le modèle de configuration de texte.

Laissez-nous vérifier un exemple la mise en œuvre modèle de fichier texte.

Suite est le premier fichier texte ayant des entrées de configuration. Il est un simple (SMS) fichier ayant des entrées de configuration.

Listing 4: entrées de fichier texte montrant exemples (config.txt)

# le fichier de configuration de texte de l'application

Titre = My App dans phpbuilder

WorkDirectory = workdir

La partie suivante est une auto classe définie de configuration pour accéder aux entrées du fichier de configuration de texte.

Listing 5: Exemple de récupération des valeurs de configuration montrant (test.php)

<?php

TextConfiguration de classe

{

private $configFileText = ‘config.txt’;

Private $ itemsList = array();

fonction __construct() { $ce->parseFile(); }

fonction __get($ça) { return $ this->itemsList[ $ça ]; }

fonction parseFile()

{

$fl = fopen( $ce->configFileText, 'r’ );

while( $l = fgets( $fl ) )

{

si ( preg_match( '/ ^ # /', $l ) == false )

{

preg_match( '/ ^(.*?)=(.*?)$/’, $l, $trouvé );

$ce->itemsList[ $trouvé[1] ] = Trouvé $[2];

}

}

fclose( $fl );

}

}

$t = new TextConfiguration();

écho( $T->WorkDirectory.”\n” );

?>

Dans cette classe, nous créons un objet de classe de configuration. Après cela, le constructeur lit le contenu du fichier de configuration de texte, puis une variable locale est remplie avec les données analysé. Dans l'étape suivante du script de recherche de la 'WorkDirectory’ et enfin, il affiche la valeur.

Si le fichier PHP est exécuté sur l'invite de commande alors le résultat suivant sera affiché.

% php test.php

workdir

%

Dans la même façon l'opération d'écriture peut également être effectuée sur le fichier de configuration identique de texte. Nous devons ajouter d'autres méthodes dans la classe de configuration personnalisée pour enregistrer les données dans le fichier texte. Bien que la partie codante est un peu plus dans cette approche, mais il prend en charge la lecture et à l'exploitation écrire.

Fichier XML Modèle: Dans la section précédente, j'ai discuté le modèle de fichier texte avec le support de fichier operations.XML lire et écrire est une autre option qui peut être utilisé comme un modèle de configuration de PHP. Les fichiers XML sont également largement utilisés comme fichier de configuration dans diverses applications de sorte qu'il est une norme de l'industrie. In addition to this, Les fichiers XML sont basés tag et il y a beaucoup d'éditeurs standard disponibles pour l'édition de fichiers XML.

Laissez-nous vérifier d'abord le fichier de configuration qui contient les valeurs des paramètres.

Listing6: Exemple montrant fichier de configuration XML (config.xml)

<?xml version=”1.0″?>

<config>

<Titre>Mon application dans phpbuilder</Titre>

<WorkDirectory>workdir</WorkDirectory>

</config>

Voici une classe de configuration mis à jour pour accéder aux données à partir du fichier de configuration XML.

Listing7: Exemples montrant usages du fichier de configuration XML (testxml.php)

<?php

XMLConfiguration de classe

{

private $configFileXML = ‘config.xml’;

Private $ itemsList = array();

fonction __construct() { $ce->analyser(); }

fonction __get($ça) { return $ this->itemsList[ $ça ]; }

fonction parseXML()

{

$doc = new DOMDocument();

$doc->charge( $ce->configFileXML );

$cn = $ doc->getElementsByTagName( “config” );

$nœuds = $ CN->article(0)->getElementsByTagName( “*” );

pour chaque( $nœuds que $ node )

$ce->itemsList[ $nœud->nodeName ] = $ Node->nodeValue;

}

}

$c = new XMLConfiguration();

écho( $c->WorkDirectory.”\n” );

?>

Le motif de configuration XML est beaucoup plus propre et plus facile à mettre en œuvre. Si le code ci-dessus est exécuté sur l'invite de commande, puis il affiche le même résultat que ci-dessus. L'échantillon ci-dessus montre l'opération de lecture seulement. L'opération d'écriture peut également être effectuée en ajoutant des méthodes plus.

Base de données Modèle: Maintenant, nous allons discuter de la configuration de la dernière configuration de PHP qui est basé sur la base de données. La base de données tiendra les valeurs de configuration. Et une classe personnalisée doit être conçu comme ci-dessus pour accéder au schéma de base de données et récupérer les valeurs.

Le motif de configuration de base de données sur la base est fondamentalement un modèle hybride. Il est un mélange de texte et base de données modèle. La classe de configuration est conçu pour lire les valeurs initiales à partir d'un fichier texte, puis accéder à la base de données pour mettre à jour les entrées liées. Mais cette approche est suffisamment souple pour utiliser dans diverses applications.

Conclusion: Dans cet article, nous avons abordé tous les aspects des schémas de configuration de PHP. Nous avons également entendu que la partie de configuration d'une application PHP doit être considéré lors de la phase de conception. les applications PHP peuvent être de différents types en fonction de la fonctionnalité, de sorte que le choix d'un modèle de configuration particulière est un facteur clé pour le succès. J'espère que vous avez compris les concepts de base de schémas de configuration de PHP et leur mise en œuvre dans les applications du monde réel.

============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share