..


Sponsored Links

Filtering Eigenschaften unserer Anwendung in Bezug auf die Umwelt

Artikel von Riccardo Brambilla geschrieben
Seite 1 von 4

Wir beginnen mit der Erklärung, was wir durch die dynamische Filterung bedeuten.
Mit diesem Ausdruck bezeichnen wir diesen Mechanismus zur Verfügung zu stellen unseren Kursen / scripts gefiltert gemeinsame Eigenschaften, aber in Bezug auf die Umwelt in der wir arbeiten (lokal, Test, Produktion).

Es ist ein gemeinsamer Mechanismus in Java, aber nicht in PHP aus dem einfachen Grund, dass das Konzept des Einsatzes, wie sie gewöhnlich verstanden, nicht mit unserer geliebten Sprache verknüpft ist. Und "in der Tat recht häufig Testskripte lokal und kopieren Sie die Dateien per FTP auf unseren Test, oder (schlimmer noch) direkt auf die Produktion.

Am Arbeitsplatz ist aber sehr praktisch, herausgefiltert wurden automatisch auf die jeweiligen Eigenschaften, die unsere Anwendung in localhost oder auf einem anderen Rechner ausgeführt werden müssen (z. B. Frontend, ausgesetzt nach außen), so in diesem Artikel werden wir einen einheitlichen Rahmen für die Umsetzung Diese Art von Logik in einem PHP-Projekt unserer hypothetisch.
Dazu werden wir keine externen Pakete oder spezielle Abstraktionen wir brauchen, ist ein XML, eine PHP-Klasse und Textdateien.

Die Idee ist, in der XML-Datei, um unsere gemeinsame Eigenschaften zu definieren, erstellen Sie eine Datei für jede Umgebung, um sie zu verbessern und Code schreiben, dass sie alle zusammenfügt. Die Struktur unserer Testanwendung werden:

  1. Klassen mit einem Ordner, der die Klasse PropertyManager.class.php
  2. config mit einem Ordner in der Datei-und Ordner-Filter app_properties.xml
  3. den Ordner mit drei Dateien Filter: local.filter.properties, test.filter.properties, pro.filter.properties
  4. eine PHP-Datei mit dem Code zum Testen der Betrieb unserer Lösung: index.php

Hier ist die grundlegende Struktur:

Struktur wie Filterung

Die xml

Mal sehen, wie der Datei vorgenommen wird:






 <? 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" />







 </ Properties>



Neben den üblichen XML-Tags definieren das Dokument, das einen Tag <properties> Behälter, in dem wir legen eine Reihe von Tags <Eigenschaft> beginnt, die ersten drei diejenigen, die in dem Beispiel dienen soll, sind die letzten drei verschiedene Host verbunden und dienen PHP zu verstehen, was Umgebung sind wir dynamisch arbeitende.

Hier haben wir deine lokalen Umgebungen, Test und Produktion, aber nichts hindert Sie definieren andere, wie dev. Für jedes der Zimmer ist eine Basis-URL, die nach unseren Anforderungen Wert, Anwendung für Anwendung gezeigt.
In unserem Szenario haben wir einen Test-Maschine zu erreichen "test.qualchedominio.it URL und einer Produktion sowie natürlich prod.qualchedominio.it auf localhost erreicht.

Die Properties-Datei .*

Der nächste Schritt ist, um sicherzustellen, dass die Eigenschaften in XML definiert unterschiedlich in Abhängigkeit von der "Umwelt, wo wir sind geschätzt. Wir verwenden für diesen Zweck von Textdateien in den Ordner-Filter, lasst uns den Inhalt eines nach dem anderen zu sehen:

local.filter.properties






 ; [LOCAL] Filter-Eigenschaften







 messaggio_variabile = "Wir LOCAL"







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



test.filter.properties






 ; [TEST] Filter-Eigenschaften







 messaggio_variabile = "Wir TEST"







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



pro.filter.properties






 ; [PRO] Filter-Eigenschaften







 messaggio_variabile = "wir mit der Produktion"







 url_servizio_esterno = http://prod-servizio.esterno.itit



Beachten Sie, dass die Eigenschaft "__app_version", in XML definiert, es ist nicht neu definiert werden in verschiedenen Dateien, wird es für alle Zwecke als gemeinsames Eigentum zwischen den verschiedenen Umgebungen und unveränderlich behandelt werden, so wird nicht gefiltert.

In der selben Kategorie ...
E-Learning
Linux (Kurs) Linux (Kurs)
Ein vollständiger Reiseführer von Open-Source-System. Von 49 €.
MySQL (Kurs) MySQL (Kurs)
Management von Open-Source-Datenbank. Von 39 €.
PHP (Kurs) PHP (Kurs)
Vollständige natürlich für die Erstellung dynamischer Websites. Von 49 €.
Sponsored Links