..
Begin met het uit te leggen wat we bedoelen met dynamische filtering.
Met deze uitdrukking verwijzen we naar dit mechanisme ter beschikking te stellen aan de lessen / scripts gefilterd gemeenschappelijke eigenschappen, maar in relatie tot de omgeving waarin we werken (lokaal, test, productie).
Het is een gemeenschappelijk mechanisme in Java, maar niet in PHP, om de eenvoudige reden dat het concept van de implementatie, maar ook algemeen begrepen, niet is gekoppeld aan onze geliefde taal. En 'in feite heel gewoon test scripts lokaal en kopieert u de bestanden via ftp op onze test, of (erger) rechtstreeks aan de productie.
Op de werkplek, echter, is zeer handig om het onroerend goed automatisch gefilterd op basis van onze applicatie hebben moeten lopen in localhost of op andere machines (bijvoorbeeld op frontend, blootgesteld aan de buitenkant), dus in dit artikel zullen we een enkel kader te implementeren Dit soort logica in een PHP-project ons hypothetisch.
Om dit te doen dus we zullen geen gebruik maken van externe pakketten, of speciale abstracties we nodig hebben is een XML, een PHP klasse en tekstbestanden.
Het idee is om te definiëren in het xml-bestand naar ons gemeenschappelijk bezit, maakt u een bestand voor elke omgeving om ze te verbeteren en schrijf wat code die het allemaal bij elkaar brengt. De structuur van onze test aanvraag zal worden:
Hier is de basisstructuur:

Laten we eens kijken hoe het bestand is gemaakt:
<? 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" /> </ Eigenschappen>
Naast de gebruikelijke XML-codes definiëren van het document dat een tag <properties> container waarin voegen we een reeks tags <EIGENSCHAP> begint, de eerste drie zijn degenen die ons zal dienen in het voorbeeld, de laatste drie hebben betrekking op verschillende hosts en zullen PHP dynamisch om te begrijpen wat omgeving waarin wij actief zijn.
Hier hebben we deine lokale milieu, testen en produceren, maar niets weerhoudt je je eigen berichten, zoals de dev.
Voor elk van de omgevingen is blijk gegeven van een basis-URL die waarde volgens onze eisen, aanvraag van toepassing.
In ons scenario hebben we een test machine te bereiken 'test.qualchedominio.it URL en een productie goed natuurlijk prod.qualchedominio.it bereikt op localhost.
De volgende stap is om ervoor te zorgen dat de eigenschappen die in XML verschillend worden gewaardeerd afhankelijk van de 'omgeving waar we zijn. Wij gebruiken voor dit doel van tekst bestanden in de map filters, laten we de inhoud van een te zien van een:
; [LOCAL] Filter eigenschappen messaggio_variabile = "We LOCAL" url_servizio_esterno = http://dev-servizio.esterno.it
; [TEST] Filter eigenschappen messaggio_variabile = "We TEST" url_servizio_esterno = http://test-servizio.esterno.it
; [PRO] Filter eigenschappen messaggio_variabile = "We PRODUCTIE" url_servizio_esterno = http://prod-servizio.esterno.itit
Merk op dat de eigenschap "__app_version", zoals gedefinieerd in XML, is het niet geherdefinieerd in verschillende bestanden, zal het worden behandeld in alle opzichten als een gemeenschappelijk eigendom tussen de verschillende omgevingen en onveranderlijk is, zo zal niet worden gefilterd.
| |
Linux (Cursus)
Complete gids voor open-source systeem. Vanaf 49 €. |
| |
MySQL (Cursus)
Beheer van de open source database. Vanaf 39 €. |
| |
PHP (Cursus)
Volledige cursus voor het maken van dynamische websites. Vanaf 49 €. |