Ποια είναι τα σχέδια ρυθμίσεων της PHP?

PHP Configuration Patterns

Μοτίβα PHP Διαμόρφωση

Επισκόπηση: PHP είναι ένας σταυρός γλώσσα πλατφόρμα. Είναι ένας διακομιστής που βασίζεται εφαρμογή, έτσι πρέπει να σκεφτούμε σχετικά με τις ρυθμίσεις διαμόρφωσης του λογισμικού PHP. Υπάρχουν διάφοροι τρόποι δημιουργίας ρύθμισης εφαρμογών PHP. Η ευελιξία διαμόρφωσης έρχεται ως ένα ενσωματωμένο χαρακτηριστικό γνώρισμα σε PHP. Αλλά πρέπει να κατανοήσουν την αναγκαιότητα σαφώς πριν από την υποβολή αίτησης ρύθμισης.

Αυτό το άρθρο θα συζητήσουμε διαφορετικά σχέδια διαμόρφωσης PHP και την εφαρμογή τους.

Εισαγωγή:

Υπάρχουν διάφοροι τρόποι για να κάνετε μια εφαρμογή PHP παραμετροποιήσιμο. Υπάρχουν επίσης ιδανικά σημεία διαμόρφωσης που είναι βιομηχανικό πρότυπο. Αυτά τα σημεία θα καθορίσει αν μια εφαρμογή PHP είναι πολύ παραμετροποιήσιμο ή πολύ κλειστά. Εάν μια εφαρμογή PHP είναι για κάποιο εγκατάσταση πελάτη, τότε θα πρέπει να είναι αρκετά παραμετροποιήσιμο για να χωρέσει έθιμο ανάγκες. Υπάρχουν διάφορες τεχνικές που είναι διαθέσιμες για την αποθήκευση των ρυθμίσεων διαμόρφωσης και οι επιλογές που αναφέρονται παρακάτω.

  1. αρχείο INI
  2. PHP αρχείο
  3. αρχείο κειμένου
  4. αρχείο XML
  5. Βάση δεδομένων

Κάθε επιλογή έχει τα πλεονεκτήματα και τα μειονεκτήματά του. Τώρα όλες αυτές οι επιλογές θα πρέπει να ανακαλυφθεί για να παρατηρήσει ποια τεχνική είναι ακριβή για την εφαρμογή εργασίας.

Το μοτίβο INI αρχείου: PHP έχει ενσωματωμένη υποστήριξη για τα αρχεία διαμόρφωσης. Η εργασία εκτελείται από την αρχικοποίηση (ΑΥΤΗ) μηχανισμού αρχείο το οποίο είναι γνωστό ως php.ini αρχείο. Αυτό το αρχείο καθορίζει σταθερές, παραμέτρους σύνδεσης βάσης δεδομένων, αξιών που σχετίζονται συνεδρία κ.λπ.. Αλλά οι παράμετροι έθιμο διαμόρφωσης μπορούν επίσης να συμπεριληφθούν στο php.ini αρχείο ως ανά απαίτηση της αίτησής σας. Ας ελέγξει ένα απλό παράδειγμα.

Επιτρέψτε μου να προσθέσω μια απλή γραμμή php.ini αρχείο.

myappworkdir = phpbuilder

Listing1: sample.php δείχνει την είσοδο στο php.ini αρχείο

<?php

λειτουργία get_work_directory()

{

$v = get_cfg_var( “myappworkdir ” );

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

}

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

?>

Τώρα, επιτρέψτε μου να τρέξει αυτό σε γραμμή εντολών. Θα εμφανίσει την τιμή, όπως φαίνεται παρακάτω.

% php sample.php

phpbuilder

%

