Tus PHP configuration qauv yog dab tsi?

PHP Configuration Patterns

PHP Configuration qauv

Txheej txheem cej luam: PHP yog ib hom lus platform ntoo khaub lig. Nws yog ib tug neeg rau zaub mov raws li daim ntawv ces peb yuav tsum xav txog lub chaw configuration ntawm cov PHP software. Muaj ntau ntau txoj kev uas yuav tsim PHP daim ntaub ntawv configurable. Lub configuration yooj li li ib feature built nyob hauv PHP. Tab sis peb yuav tsum to taub txog qhov yuav tsum tau qhia meej ua ntej ua tsab ntawv configurable.

Qhov tsab xov xwm no yuav tham txawv PHP configuration qauv thiab lawv siv.

Taw qhia:

Muaj ntau ntau txoj kev uas muab ib daim ntawv thov PHP configurable. Tseem muaj configuration zoo tagnrho cov ntsiab lus uas yog kev lag luam txheem. Cov ntsiab lus yuav txiav txim seb ib daim ntawv thov PHP muaj dhau configurable los yog raug kaw thiab. Yog ib daim ntawv thov PHP no rau ib co neeg plahaum ces nws yuav tsum tau configurable txaus kom haum raws kev cai. Muaj ntau hom kev kawm muaj nyob rau storing configuration chaw thiab cov kev xaiv uas muaj hais hauv qab no.

  1. Cov ntaub ntawv INI
  2. PHP ntaub ntawv
  3. Ntawv luam ntaub ntawv
  4. Cov ntaub ntawv XML
  5. Database

Txhua xaiv tau qhov zoo thiab disadvantages. Tam sim no tag nrho cov kev xaiv yuav sab kom zoo tshaj rau kev ua hauj lwm daim ntawv thov txheej txheem twg thiaj yog.

Lub INI ntaub ntawv txawv: PHP tau ua nyob rau hauv kev them nyiaj yug rau ntaub ntawv configuration. Neeg ua hauj lwm yam los ntawm cov initialization (INI) mechanism tej ntaub ntawv uas yog hu ua cov ntaub ntawv php.ini. Qhov ua ntaub ntawv thov nyiaj thiab lub sij constants, kev twb kev txuas lub tsis database, kho mob hais txog qhov tseem ceeb thiab lwm yam. Tiamsis tus configuration kev cai tsis kuj muaj nyob rau hauv ntaub ntawv php.ini as per koj yuav tsum tau ua daim ntawv thov. Peb cia saib ib tug piv txwv lus.

Cia kuv ntxiv rau ib kab lus hauv php.ini cov ntaub ntawv.

myappworkdir = phpbuilder

Listing1: Sample.php uas qhia nkag rau hauv ntaub ntawv php.ini

<?php

get_work_directory muaj nuj nqi()

{

$v = get_cfg_var( “myappworkdir ” );

rov qab mus ( $v == thov ) ? “workdir” : $v;

}

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

?>

Tam sim no cia kuv khiav no nyob txhob hais kom ua. Nws yuav tso saib tus nqi li nram qab no.

% php sample.php

phpbuilder

%

Peb yuav tsum nco ntsoov tias INI ua ntaub ntawv thov kev nkag configuration yog tsis pom zoo rau koj daim ntaub ntawv. Yog vim li cas lub ntsiab yog tias cov ntaub ntawv INI yuav tau nyeem yooj yim tab sis sau ntawv rau nws nyob rau hauv ib txoj kev ruaj ntseg no yuav tsis. Thiaj li ib consequence, cov ntaub ntawv INI yog tsim rau kev nyeem ntawv tsuas haujlwm. Yog hais tias koj daim ntawv thov yuav tsum tau niam txiv nyeem thiab sau ntawv haujlwm, ces cov ntaub ntawv INI ua ib configuration txawv yuav tsum pov tseg. Qhov thib ob mas yog tias cov php.ini tej ntaub ntawv yuav muab tso tawm ntawm tag nrho cov kev siv khiav rau cov neeg rau zaub mov, yog li ntawv thov kev nkag tsis pom zoo.

PHP tsab ntawv thov Txawv: PHP tsab ntawv kuj yuav siv los khaws cov khoom configuration no. Qhov no yog tsis muaj dab tsi tab sis ib tus neeg ua ntaub ntawv thov PHP uas tuas cov configuration tsis. Thawj kauj ruam yog los tsim ib cov ntaub ntawv PHP thiab ntxiv rau constants as per ntawm yuav tsum tau ua daim ntawv thov. Cov constants yuav tsum accessed ncaj qha los ntawm lwm yam ntaub ntawv.

