Wat zijn de PHP configuratie patronen?

PHP Configuration Patterns

PHP Configuration Patterns

Overzicht: PHP is een cross-platform taal. Het is een server-based applicatie, zodat we moeten nadenken over de configuratie-instellingen van de PHP-software. Er zijn verschillende manieren van het creëren van configureerbare PHP-applicaties. De configuratie flexibiliteit komt als een ingebouwde functie in PHP. Maar we moeten de eis duidelijk te begrijpen voordat het maken van een applicatie configureerbaar.

Dit artikel zal verschillende PHP configuratie patronen en de uitvoering daarvan te bespreken.

Introductie:

Er zijn verschillende manieren om een ​​PHP applicatie configureerbare maken. Er zijn ook ideaal configuratie punten die standaard zijn. Deze punten zullen bepalen of een PHP applicatie te configureren of te gesloten. Als een PHP applicatie is voor sommige client-installatie dan moet het configureerbare genoeg om aangepaste eisen fit. Er zijn verschillende technieken beschikbaar voor het opslaan van configuratie-instellingen en opties zijn hieronder vermeld.

  1. INI-bestand
  2. PHP-bestand
  3. Tekstbestand
  4. XML-bestand
  5. Database

Elke keuze heeft zijn voor- en nadelen. Nu al deze keuzes zullen worden ontdekt om te zien welke techniek is nauwkeurig voor de werkende applicatie.

Het INI-bestand Pattern: PHP heeft ingebouwde ondersteuning voor configuratiebestanden. De taak wordt door de initialisatie (DEZE) file mechanisme dat bekend staat als php.ini bestand. Dit bestand definieert constanten, database connectie parameters, sessie gerelateerde waarden etc. Maar de aangepaste configuratie parameters kunnen ook opgenomen worden in php.ini bestand als per uw aanvraag eis. Laten we eerst controleren een eenvoudig voorbeeld.

Laat me toe te voegen een eenvoudige lijn in php.ini bestand.

myappworkdir = phpbuilder

Listing1: sample.php tonen vermelding in php.ini

<?php

functie get_work_directory()

{

$v = get_cfg_var( “myappworkdir ” );

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

}

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

?>

Nu wil ik deze draaien op opdrachtprompt. Het zal de waarde weergegeven als hieronder.

% php sample.php

phpbuilder

%

We moeten niet vergeten dat INI-bestand voor de configuratie data niet wordt aanbevolen voor uw toepassingen. De belangrijkste reden is dat het INI bestand gemakkelijk kan worden gelezen maar schrijven in het op een veilige manier vrijwel onmogelijk. Dus als gevolg, het INI-bestand is geschikt voor alleen-lezen operaties. Als uw aanvraag moet zowel lees- en schrijfbewerkingen, vervolgens het bestand INI als een configuratie patroon moet worden vermeden. De tweede reden is dat de php.ini bestand wordt gedeeld tussen alle applicaties die draaien op de server, zo applicatie-specifieke data worden niet aanbevolen.

PHP Script File Patroon: PHP script kan ook worden gebruikt om de configuratie-items op te slaan. Dit is niets anders dan een PHP-bestand dat de configuratie parameters houdt. De eerste stap is om een ​​PHP-bestand te maken en voeg vervolgens de constanten zoals de eis applicatie. Deze constanten kunnen direct worden benaderd vanuit andere bestanden.

Het volgende voorbeeld toont een script bestand dat de constanten houdt en de tweede PHP-bestand toegang heeft tot de waarden.

Listing 2: Monster dat configuratie entries (configscript.php)

<?php

# Working directory locatie

#

$WORK_DIRECTORY = “workdir”;

?>

Listing 3: .Monster dat de toegang tot de configuratie waarden (test.php)

<?php

require_once ‘configscript.php’;

functie get_work_directory()

{

global $ WORK_DIRECTORY;

return $ WORK_DIRECTORY;

}

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

?>

Laten we nu praten over de voordelen van dit ontwerp patroon. First, het bestand wordt pas gemaakt, zodat het is gewoon een leeg bestand waarin u de parameters kunt toevoegen. Je kunt ook de PHP-script bestand in hetzelfde bestand als de wortel. Het tweede voordeel is dat het bestand kan worden bewerkt met behulp van een standaard editor.

Samen met de voordelen zijn er ook enkele nadelen. Dit patroon is ook een read-only patroon als INI-bestand besproken in de vorige paragraaf. Zodat de leesbewerking is eenvoudig maar schrijven is bijna moeilijk uit te voeren.

Text File Pattern: Onze vorige twee patronen waren geschikt voor alleen-lezen operaties. Maar als de aanvraag dient te lezen en te schrijven van de configuratie-items dan moeten we kijken naar andere opties. Hier zal ik bespreken over de tekst configuratie patroon.

Laten we eerst controleren een voorbeeld uitvoering tekstbestand patroon.

Hieronder volgt de eerste tekstbestand met configuratie entries. Het is een eenvoudige (tekst) bestand met configuratie entries.

