..
Vi begynner med å forklare hva vi mener med dynamisk filtrering.
Med dette uttrykket henviser vi til som mekanisme for å gjøre tilgjengelig for våre klasser / scripts filtrert felles egenskaper, men i forhold til det miljøet vi arbeider (lokalt, test, produksjon).
Det er en vanlig mekanisme i Java, men ikke i PHP for den enkle grunn at begrepet distribusjon, som vanligvis forstås, ikke er assosiert med vår elskede språk. Og "faktisk ganske vanlig test scripts lokalt og deretter kopiere filene via ftp på vår test, eller (enda verre) direkte på at produksjonen.
På arbeidsplassen, er imidlertid veldig praktisk å ha filtrert ut automatisk, avhengig av egenskaper som vår søknad må kjøre på localhost eller på andre maskiner (slik som frontend, eksponert til utsiden), så i denne artikkelen vil vi lage et enkelt rammeverk for å implementere Denne type logikk i et PHP vårt prosjekt hypotetisk.
For å gjøre dette vil vi ikke bruker eksterne pakker, eller spesielle abstraksjoner vi trenger er en XML, en PHP klasse og tekstfiler.
Ideen er å definere i xml filen til vår felles egenskaper, opprette en fil for hvert miljø å forbedre dem og skrive noen kode som setter det hele sammen. Strukturen i vår test søknaden vil være:
Her er det grunnleggende struktur:

La oss se hvordan filen er ferdige:
<? 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" /> </ Egenskaper>
Foruten de vanlige XML-koder definerer dokumentet som starter en tag <properties> container der vi setter inn et sett med koder <property>, de tre første er de som vil tjene i eksempelet, er de siste tre knyttet til ulike host og tjene PHP å forstå hva miljøet vi opererer dynamisk.
Her har vi deine de lokale miljøene, testing og produksjon, men ingenting hindrer deg i å definere andre, for eksempel dev.
For hvert av rommene er vist en base URL, som verdi i henhold til våre krav, program etter program.
I scenario vår har vi en test maskin til nå 'test.qualchedominio.it URL og en produksjonsbrønn selvfølgelig prod.qualchedominio.it nås på localhost.
Det neste trinnet er å sørge for at egenskapene definert i XML verdsettes ulikt avhengig av 'miljøet der vi er. Vi bruker for dette formålet av tekstfiler i mappen filtre, la oss se på innholdet en etter en:
; [LOKALE] Filter eiendommer messaggio_variabile = "Vi LOKAL" url_servizio_esterno = http://dev-servizio.esterno.it
; [TEST] Filter eiendommer messaggio_variabile = "Vi TEST" url_servizio_esterno = http://test-servizio.esterno.it
; [PRO] Filter eiendommer messaggio_variabile = "Vi PRODUCTION" url_servizio_esterno = http://prod-servizio.esterno.itit
Merk at eiendommen "__app_version", definert i XML, er det ikke redefinert i forskjellige filer, vil det bli behandlet for alle formål som et sameie mellom de ulike miljøene og uforanderlig, så vil ikke bli filtrert.
| |
Linux (Course)
Komplett guide til open-source system. Fra 49 €. |
| |
MySQL (Course)
Forvaltning av open-source database. Fra € 39. |
| |
PHP (Course)
Full kurs for å lage dynamiske nettsider. Fra 49 €. |