Πρέπει να θυμόμαστε ότι το αρχείο INI για τις καταχωρήσεις ρύθμιση δεν συνιστάται για τις εφαρμογές σας. Ο κύριος λόγος είναι ότι το αρχείο INI μπορεί να διαβαστεί εύκολα, αλλά γράφοντας σε αυτό με ασφαλή τρόπο είναι σχεδόν αδύνατη. Έτσι, ως συνέπεια, το αρχείο INI είναι κατάλληλο μόνο για ανάγνωση λειτουργίες. Εάν η αίτησή σας χρειάζεται τόσο διαβάζουν και να γράφουν εργασίες, τότε θα πρέπει να αποφεύγεται το αρχείο INI ως ένα πρότυπο διαμόρφωσης. Ο δεύτερος λόγος είναι ότι το αρχείο php.ini μοιράζεται ανάμεσα σε όλες τις εφαρμογές που εκτελούνται στο διακομιστή, οπότε εφαρμογή συγκεκριμένες καταχωρήσεις δεν συνιστώνται.

Αρχείο PHP Script Πρότυπο: PHP script μπορεί επίσης να χρησιμοποιηθεί για να αποθηκεύσει τα στοιχεία διαμόρφωσης. Αυτό δεν είναι τίποτα, αλλά ένα αρχείο PHP η οποία κατέχει τις παραμέτρους διαμόρφωσης. Το πρώτο βήμα είναι να δημιουργηθεί ένα αρχείο PHP και στη συνέχεια προσθέστε τις σταθερές σύμφωνα με την απαίτηση εφαρμογής. Οι σταθερές αυτές μπορούν να έχουν άμεση πρόσβαση από άλλα αρχεία.

Το ακόλουθο δείγμα δείχνει ένα αρχείο δέσμης ενεργειών που κρατά τις σταθερές και το αρχείο δεύτερη PHP έχει πρόσβαση τις τιμές.

Listing 2: καταχωρήσεις διαμόρφωση του δείγματος δείχνει (configscript.php)

<?php

# Δουλεύοντας θέση του καταλόγου

#

$WORK_DIRECTORY = “workdir”;

?>

Listing 3: .Δείγμα που δείχνει την πρόσβαση σε τιμές διαμόρφωσης (test.php)

<?php

require_once ‘configscript.php’;

λειτουργία get_work_directory()

{

παγκόσμια WORK_DIRECTORY $;

επιστροφή $ WORK_DIRECTORY;

}

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

?>

Τώρα, ας συζητήσουμε τα πλεονεκτήματα της αυτό το μοτίβο σχεδίασης. First, το αρχείο δημιουργήθηκε πρόσφατα γι 'αυτό είναι απλά ένα κενό αρχείο όπου μπορείτε να προσθέσετε τις παραμέτρους. Μπορείτε επίσης να βάλετε το αρχείο PHP script στον ίδιο φάκελο ως ρίζα. Το δεύτερο πλεονέκτημα είναι ότι το αρχείο μπορεί να επεξεργαστεί χρησιμοποιώντας οποιοδήποτε πρότυπο πρόγραμμα επεξεργασίας.

Μαζί με τα πλεονεκτήματα υπάρχουν κάποια μειονεκτήματα επίσης. Αυτό το πρότυπο είναι επίσης ένα read-only μοτίβο σαν αρχείο INI που συζητήθηκαν στην προηγούμενη ενότητα. Έτσι, η λειτουργία ανάγνωσης είναι πολύ εύκολο, αλλά εγγραφής είναι σχεδόν δύσκολο να εκτελέσει.

Μοτίβο Αρχείο κειμένου: δύο προηγούμενα σχέδια μας ήταν κατάλληλο για ανάγνωση μόνο πράξεις. Αλλά εάν η αίτηση πρέπει να διαβάσει και να γράψει τα στοιχεία διαμόρφωσης τότε θα πρέπει να αναζητήσουν άλλες επιλογές. Εδώ θα συζητήσουμε για το σχέδιο διαμόρφωσης κειμένου.

Ας ελέγξει ένα παράδειγμα εφαρμογής μοτίβο αρχείο κειμένου.

