..


Link-uri sponsorizate

Proprietăţi filtrul de aplicare noastre în raport cu mediul

Articolul scris de Riccardo Brambilla
Pagina 1 din 4

Începeţi prin a explica ceea ce înţelegem prin filtrarea dinamică.
Cu această expresie ne referim la acest mecanism pentru a pune la dispoziţia clasele noastre / script filtrat proprietăţi comune, dar în ceea ce priveşte mediul în care lucrăm (locale, de testare, de producţie).

Este un mecanism comun în Java, dar nu în PHP pentru simplul motiv că noţiunea de desfăşurare, precum şi de obicei înţeles, nu este asociată cu limbajul nostru iubit. Şi "în fapt, destul de script-uri de testare comune la nivel local şi apoi să copiaţi fişiere prin FTP in testul nostru, sau (mai rău) în mod direct de producţie.

La locul de muncă, cu toate acestea, este foarte util să aibă proprietatea filtrate automat în funcţie de cererea noastră ar trebui să ruleze în localhost sau pe alte masini (de exemplu, pe frontend, expuse la exterior), astfel încât în acest articol, vom creea un cadru unic pentru punerea în aplicare Acest tip de logică într-un proiect PHP nostru ipotetic.
Pentru a face, deci nu vom folosi pachete de externe, sau abstracţii de construcţii avem nevoie este un XML, o clasă PHP şi fişiere text.

Ideea este de a defini în fişierul XML de proprietate nostru comun, de a crea un dosar pentru fiecare mediu pentru a le îmbunătăţi şi de a scrie un cod care pune totul împreună. Structura de aplicare a testului nostru va fi:

  1. clase de la un dosar care conţine PropertyManager.class.php clasa
  2. config cu un dosar în interiorul fişierului şi app_properties.xml filtre de dosar
  3. filtrele de dosarul conţinând trei fişiere: local.filter.properties, test.filter.properties, pro.filter.properties
  4. un fişier PHP cu codul de testare a funcţionării a soluţiei noastre: index.php

Aici este structura de bază:

Structura, cum ar fi filtrarea

Xml

Să vedem modul în care fişierul este făcut:






 <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>



Pe lângă etichetele obişnuite XML definesc documentul care începe un container <properties> etichetă în care ne introduce un set de <property> tag-uri, primele trei sunt cele care ne va servi în exemplu, ultimele trei se referă la diferite gazde şi vor PHP dinamic, în scopul de a înţelege ce mediu suntem de operare.

Aici vom Deine locale medii, de testare şi de producţie, dar nimic nu împiedică aţi defini propria dvs., cum ar fi dev. Pentru fiecare dintre mediile este indicat un URL de bază ca valoarea în funcţie de cerinţele noastre, aplicarea de către aplicaţie.
În scenariul nostru avem o maşină de test pentru a ajunge la "URL-ul test.qualchedominio.it şi o producţie bine de prod.qualchedominio.it desigur ajuns la localhost.

Proprietăţi de fişier .*

Următorul pas este să vă asiguraţi că proprietăţile definite în XML sunt evaluate în mod diferit în funcţie de mediul ", unde suntem. Vom folosi în acest scop de fişiere text în filtrele de dosar, să vedem un conţinut de una:

local.filter.properties






 ; [Local] Filter proprietăţi







 messaggio_variabile = "Am LOCAL"







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



test.filter.properties






 ; [TEST] Filter proprietăţi







 messaggio_variabile = "Am TEST"







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



pro.filter.properties






 ; [PRO] Filter proprietăţi







 messaggio_variabile = "Am PRODUCŢIE"







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



Reţineţi că proprietatea "__app_version", definit în XML, ea nu este redefinită în fişiere diferite, acestea vor fi tratate în toate privinţele, ca o proprietate comună între diferite medii şi imuabil, deci nu vor fi filtrate.

În aceeaşi categorie ...
E-Learning
Linux (Curs) Linux (Curs)
Ghid complet pentru open-source de sistem. Incepand de la 49 €.
MySQL (Curs) MySQL (Curs)
De gestionare a bazei de date open-source. Incepand de la 39 €.
PHP (Curs) PHP (Curs)
Cursul completa pentru crearea de site-uri Web dinamice. Incepand de la 49 €.
Link-uri sponsorizate