..
Vi börjar med att förklara vad vi menar med dynamisk filtrering.
Med detta uttryck menar vi att denna mekanism att göra tillgängliga för våra klasser / script filtreras gemensamma egenskaper, men i förhållande till den miljö där vi arbetar (lokal, test, produktion).
Det är en gemensam mekanism i Java, men inte i PHP av den enkla anledningen att begreppet distribution, som vanligtvis förstås, inte är förenad med vår älskade språket. Och "i själva verket ganska vanligt testskript lokalt och sedan kopiera filerna via FTP på vårt test, eller (sämre) direkt på att produktionen.
På arbetsplatsen är dock väldigt praktiskt att ha filtreras bort automatiskt beroende på egenskaper som vår applikation ska köras i localhost eller på andra maskiner (t.ex. gränssnitt, som utsätts för på utsidan), så i denna artikel kommer vi att skapa en gemensam ram för att genomföra Denna typ av logik i ett PHP-projekt vår hypotetiska.
För att göra detta kommer vi inte att använda externa paket, eller speciella abstraktioner vi behöver är ett XML, ett PHP-klass och textfiler.
Tanken är att definiera i XML-filen till vårt gemensamma egenskaper, skapa en fil för varje miljö för att förbättra dem och skriva lite kod som sätter ihop allt. Strukturen på vårt test ansökan kommer att:
Här är de grundläggande struktur:

Låt oss se hur filen är uppbyggd:
<? 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>
Förutom de vanliga XML-taggar definierar dokumentet som startar en behållare tagg <properties> där vi infoga en uppsättning taggar <property>, de tre första är de som kommer att tjäna i exemplet, är de tre sista i samband med olika värden och tjäna PHP för att förstå vilken miljö vi verkar dynamiskt.
Här har vi deine den lokala miljöer, testning och produktion, men inget hindrar dig definiera andra, såsom dev.
För varje av rummen visas en bas-URL, vilket värde enligt våra krav, tillämpning av programmet.
I vårt scenario har vi en testmaskin för att nå "test.qualchedominio.it URL och en produktion väl självklart prod.qualchedominio.it nås på localhost.
Nästa steg är att se till att de egenskaper som definieras i XML värderas olika beroende på den "miljö där vi är. Vi använder för detta ändamål av text filer i mappen filter, låt oss se innehållet en efter en:
, [LOKALA] Filter egenskaper messaggio_variabile = "Vi LOCAL" url_servizio_esterno = http://dev-servizio.esterno.it
; [Test] Filter egenskaper messaggio_variabile = "vi testar" url_servizio_esterno = http://test-servizio.esterno.it
; [PRO] Filter egenskaper messaggio_variabile = "Vi PRODUKTION" url_servizio_esterno = http://prod-servizio.esterno.itit
Observera att egenskapen "__app_version", som definieras i XML, är det inte omdefinieras i olika filer, kommer det att behandlas för ändamål som en allmän egendom mellan olika miljöer och oföränderliga, så kommer inte filtreras.
| |
Linux (kurs)
Komplett av öppen källkod-system. Från 49 €. |
| |
MySQL (kurs)
Hantering av öppen källkod databas. Från 39 €. |
| |
PHP (kurs)
Fullständig kurs för att skapa dynamiska webbplatser. Från 49 €. |