Hvad er PHP konfiguration mønstre?

PHP Configuration Patterns

PHP Configuration Mønstre

Oversigt: PHP er et cross-platform sprog. Det er en server baseret applikation, så vi må tænke over konfigurationsindstillinger for PHP software. Der er forskellige måder at skabe konfigurerbare PHP-applikationer. Fleksibiliteten konfiguration kommer som en indbygget funktion i PHP. Men vi må forstå kravet klart før en ansøgning konfigurerbar.

Denne artikel vil diskutere forskellige PHP konfiguration mønstre og deres gennemførelse.

Indledning:

Der er flere måder at gøre en PHP-program konfigurerbar. Der er også ideelle konfiguration punkter, som er branchens standard. Disse punkter vil afgøre, om et PHP-program er for konfigurerbar eller for lukket. Hvis et PHP-program er for nogle klient installation så skal det være konfigurerbare nok til at passe brugerdefinerede krav. Der er forskellige teknikker til rådighed til lagring konfigurationsindstillinger og mulighederne er nævnt nedenfor.

  1. INI fil
  2. PHP-fil
  3. tekstfil
  4. XML-fil
  5. Database

Hvert valg har sine fordele og ulemper. Nu er alle disse valg vil blive opdaget at observere hvilken teknik er nøjagtig for arbejdsmiljøet ansøgning.

Den INI File Mønster: PHP har indbygget understøttelse af konfigurationsfiler. Den opgave udføres af initialiseringen (DENNE) fil mekanisme, som er kendt som php.ini. Denne fil definerer konstanter, parametre database forbindelse, session relaterede værdier mv. Men den brugerdefinerede konfigurationsparametre kan også indgå i php.ini fil som pr din ansøgning krav. Lad os se et simpelt eksempel.

Lad mig tilføje en simpel linje i php.ini fil.

myappworkdir = phpbuilder

Listing1: sample.php viser post i php.ini fil

<?php

funktion get_work_directory()

{

$v = get_cfg_var( “myappworkdir ” );

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

}

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

?>

Lad mig nu køre dette på kommandoprompten. Det vil vise værdien som vist nedenfor.

% php sample.php

phpbuilder

%

Vi må huske, at INI fil til konfiguration poster ikke anbefales til dine programmer. Den væsentligste årsag er, at INI-filen kan læses let, men skriver ind i det på en sikker måde er næsten umuligt. Så som en konsekvens, INI-filen er velegnet til read only operationer. Hvis din ansøgning behov både læse og skrive operationer, derefter INI-filen som en konfiguration mønster skal undgås. Den anden grund er, at den php.ini fil deles blandt alle de applikationer, der kører på serveren, så applikationsspecifikke poster ikke anbefales.

PHP Script File Mønster: PHP script kan også bruges til at gemme konfigurationselementer. Dette er intet andet end en PHP-fil, der holder konfigurationsparametre. Det første skridt er at skabe en PHP-fil og derefter tilføje konstanterne som pr kravet ansøgning. Disse konstanter kan tilgås direkte fra andre filer.

Følgende eksempel viser en script-fil, der holder konstanter og den anden PHP filen adgang til værdierne.

Listing 2: Prøve viser konfiguration poster (configscript.php)

<?php

# Arbejde mappe placering

#

$WORK_DIRECTORY = “workdir”;

?>

Listing 3: .Prøve viser adgang konfigurationsværdier (test.php)

<?php

require_once ‘configscript.php’;

funktion get_work_directory()

{

global $ WORK_DIRECTORY;

tilbagevenden $ WORK_DIRECTORY;

}

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

?>

Lad os diskutere fordelene ved dette motiv mønster. First, filen er nyoprettede, så det er bare en tom fil, hvor du kan tilføje parametrene. Du kan også sætte PHP script fil i samme fil som roden. Den anden fordel er, at filen kan redigeres ved hjælp af en standard editor.

Sammen med de fordele der er nogle ulemper også. Dette mønster er også en read-only mønsteret INI fil diskuteret i det foregående afsnit. Så læseoperationen er meget let, men skrive er næsten vanskelig at udføre.

Tekstfil Mønster: Vores tidligere to mønstre var egnet til læse-kun operationer. Men hvis applikationen skal læse og skrive konfigurationselementer så vi skal kigge efter andre muligheder. Her vil jeg diskutere om teksten konfiguration mønster.

Lad os se et eksempel gennemføre tekstfil mønster.

Følgende er den første tekst-fil med konfiguration poster. Det er en simpel (txt) fil har konfiguration poster.

