Was sind die PHP-Konfigurationsmuster?

PHP Configuration Patterns

PHP-Konfigurationsmuster

Übersicht: PHP ist eine Cross-Plattform-Sprache. Es ist eine Server-basierte Anwendung, so müssen wir über die Konfigurationseinstellungen der PHP-Software denken. Es gibt verschiedene Möglichkeiten, konfigurierbare PHP-Anwendungen zu schaffen. Die Flexibilität bei der Konfiguration kommt als PHP in Funktion eingebaut. Aber wir müssen die Anforderungen klar zu verstehen, bevor Sie eine Anwendung konfigurierbar.

In diesem Artikel werden verschiedene PHP-Konfigurationsmuster diskutieren und ihre Umsetzung.

Einführung:

Es gibt mehrere Möglichkeiten, eine PHP-Anwendung konfigurierbar zu machen. Es gibt auch ideale Konfiguration Punkte, die Industriestandard. Diese Punkte werden bestimmen, ob eine PHP-Anwendung zu konfigurierbar ist oder auch geschlossen. Wenn eine PHP-Anwendung für einige Client-Installation ist, dann sollte es konfigurierbar genug sein, kundenspezifische Anforderungen zu passen. Es gibt verschiedene Techniken zur Verfügung, die Konfigurationseinstellungen für die Speicherung und die Optionen sind nachfolgend aufgeführt.

  1. INI-Datei
  2. PHP-Datei
  3. Textdatei
  4. XML-Datei
  5. Datenbank

Jede Wahl hat ihre Vor- und Nachteile. Nun werden alle diese Entscheidungen entdeckt werden, zu beobachten, welche Technik für die Arbeits Anwendung genau.

Die INI-Datei Pattern: PHP hat Unterstützung für Konfigurationsdateien gebaut. Die Aufgabe wird durch die Initialisierung durchgeführt (DIESE) Datei Mechanismus, der als Datei php.ini bekannt ist. Diese Datei definiert Konstanten, Datenbank-Verbindungsparameter, sitzungsbezogene Werte usw.. Aber die benutzerdefinierten Konfigurationsparameter können auch in der php.ini-Datei nach Ihren Anwendungsbedarf aufgenommen werden. Lassen Sie uns ein einfaches Beispiel überprüfen.

Lassen Sie mich eine einfache Linie hinzufügen, in php.ini Datei.

myappworkdir = PHP-Builder

Listing1: sample.php zeigt Eintrag in der php.ini-Datei

<?php

Funktion get_work_directory()

{

$v = get_cfg_var( “myappworkdir ” );

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

}

echo( get_work_directory().”\n” );

?>

lassen Sie mich das jetzt laufen auf Eingabeaufforderung. Es wird der Wert angezeigt, wie unten dargestellt.

% php sample.php

PHP-Builder

%

Wir müssen uns daran erinnern, dass der INI-Datei für Konfigurationseinträge nicht für Ihre Anwendungen empfohlen. Der Hauptgrund dafür ist, dass die INI-Datei leicht gelesen werden kann, aber in einer sicheren Weise in sie schreiben, ist fast unmöglich,. So als Folge, die INI-Datei ist nur zum Lesen Operationen geeignet. Wenn Ihre Anwendung sowohl Lese- als auch Schreiboperationen, dann muss die INI-Datei als Konfigurationsmuster vermieden werden. Der zweite Grund ist, dass die php.ini-Datei unter allen Anwendungen gemeinsam genutzt wird, auf dem Server ausgeführt, so anwendungsspezifischen Einträge werden nicht empfohlen.

PHP-Skriptdatei Muster: PHP-Skript kann auch die Konfigurationselemente zu speichern, verwendet werden,. Dies ist nichts anderes als eine PHP-Datei, die die Konfigurationsparameter hält. Der erste Schritt ist eine PHP-Datei zu erstellen und dann die Konstanten nach Anwendungsbedarf hinzufügen. Diese Konstanten können direkt von anderen Dateien zugegriffen werden.

Das folgende Beispiel zeigt eine Skriptdatei, die die Konstanten und die zweite PHP-Datei enthält, wird Zugriff auf die Werte.

Listing 2: Beispiel zeigt Konfigurationseinträge (configscript.php)

<?php

# Arbeitsverzeichnis Lage

#

$WORK_DIRECTORY = “workdir”;

?>

Listing 3: .Probe zeigt den Zugriff auf die Konfigurationswerte (test.php)

<?php

require_once ‘configscript.php’;

Funktion get_work_directory()

{

global $ WORK_DIRECTORY;

return $ WORK_DIRECTORY;

}

echo( get_work_directory().”\n” );

?>

Nun wollen wir die Vorteile dieser Designmuster diskutieren. First, die Datei wird neu erstellt, so dass es nur eine leere Datei ist, wo Sie die Parameter hinzufügen. Sie können auch die PHP-Script-Datei in der gleichen Datei wie die Wurzel gelegt. Der zweite Vorteil ist, dass die Datei mit einem beliebigen Standard-Editor bearbeitet werden können.

Neben den Vorteilen gibt es auch einige Nachteile. Dieses Muster ist auch ein Nur-Lese-Muster wie INI-Datei im vorherigen Abschnitt diskutiert. So wird der Lesevorgang ist sehr einfach, aber schreiben ist fast schwierig auszuführen.

Textdatei Pattern: Unsere bisherigen zwei Muster waren geeignet für die Nur-Lese-Operationen. Aber wenn die Anwendung lesen muss und schreiben Sie die Konfigurationselemente, dann sollten wir nach anderen Optionen suchen. Hier werde ich über den Text Konfigurationsmuster diskutieren.

