..


スポンサーリンク

環境に関連する当社のアプリケーションのプロパティのフィルタリング

リカルドブランビラによって書かれた記事
ページ1の4

我々は、 動的なフィルタリングとは何かを説明することから始める
この表現で私達は私達が作業している環境 (ローカル、テスト、生産) との関係で共通のプロパティをフィルタ処理が私たちのクラス/スクリプトが使用できるようにそのメカニズムを参照してください。

それは展開の概念として一般に理解が、我々の最愛の言語に関連付けられていないという単純な理由から、JavaではなくPHPの一般的なメカニズム。 と"実際はかなり一般的なテストスクリプトでローカルにしてから、私たちのテスト ftp経由でファイルをコピーする、または(悪い)直接その生産に。

職場では、しかし、自動的に私たちのアプリケーションが(たとえば、外部に露出してフロントエンドとして) ローカルホストでまたは他のマシン上で実行する必要があるプロパティに応じて除外持っていると非常に便利ですので、この記事では、実装する単一のフレームワークを作成します。私たちの架空のPHPプロジェクトでこの種のロジック。
これを行うには我々が必要とする外部パッケージ、または特別な抽象化を使用しませんXML、PHPのクラステキストファイルです

アイデアは、私たちの共通のプロパティにXMLファイルで定義した、それらを強化し、一緒にすべてを置くいくつかのコードを記述する各環境用のファイルを作成することです。 私たちのテストアプリケーションの構造は次のようになります。

  1. クラスのPropertyManager.class.phpを含むフォルダへのクラス
  2. configファイルとフォルダフィルタのapp_properties.xml内のフォルダ
  3. 三つのファイルフィルタを含むフォルダ:local.filter.properties、test.filter.properties、pro.filter.properties
  4. 当社のソリューションの動作をテストするためのコードを使用してPHPファイル :index.phpを

ここで基本的な構造は次のとおりです。

このようなフィルタリングのような構造

XML

ファイルが構成されているか見てみましょう:






 <?xmlバージョン="1.0"エンコード="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" />







 </プロパティ>



通常のXMLタグに加えて我々はタグの<property>のセットを挿入したタグの<properties>コンテナを起動する文書を定義し最初の三つの例で提供されるものである、最後の3つは、さまざまなホストに関連していると役立つPHPは、我々は動的に動作しているどのような環境を理解する。

ここでは、ローカル環境で、テストおよび生産をdeineが、何もそのようなdevパッケージとして、他人を定義妨げるものはない それぞれの部屋のために我々の要求に応じて値ベースのURL、アプリケーションによってアプリケーションが表示されます。
このシナリオでは、"test.qualchedominio.it URLとローカルホストから到達するコースprod.qualchedominio.itの生産井に到達するためのテストマシンを持っている。

プロパティファイル.*

次のステップは、XMLで定義されたプロパティは、我々がいる"環境に応じて異なる評価されることを確認することです。 我々は、フォルダのフィルタ内のテキストフ​​ァイルのこの目的のために使用する、内容を一つずつ見てみましょう:

local.filter.properties






 ; [LOCAL]フィルタ特性







 messaggio_variabile ="我々はLOCAL"







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



test.filter.properties






 ; [TEST]フィルタのプロパティ







 messaggio_variabile ="我々TEST"







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



pro.filter.properties






 ; [PRO]フィルタのプロパティ







 messaggio_variabile ="我々PRODUCTION"







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



(注)は、XMLで定義されている、それは別のファイルで再定義されていないプロパティ"__app_version"こと、それは様々な環境で不変の間で共通の財産として、すべての目的のために扱われるので、フィルタリングされません。

同じカテゴリの...
E -ラーニング
Linuxの(コース) Linuxの(コース)
オープンソースシステムへの完全なガイド。 49€から。
MySQLの(コース) MySQLの(コース)
オープンソースのデータベースの管理。 39€から。
PHP(コース) PHP(コース)
動的なWebサイトを作成するためのフルコース。 49€から。
スポンサーリンク