Listing 4: Prøve viser tekst filposter (config.txt)

# Ansøgning tekst konfigurationsfil

Title = Min App i phpbuilder

WorkDirectory = workdir

Den næste del er en selvstændig defineret konfiguration klasse at få adgang til filposter tekst konfiguration.

Listing 5: Prøve viser genfinding af konfigurationsværdier (test.php)

<?php

klasse TextConfiguration

{

private $configFileText = ‘config.txt’;

privat $ itemslist = array();

funktion __construct() { $denne->parseFile(); }

funktion __get($id) { return $ dette->itemslist[ $id ]; }

funktion parseFile()

{

$fl = fopen( $denne->configFileText, »r’ );

mens( $L = fgets( $fl ) )

{

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

{

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

$denne->itemslist[ $fundet[1] ] = $ Fundet[2];

}

}

fclose( $fl );

}

}

$t = ny TextConfiguration();

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

?>

I denne klasse vi skaber en konfiguration klasse objekt. Efter dette konstruktøren læser indholdet af teksten konfigurationsfil og derefter en lokal variabel er befolket med Parsede data. I det næste trin scriptet søge i 'WorkDirectory’ og endelig viser værdien.

Hvis PHP-fil køres på kommandoprompten og derefter følgende resultat vises.

% php test.php

workdir

%

På lignende måde kan skrive operation også udføres på den samme tekst konfigurationsfil. Vi er nødt til at tilføje nogle flere metoder i den brugerdefinerede konfiguration klasse til at gemme data i tekstfilen. Selvom kodning del er en smule mere i denne tilgang, men det understøtter både læse og skrive operation.

XML-fil Mønster: I det foregående afsnit har jeg diskuteret tekstfil mønster med støtte til at læse og skrive operations.XML fil er en anden mulighed, som kan bruges som en PHP-konfiguration mønster. XML-filer er også udbredt som konfigurationsfil i forskellige applikationer, så det er en industristandard. In addition to this, XML-filer er tag baseret og der er masser af standard redaktører til rådighed til redigering XML-filer.

Lad os først tjekke konfigurationsfilen som holder parameterværdierne.

Listing6: Prøve viser xml konfigurationer fil (config.xml)

<?xml version=”1.0″?>

<config>

<Titel>Min app i phpbuilder</Titel>

<WorkDirectory>workdir</WorkDirectory>

</config>

Følgende er en opdateret konfiguration klasse for adgang til data fra XML-konfigurationsfil.

Listing7: Prøve Viser kutymer af xml konfigurationsfilen (testxml.php)

<?php

klasse XMLConfiguration

{

private $configFileXML = ‘config.xml’;

privat $ itemslist = array();

funktion __construct() { $denne->parse(); }

funktion __get($id) { return $ dette->itemslist[ $id ]; }

funktion parseXML()

{

$doc = ny DOMDocument();

$doku->belastning( $denne->configFileXML );

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

$knuder = $ CN>vare(0)->getElementsByTagName( “*” );

for hver( $knudepunkter som $ node )

$denne->itemslist[ $lymfeknude>nodename ] = $ Lymfeknude>nodeValue;

}

}

$c = ny XMLConfiguration();

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

?>

Den xml konfiguration mønster er meget renere og lettere at gennemføre. Hvis ovenstående kode køres på kommandoprompten, så vil den vise det samme output som ovenfor. Ovenstående eksempel viser read operation kun. Det skriver operation kan også udføres ved at tilføje nogle flere metoder.

Database Mønster: Nu vil vi diskutere den sidste PHP-konfigurationen mønster, som er baseret på databasen. Databasen vil holde konfigurationsværdierne. Og en brugerdefineret klasse skal være udformet som ovenfor til adgang til databasen skema og hente værdierne.

Databasen konfiguration mønster er dybest set en hybrid mønster. Det er en blanding af tekst og database mønster. Konfigurationen klasse er designet til at læse de oprindelige værdier fra en tekstfil og derefter få adgang til databasen for at opdatere de relaterede poster. Men denne fremgangsmåde er fleksibel nok til at bruge i forskellige applikationer.

Konklusion: I denne artikel har vi rørt alle aspekter af PHP konfiguration mønstre. Vi har også forstået, at konfigurationen del af en PHP-program skal betragtes under konstruktionsfasen. PHP-applikationer kan være af forskellige typer afhængig af funktionaliteten, so the selection of a particular configuration pattern is a key factor for the success. Jeg håber du har forstået de grundlæggende begreber i PHP konfiguration mønstre og deres gennemførelse i den virkelige verden applikationer.

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

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share