Cov qauv hauv qab no qhia tau hais tias ib tsab ntawv tej ntaub ntawv uas tuas cov constants thiab PHP ntawv thib ob yog tus txheejtxheem ntawm qhov tseem ceeb.

Qhia 2: Qauv qhia configuration nkag (configscript.php)

<?php

# Ua hauj lwm qhov chaw directory

#

$WORK_DIRECTORY = “workdir”;

?>

Qhia 3: .Qauv qhia tus txheejtxheem configuration qhov tseem ceeb (test.php)

<?php

require_once 'configscript.php';

get_work_directory muaj nuj nqi()

{

$WORK_DIRECTORY ntiaj teb no;

rov qab mus $WORK_DIRECTORY;

}

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

?>

Tam sim no peb tham txog qhov zoo ntawm no tsim txawv. Ua ntej, cov ntaub ntawv tshiab khiv tsim ces nws tseem yog ib dawb paug cov ntaub ntawv uas koj yuav ntxiv tau rau tsis. Koj yuav tau muab PHP tsab ntawv ntawv ntawv tib yam li tus hauv paus hniav. Qhov thib ob kom zoo dua yog tias cov ntaub ntawv yuav tsum edited thaum uas siv cov lus txheem editor.

Nrog lub zoo tseem muaj ib co disadvantages. Cov qauv no kuj yog tus nyeem nkaus xwb txawv li INI ntaub ntawv tham nyob rau hauv dhau los. Li ntawd, lub lag luam read yog ib qho yooj yim heev tabsis sau tsis yog yooj yim yuav luag ua.

Cov qauv ntaub ntawv ntawv nyeem: Ob peb qauv teev tau haum rau cov haujlwm ntawv nkaus xwb. Tab sis, yog hais tias daim ntawv thov yuav tsum tau nyeem thiab sau ntawv rau configuration yam ces peb yuav tau nrhiav lwm txoj kev thiab. Ntawm no kuv yuav tham txog cov ntawv configuration txawv.

Peb cia saib ib tug piv txwv uas siv cov qauv ntaub ntawv ntawv.

Hauv qab no yog cov thawj phau ntawv ntaub ntawv thaum nkag configuration. Nws yog ib tug yooj yim (txt) cov ntaub ntawv muaj kev nkag configuration.

Qhia 4: Qauv uas qhia ntawv tej ntaub ntawv nkag (config.txt)

# Daim ntawv thov cov ntawv configuration ntaub ntawv

Npe App kuv = hauv phpbuilder

WorkDirectory = workdir

Ib sab tom ntej no yog lub chav kawm ntawv qhov configuration hais tseg los saib tau cov ntawv configuration tej ntaub ntawv nkag.

Qhia 5: Qauv uas qhia cov nqi ntawm qhov tseem ceeb configuration (test.php)

<?php

hoob kawm TextConfiguration

