第25章 PHP (非推奨)
概要
PHP は、広く使用されている汎用スクリプト言語で、特に Web 開発に適しています。PHP サポートは camel-script モジュールに含まれます。
Apache Camel の PHP は非推奨となり、今後のリリースで削除される予定です。
スクリプトモジュールの追加
ルートで PHP を使用するには、例25.1「camel-script 依存関係の追加」 で示したたように、camel-script の依存関係をプロジェクトに追加する必要があります。
例25.1 camel-script 依存関係の追加
<!-- Maven POM File -->
...
<dependencies>
...
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-script</artifactId>
<version>${camel-version}</version>
</dependency>
...
</dependencies>静的インポート
アプリケーションコードで php() static メソッドを使用するには、以下の import ステートメントを Java ソースファイルに追加します。
import static org.apache.camel.builder.script.ScriptBuilder.*;
組み込み属性
表25.1「PHP 属性」 に、PHP を使用する際にアクセス可能な組み込み属性の一覧を示します。
表25.1 PHP 属性
| 属性 | 型 | 値 |
|---|---|---|
|
|
| Camel コンテキスト |
|
|
| 現在のエクスチェンジ |
|
|
| IN メッセージ |
|
|
| OUT メッセージ |
|
|
|
スクリプト内でプロパティーコンポーネントを簡単に使用できるようにする |
属性はすべて ENGINE_SCOPE に設定されます。
例
例25.2「PHP を使用したルート」 は、PHP を使用するルートを示しています。
例25.2 PHP を使用したルート
<camelContext>
<route>
<from uri="direct:start"/>
<choice>
<when>
<language language="php">strpos(request.headers.get('user'), 'admin')!== FALSE</language>
<to uri="seda:adminQueue"/>
</when>
<otherwise>
<to uri="seda:regularQueue"/>
</otherwise>
</choice>
</route>
</camelContext>プロパティーコンポーネントの使用
プロパティーコンポーネントからプロパティー値にアクセスするには、以下のように組み込み properties 属性で resolve メソッドを呼び出します。
.setHeader("myHeader").php("properties.resolve(PropKey)")
PropKey は、解決するプロパティーのキーで、キーの値は String タイプになります。
プロパティーコンポーネントの詳細は、Apache Camel Component Reference Guide の Properties を参照してください。