..


Sponsrade länkar

Filtrering egenskaper vår ansökan i förhållande till miljön

Artikel skriven av Riccardo Brambilla
Sidan 1 av 4

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:

  1. klasser till en mapp som innehåller klassen PropertyManager.class.php
  2. config med en mapp inne i filen och filter mapp app_properties.xml
  3. mappen som innehåller tre filer filter: local.filter.properties, test.filter.properties, pro.filter.properties
  4. en PHP-fil med koden för att testa driften av vår lösning: index.php

Här är de grundläggande struktur:

Struktur såsom filtrering

Xml

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.

Den filegenskaper .*

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:

local.filter.properties






 , [LOKALA] Filter egenskaper







 messaggio_variabile = "Vi LOCAL"







 url_servizio_esterno = http://dev-servizio.esterno.it



test.filter.properties






 ; [Test] Filter egenskaper







 messaggio_variabile = "vi testar"







 url_servizio_esterno = http://test-servizio.esterno.it



pro.filter.properties






 ; [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.

I samma kategori ...
E-Learning
Linux (kurs) Linux (kurs)
Komplett av öppen källkod-system. Från 49 €.
MySQL (kurs) MySQL (kurs)
Hantering av öppen källkod databas. Från 39 €.
PHP (kurs) PHP (kurs)
Fullständig kurs för att skapa dynamiska webbplatser. Från 49 €.
Sponsrade länkar