..
Vi begynder med at forklare, hvad vi mener med dynamisk filtrering.
Med dette udtryk henviser vi til denne mekanisme til at stille til rådighed for vores klasser / scripts filtreret fælles egenskaber, men i forhold til det miljø, vi arbejder (lokalt, test, produktion).
Det er en fælles mekanisme i Java, men ikke i PHP af den simple grund, at begrebet implementering, som almindeligvis opfattes, ikke er forbundet med vores elskede sprog. Og 'faktisk ret almindeligt testscripts lokalt og derefter kopiere filerne via FTP på vores test, eller (værre) direkte på denne produktion.
På arbejdspladsen, dog er meget praktisk at have filtreret ud automatisk afhængigt af ejendomme, at vores ansøgning skal køre i localhost eller på andre maskiner (som f.eks frontend, udsat for udefra), så i denne artikel vil vi skabe en fælles ramme til at gennemføre Denne form for logik i et PHP projekt vores hypotetiske.
For at gøre dette, vil vi ikke bruge kolli, eller særlige abstraktioner, vi behøver, er en XML, en PHP klasse og tekstfiler.
Ideen er at definere i XML-filen til vores fælles egenskaber, oprette en fil i de enkelte miljøer for at styrke dem og skrive noget kode, som sætter det hele sammen. Strukturen i vores test ansøgning vil blive:
Her er den grundlæggende struktur:

Lad os se, hvordan filen er konfektionerede:
<? Xml version = "1.0" encoding = "utf-8"?> <properties> <property name="__app_version" value="0.0.1" /> <property name="messaggio_variabile" value="" /> <property name="url_servizio_esterno" value="" /> <property name="local" value="localhost" /> <property name="test" value="test.qualchedominio.it" /> <property name="pro" value="prod.qualchedominio.it" /> </ Egenskaber>
Ud over de sædvanlige XML-koder definerer det dokument, der starter et tag <properties> container, som vi indsætter et sæt af tags <property>, de tre første er dem, der vil tjene i eksemplet, er de sidste tre relateret til forskellige host og tjene PHP at forstå, hvad miljø, vi opererer dynamisk.
Her har vi deine de lokale miljøer, test og produktion, men intet forhindrer dig i at definere andre, som f.eks dev.
For hvert af værelserne er vist en base URL, hvilken værdi i henhold til vores krav, ansøgning efter ansøgning.
I vores scenarie har vi en test maskine til at nå 'test.qualchedominio.it URL og en produktion godt selvfølgelig prod.qualchedominio.it nåede frem til på localhost.
Det næste skridt er at sørge for, at de egenskaber, der er defineret i XML er værdiansat forskelligt afhængigt af 'miljø, hvor vi er. Vi bruger til dette formål af tekst filer i mappen filtre, lad os se indholdet én efter én:
[LOKALT] Filter egenskaber messaggio_variabile = "Vi LOCAL" url_servizio_esterno = http://dev-servizio.esterno.it
[TEST] Filter egenskaber messaggio_variabile = "Vi TEST" url_servizio_esterno = http://test-servizio.esterno.it
[PRO] Filter egenskaber messaggio_variabile = "Vi PRODUKTION" url_servizio_esterno = http://prod-servizio.esterno.itit
Bemærk, at ejendommen "__app_version", der er defineret i XML, er det ikke omdefineres i forskellige filer, vil det blive behandlet i enhver henseende som en fælles ejendom blandt de forskellige miljøer og uforanderlig, så vil ikke blive filtreret.
| |
Linux (Kursus)
Komplet guide til open source-system. Fra 49 €. |
| |
MySQL (Kursus)
Forvaltning af open source-database. Fra 39 €. |
| |
PHP (Kursus)
Fuld kursus for at skabe dynamiske web-sites. Fra 49 €. |