Lassen Sie uns ein Beispiel überprüfen Textdatei Muster Umsetzung.

Im Anschluss wird die erste Textdatei Konfigurationseinträge mit. Es ist eine einfache (txt) Datei mit Konfigurationseinträge.

Listing 4: Probe zeigt Textdatei-Einträge (config.txt)

# Anwendung Text-Konfigurationsdatei

Title = My App in PHP-Builder

Workdirectory = workdir

Der nächste Teil ist eine selbstdefinierte Konfigurationsklasse der Textkonfigurationsdateieinträge zuzugreifen.

Listing 5: Probe zeigt Abrufen von Konfigurationswerten (test.php)

<?php

Klasse TextConfiguration

{

private $configFileText = ‘config.txt’;

private $ itemslist = array();

Funktion __construct() { $this->parseFile(); }

Funktion __get($Ich würde) { return $this->itemslist[ $Ich würde ]; }

Funktion parseFile()

{

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

während( $l = fgets( $fl ) )

{

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

{

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

$this->itemslist[ $gefunden[1] ] = $ Gefunden[2];

}

}

fclose( $fl );

}

}

$t = new TextConfiguration();

echo( $t->Workdirectory.”\n” );

?>

In dieser Klasse schaffen wir eine Konfigurationsklasse Objekt. Danach liest der Konstruktor den Inhalt der Textkonfigurationsdatei und dann eine lokale Variable mit der analysierten Daten gefüllt. In dem nächsten Schritt zu suchen das Skript die 'Workdirectory’ und schließlich zeigt es den Wert.

Wenn die PHP-Datei auf der Eingabeaufforderung ausgeführt wird, wird das folgende Ergebnis wird angezeigt.

% php test.php

workdir

%

In ähnlicher Weise kann auch der Schreibvorgang auf der gleichen Textkonfigurationsdatei durchgeführt werden,. Wir brauchen ein paar mehr Methoden in der benutzerdefinierten Konfigurationsklasse hinzufügen, um die Daten in der Textdatei zu speichern. Obwohl die Codierung Teil ist in diesem Ansatz ein bisschen mehr, aber es unterstützt sowohl die Lese- und Schreibbetrieb.

XML-Datei Muster: Im vorigen Abschnitt für Lesen und Schreiben operations.XML Datei ist eine weitere Option, die als PHP-Konfigurationsmuster verwendet werden kann, habe ich die Textdatei Muster mit Unterstützung diskutiert. XML-Dateien werden auch als Konfigurationsdatei in verschiedenen Anwendungen weit verbreitet, so dass es ein Industriestandard ist. In addition to this, XML-Dateien werden Tag-basiert und es gibt viele Standard-Editoren zur Verfügung XML-Dateien für die Bearbeitung.

Lassen Sie uns zuerst die Konfigurationsdatei überprüfen, die die Parameterwerte hält.

Listing6: Probe zeigt XML-Konfigurationsdatei (config.xml)

<?xml version=”1.0″?>

<config>

<Titel>Meine app in PHP-Builder</Titel>

<Workdirectory>workdir</Workdirectory>

</config>

Es folgt eine aktualisierte Konfigurationsklasse für Daten aus XML-Konfigurationsdatei zugreifen.

Listing7: Probe zeigt Verwendungen von XML-Konfigurationsdatei (testxml.php)

<?php

Klasse XMLConfiguration

{

private $configFileXML = ‘config.xml’;

private $ itemslist = array();

Funktion __construct() { $this->parsen(); }

Funktion __get($Ich würde) { return $this->itemslist[ $Ich würde ]; }

Funktion parseXML()

{

$doc = new DOMDocument();

$Do->Belastung( $this->configFileXML );

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

$Knoten = $ CN->Artikel(0)->getElementsByTagName( “*” );

foreach( $Knoten wie $ Knoten )

$this->itemslist[ $Knoten->nodeName ] = $ Node->nodeValue;

}

}

$c = new XMLConfiguration();

echo( $c->Workdirectory.”\n” );

?>

Die XML-Konfigurationsmuster ist viel sauberer und einfacher zu implementieren. Wenn der obige Code auf der Eingabeaufforderung ausgeführt wird, dann wird es die gleiche Leistung zeigen, wie oben. Das obige Beispiel zeigt die Leseoperation nur. Der Schreibvorgang kann auch durch Zugabe noch weitere Verfahren durchgeführt werden.

Datenbank Muster: Jetzt werden wir die letzte PHP-Konfigurationsmuster diskutieren, die auf Datenbank basiert. Die Datenbank wird die Konfigurationswerte halten. Und eine benutzerdefinierte Klasse muss, wie oben entworfen werden, um das Datenbankschema für den Zugriff auf und die Werte abrufen.

Die Datenbank basierte Konfigurationsmuster ist im Grunde ein Hybrid-Muster. Es ist eine Mischung aus Text und Datenbankmuster. Die Konfigurationsklasse ist auf die Anfangswerte aus einer Textdatei zu lesen und dann auf die Datenbank zugreifen, um die zugehörigen Einträge zu aktualisieren. Aber dieser Ansatz ist flexibel genug, um in verschiedenen Anwendungen zu verwenden,.

Fazit: In diesem Artikel haben wir alle Aspekte der PHP-Konfigurationsmuster berührt. Wir haben auch verstanden, dass die Konfiguration Teil einer PHP-Anwendung muss während der Planungsphase berücksichtigt werden. PHP-Anwendungen können von verschiedenen Arten sein, abhängig von der Funktionalität, so the selection of a particular configuration pattern is a key factor for the success. Ich hoffe, dass Sie die grundlegenden Konzepte der PHP-Konfigurationsmuster verstanden haben und deren Umsetzung in realen Anwendungen.

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

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share