PHP is a widely-used general-purpose scripting language that is especially suited for
Web development. The PHP support is part of the camel-script module.
To use PHP in your routes you need to add a dependency on
camel-script to your project as shown in
Example 13, “Adding the camel-script dependency”.
Example 13. Adding the camel-script dependency
<!-- Maven POM File -->
...
<dependencies>
...
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-script</artifactId>
<version>${camel-version}</version>
</dependency>
...
</dependencies>Table 7, “PHP attributes” lists the built-in attributes that are accessible when using PHP.
Table 7. PHP attributes
| Attribute | Type | Value |
|---|---|---|
context | org.apache.camel.CamelContext | The Camel Context |
exchange | org.apache.camel.Exchange | The current Exchange |
request | org.apache.camel.Message | The IN message |
response | org.apache.camel.Message | The OUT message |
The attributes all set at ENGINE_SCOPE.
Example 14, “Route using PHP” shows a route that uses PHP.
Example 14. Route using PHP
<camelContext>
<route>
<from uri="direct:start"/>
<choice>
<when>
<langauge langauge="php">strpos(request.headers.get('user'), 'admin')!== FALSE</langauge>
<to uri="seda:adminQueue"/>
</when>
<otherwise>
<to uri="seda:regularQueue"/>
</otherwise>
</choice>
</route>
</camelContext>