Listing 4: Monster tonen tekstbestand entries (config.txt)

# Toepassing tekst configuratiebestand

Title = Mijn App in phpbuilder

WorkDirectory = workdir

Het volgende deel is een zelf gedefinieerde configuratie klasse voor toegang tot de tekst configuratiebestand entries.

Listing 5: Monster met het ophalen van de configuratie waarden (test.php)

<?php

class TextConfiguration

{

private $configFileText = ‘config.txt’;

private $ DocumentenGroep = array();

functie __construct() { $deze->parseFile(); }

functie __get($id) { terug $ this->DocumentenGroep[ $id ]; }

functie parseFile()

{

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

terwijl( $l = fgets( $fl ) )

{

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

{

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

$deze->DocumentenGroep[ $gevonden[1] ] = $ Gevonden[2];

}

}

fclose( $fl );

}

}

$t = new TextConfiguration();

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

?>

In deze klasse creëren we een configuratie klasse object. Hierna wordt de constructor leest de inhoud van de tekst configuratiebestand en een lokale variabele wordt gevuld met de ontlede data. In de volgende stap zoekt het script het 'WorkDirectory’ en ten slotte toont de waarde.

Als het PHP-bestand op de opdrachtprompt wordt uitgevoerd dan het volgende resultaat wordt weergegeven.

% php test.php

workdir

%

Op soortgelijke wijze kan de schrijfbewerking worden uitgevoerd op dezelfde tekst configuratiebestand. We moeten wat meer methoden in de aangepaste configuratie klasse toe te voegen aan de gegevens in het tekstbestand opslaan. Hoewel het coderende gedeelte is wat in deze benadering maar ondersteunt zowel de lees- en schrijfbewerking.

XML File Patroon: In het vorige hoofdstuk besprak ik het tekstbestand patroon met ondersteuning voor lezen en schrijven operations.XML bestand andere optie die kan worden gebruikt als een PHP configuratie patroon. XML bestanden worden ook veel gebruikt als configuratiebestand verschillende toepassingen, zodat het een industriestandaard. In addition to this, XML-bestanden worden op basis van tags en er zijn tal van standaard editors beschikbaar voor XML-bestanden bewerken.

Laten we eerst het configuratiebestand waarin de parameterwaarden houdt controleren.

Listing6: Monster met xml configuratie bestand (config.xml)

<?xml version=”1.0″?>

<config>

<Titel>Mijn app in phpbuilder</Titel>

<WorkDirectory>workdir</WorkDirectory>

</config>

Hieronder volgt een bijgewerkte configuratie klasse voor de toegang tot de gegevens van xml-configuratiebestand.

Listing7: Steekproef vertoning gebruiken van xml-configuratiebestand (testxml.php)

<?php

class XMLConfiguration

{

private $configFileXML = ‘config.xml’;

private $ DocumentenGroep = array();

functie __construct() { $deze->ontleden(); }

functie __get($id) { terug $ this->DocumentenGroep[ $id ]; }

functie parseXML()

{

$doc = new DOMDocument();

$doc->laden( $deze->configFileXML );

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

$nodes = $ CN->item(0)->getElementsByTagName( “*” );

foreach( $knooppunten $ knooppunt )

$deze->DocumentenGroep[ $knooppunt->nodeName ] = $ Node>nodeValue;

}

}

$c = new XMLConfiguration();

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

?>

De xml configuratie patroon is veel schoner en gemakkelijker te implementeren. Als de bovenstaande code wordt uitgevoerd op de opdrachtprompt dan zal het hetzelfde resultaat als hierboven te tonen. Het bovenstaande voorbeeld toont alleen de leesoperatie. De write bediening kan ook worden uitgevoerd door het toevoegen van wat meer methoden.

Database Patroon: Nu zullen we de laatste PHP configuratie patroon dat is gebaseerd op de database bespreken. De database zal de configuratie waarden te houden. En een aangepaste klasse heeft als hierboven zijn ontworpen om het databaseschema en ophalen van de waarden.

De database gebaseerde configuratie patroon is eigenlijk een hybride patroon. Het is een combinatie van tekst en database patroon. De configuratie klasse is ontworpen om de beginwaarden gelezen uit een tekstbestand, en toegang tot de database om de gerelateerde items bijwerken. Maar deze aanpak is flexibel genoeg voor gebruik in diverse toepassingen.

Conclusie: In dit artikel hebben we alle aspecten van PHP configuratie patronen aangeraakt. We hebben ook begrepen dat de configuratie deel van een PHP applicatie tijdens de ontwerpfase moet worden beschouwd. PHP toepassingen kunnen verschillende types, afhankelijk van de functionaliteit, dus de keuze van een bepaalde configuratie patroon is een belangrijke factor voor het welslagen. Ik hoop dat u de basisbegrippen van PHP configuratie patronen en de uitvoering ervan in de echte wereld toepassingen hebben begrepen.

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

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share