Μετά είναι το πρώτο αρχείο κειμένου με τις καταχωρήσεις διαμόρφωση. Είναι ένα απλό (txt) αρχείο με τις καταχωρήσεις διαμόρφωση.

Listing 4: Δείγμα εγγραφών του αρχείου που δείχνει κειμένου (config.txt)

# αρχείο διαμόρφωσης κειμένου εφαρμογής

Title = μου App στο phpbuilder

WorkDirectory = workdir

Το επόμενο μέρος είναι ένα αυτόνομο ορίζεται τάξη διαμόρφωσης για να αποκτήσετε πρόσβαση στις εγγραφές του αρχείου διαμόρφωσης κειμένου.

Listing 5: Δείγμα που δείχνει την ανάκτηση των τιμών διαμόρφωσης (test.php)

<?php

τάξη TextConfiguration

{

private $configFileText = ‘config.txt’;

ιδιωτική $ itemslist = array();

λειτουργία __construct() { $this->parseFile(); }

λειτουργία __get($ταυτότητα) { return $this->itemslist[ $ταυτότητα ]; }

λειτουργία parseFile()

{

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

ενώ( $l = fgets( $fl ) )

{

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

{

preg_match( '/ ^(.*?)=(.*?)$/’, $l, $θεμελιώ );

$this->itemslist[ $θεμελιώ[1] ] = $ Βρέθηκαν[2];

}

}

fclose( $fl );

}

}

$t = νέα TextConfiguration();

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

?>

Σε αυτή την κατηγορία δημιουργούμε ένα αντικείμενο κλάσης διαμόρφωση. Μετά από αυτό ο κατασκευαστής διαβάζει το περιεχόμενο του αρχείου διαμόρφωσης κειμένου και, στη συνέχεια, μια τοπική μεταβλητή έχει συμπληρωθεί με την αναλυμένη δεδομένων. Στο επόμενο βήμα το σενάριο αναζητήσετε το «WorkDirectory’ και, τέλος, εμφανίζει την τιμή.

Εάν το αρχείο PHP τρέχει σε γραμμή εντολών, στη συνέχεια, θα εμφανιστεί το ακόλουθο αποτέλεσμα.

% php test.php

workdir

%

Κατά παρόμοιο τρόπο, η λειτουργία εγγραφής μπορεί επίσης να εκτελεστεί στο αρχείο διαμόρφωσης ίδιο κείμενο. Πρέπει να προσθέσετε μερικές περισσότερες μεθόδους στην κατηγορία έθιμο διαμόρφωση για να αποθηκεύσετε τα δεδομένα στο αρχείο κειμένου. Αν και η κωδικοποίηση μέρος είναι λίγο περισσότερο σε αυτή την προσέγγιση, αλλά υποστηρίζει τόσο το διαβάζουν και να γράφουν τη λειτουργία.

XML αρχείου Πρότυπο: Στην προηγούμενη ενότητα έχω συζητήσει το σχέδιο αρχείο κειμένου με υποστήριξη για ανάγνωση και εγγραφή αρχείων operations.XML είναι μια άλλη επιλογή που μπορεί να χρησιμοποιηθεί ως πρότυπο ρυθμίσεων της PHP. XML αρχεία επίσης χρησιμοποιούνται ευρέως ως αρχείο ρυθμίσεων σε διάφορες εφαρμογές γι 'αυτό είναι ένα βιομηχανικό πρότυπο. In addition to this, Τα αρχεία XML tag βάση και υπάρχουν πολλά πρότυπο συντάκτες διαθέσιμο για την επεξεργασία αρχείων XML.

Ας ελέγξτε πρώτα το αρχείο ρυθμίσεων που κρατά τις τιμές των παραμέτρων.

Listing6: Δείγμα δείχνει αρχείου ρυθμίσεων xml (config.xml)

<?xml version=”1.0″?>

<config>

<Τίτλος>app μου στο phpbuilder</Τίτλος>

<WorkDirectory>workdir</WorkDirectory>

</config>

Ακολουθεί ένα ενημερωμένο τάξη διαμόρφωσης για την πρόσβαση σε δεδομένα από το αρχείο ρυθμίσεων xml.

Listing7: Δείγμα δείχνει χρήσεις του αρχείου ρυθμίσεων xml (testxml.php)

<?php

τάξη XMLConfiguration

{

private $configFileXML = ‘config.xml’;

ιδιωτική $ itemslist = array();

λειτουργία __construct() { $this->αναλύω πρόταση(); }

λειτουργία __get($ταυτότητα) { return $this->itemslist[ $ταυτότητα ]; }

λειτουργία parseXML()

{

$doc = νέα DOMDocument();

$doc->φορτώνω( $this->configFileXML );

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

$κόμβους = $ ΟΝ>είδος(0)->getElementsByTagName( “*” );

foreach( $κόμβους ως κόμβος $ )

$this->itemslist[ $κόμβος->NodeName ] = $ Λεμφαδένες>nodeValue;

}

}

$c = νέα XMLConfiguration();

echo( $ντο->WorkDirectory.”\n” );

?>

Το σχέδιο διαμόρφωσης XML είναι πολύ καθαρότερο και πιο εύκολο να εφαρμόσουν. Αν η παραπάνω κώδικα τρέχει σε γραμμή εντολών, τότε θα εμφανιστεί το ίδιο αποτέλεσμα όπως παραπάνω. Το παραπάνω δείγμα παρουσιάζει η λειτουργία ανάγνωσης μόνο. Η λειτουργία εγγραφής μπορεί επίσης να πραγματοποιηθεί με την προσθήκη ορισμένων περισσότερες μεθόδους.

Βάση δεδομένων Πρότυπο: Τώρα θα συζητήσουμε το σχέδιο διαμόρφωσης τελευταία PHP η οποία βασίζεται σε βάση δεδομένων. Η βάση δεδομένων θα κρατήσει τις τιμές διαμόρφωσης. Και ένα έθιμο τάξη πρέπει να σχεδιαστεί όπως παραπάνω για να αποκτήσετε πρόσβαση στο σχήμα της βάσης δεδομένων και να ανακτήσετε τις τιμές.

Το σχέδιο ρύθμισης που βασίζεται βάση δεδομένων είναι ουσιαστικά ένα υβριδικό μοντέλο. Είναι ένα μείγμα του κειμένου και της βάσης δεδομένων μοτίβο. Η τάξη διαμόρφωση έχει σχεδιαστεί για να διαβάσετε τις αρχικές τιμές από ένα αρχείο κειμένου και, στη συνέχεια, πρόσβαση στη βάση δεδομένων για να ενημερώσετε τις σχετικές καταχωρίσεις. Αλλά αυτή η προσέγγιση είναι αρκετά ευέλικτο για χρήση σε διάφορες εφαρμογές.

Συμπέρασμα: Σε αυτό το άρθρο έχουμε αγγίξει όλες τις πτυχές των προτύπων ρυθμίσεων της PHP. Έχουμε επίσης κατανοητό ότι το τμήμα διαμόρφωσης μιας εφαρμογής PHP πρέπει να θεωρηθεί κατά τη διάρκεια της φάσης σχεδιασμού. PHP εφαρμογών μπορεί να είναι διαφόρων τύπων, ανάλογα με τη λειτουργικότητα, έτσι ώστε η επιλογή ενός συγκεκριμένου προτύπου διαμόρφωσης είναι ένας βασικός παράγοντας για την επιτυχία. Ελπίζω ότι έχετε κατανοήσει τις βασικές έννοιες των προτύπων ρυθμίσεων της PHP και την εφαρμογή τους σε εφαρμογές πραγματικού κόσμου.

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

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share