{

ntiav $configFileText = 'config.txt';

ntiav $itemslist = array();

__construct muaj nuj nqi() { $no->parseFile(); }

__get muaj nuj nqi($daim) { rov qab $this->itemslist[ $daim ]; }

parseFile muaj nuj nqi()

{

$ibce = fopen( $no->configFileText, ' r’ );

Thaum( $l = fgets( $ibce ) )

{

Yog hais tias ( preg_match( ‘/^#/’, $l ) == cuav )

{

preg_match( ‘/^(.*?)=(.*?)$/’, $l, $nrhiav tau );

$no->itemslist[ $nrhiav tau[1] ] = $found[2];

}

}

fclose( $ibce );

}

}

$t = TextConfiguration tshiab();

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

?>

Nyob rau hauv cov hoob kawm no peb yuav tsim ib configuration kawm kwv. Tom qab no cov constructor nyeem cov lus qhia hauv cov ntawv nyeem ntaub ntawv configuration thiab ces cov kuj sib txawv thiab qhov chaw no populated nrog cov ntaub ntawv parsed. Ua ke nqis tsab ntawv tshawb cov ' WorkDirectory’ thiab thaum kawg nws qhia txog cov nqi.

Yog tias cov ntaub ntawv PHP khiav rau qhov hais kom ua txhob ces qhov nram qab no tshwm sim yuav muab tso tawm kom pom.

% php test.php

workdir

%

Txoj kev zoo lub lag luam sau tau kuj raug tau rau lub qub ntawv configuration. Peb xav tau tej kev xav paub ntau ntxiv nyob rau hauv cov hoob kawm kev cai configuration rau cov ntaub ntawv tseg rau hauv phau ntawv. Txawm tias ib sab coding no kuj nce mentsis ntxiv hauv no mus kom ze, tiam sis nws txhawb ob tus nyeem ntawv thiab sau cov sijhawm ua haujlwm.

Cov ntaub ntawv XML Txawv: Nyob rau hauv dhau los kuv tau tham txog cov ntawv luam ntaub ntawv txawv nrog txhawb los nyeem thiab sau ntawv rau haujlwm. XML tej ntaub ntawv yog ib qhov uas siv tau nws ua ib tug PHP configuration txawv. XML ntaub ntawv lug kuj siv li configuration tej ntaub ntawv nyob hauv daim ntaub ntawv ntau vim li ntawd nws yog ib qho kev lag luam txheem. Ntxiv rau qhov no, XML cov ntaub ntawv no lossis raws li thiab muaj ntau editors txheem rau editing ntaub ntawv XML.

Peb xyuas ntawv configuration uas tuas cov parameter yaam tseem ceeb nuav.

Listing6: Qauv qhia xml configurations ntaub ntawv (config.xml)

<?xml version =”1.0″?>

<config>

<Npe>Kuv app hauv phpbuilder</Npe>

<WorkDirectory>workdir</WorkDirectory>

</config>

Nram no yog ib cov hoob kawm configuration kho tshiab rau tus txheejtxheem cov ntaub ntawv los ntawm cov ntaub ntawv configuration xml.

Listing7: Qauv uas qhia txog cov ntaub ntawv configuration xml usages (testxml.php)

<?php

hoob kawm XMLConfiguration

{

ntiav $configFileXML = 'config.xml';

ntiav $itemslist = array();

__construct muaj nuj nqi() { $no->parse(); }

__get muaj nuj nqi($daim) { rov qab $this->itemslist[ $daim ]; }

parseXML muaj nuj nqi()

{

$doc = DOMDocument tshiab();

$doc->thauj khoom( $no->configFileXML );

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

$o = $cn ->yam khoom(0)->getElementsByTagName( “*” );

foreach( $o li $node )

$no->itemslist[ $ntawm->nodeName ] = $node->nodeValue;

}

}

$c = XMLConfiguration tshiab();

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

?>

Cov xml configuration txawv yog npaum li cas noj thiab kom muaj kev yooj yim. Yog hais tias cov cai hais los saum toj no khiav rau qhov hais kom ua txhob ces nws yuav tso saib cov zis tib yam li saum toj no. Cov pawg saum toj no qhia tau hais tias tus read me xwb. Cov teev ua haujlwm kuj yuav tau los ntawm kev ntxiv ib co hau kev ntxiv.

Database Txawv: Tam sim no peb yuav sib tham txog qhov kawg PHP configuration txawv uas yog xyuas los ntawm database. Tus database yuav tuav lub qhov tseem ceeb configuration. Thiab cov hoob kawm kev cai muaj los yog tsim raws li saum toj no mus saib tau cov database schema thiab retrieve cov qhov tseem ceeb.

Txawv raws li configuration database lawm yeej yog ib cov qauv hybrid. Tseem ntiav cov qauv ntawv thiab database. Cov chav kawm ntawv configuration no tsim los nyeem cov lus ntawm qhov tseem ceeb los ntawm ib cov ntawv luam ntaub ntawv thiab ces nkag rau database los mus kho cov muaj feem xyuam nkag. Tab sis kauj heeev heev es siv nyob rau hauv daim ntaub ntawv ntau.

Xaus: Nyob rau cov tshooj no peb tau kov txhua tus sib nrauj PHP configuration qauv. Peb muaj kuj to taub tias configuration ib sab ntawm ib daim ntawv thov PHP yuav tsum yuav tau lub sij hawm tsim theem. PHP daim ntaub ntawv yuav muaj ntau yam nyob rau functionality, vim li ntawd xaiv ib tug configuration txawv yog ib qhov zoo tshaj yuav kom zoo. Kuv vam tias koj tau to taub lub ntsiab ntawm cov qauv configuration PHP yooj yim thiab lawv siv nyob rau hauv daim ntaub ntawv ntiaj teb tiag.

============================================= ============================================== Yuav zoo TechAlpine phau ntawv rau Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Txaus siab rau qhov blog? Tshaj tawm lus thov :)

Follow by Email
LinkedIn
LinkedIn
Share