Menu Close
Settings Close

Language and Page Formatting Options

Red Hat Training

A Red Hat training course is available for Red Hat Fuse

Chapter 22. PHP


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.

Adding the script module

To use PHP in your routes you need to add a dependency on camel-script to your project as shown in Example 22.1, “Adding the camel-script dependency”.

Example 22.1. Adding the camel-script dependency

<!-- Maven POM File -->

Static import

To use the php() static method in your application code, include the following import statement in your Java source files:
import static org.apache.camel.builder.camel.script.ScriptBuilder.*;

Built-in attributes

Table 22.1, “PHP attributes” lists the built-in attributes that are accessible when using PHP.

Table 22.1. PHP attributes

contextorg.apache.camel.CamelContextThe Camel Context
exchangeorg.apache.camel.ExchangeThe current Exchange
requestorg.apache.camel.MessageThe IN message
responseorg.apache.camel.MessageThe OUT message
propertiesorg.apache.camel.builder.script.PropertiesFunctionFunction with a resolve method to make it easier to use the properties component inside scripts.
The attributes all set at ENGINE_SCOPE.


Example 22.2, “Route using PHP” shows a route that uses PHP.

Example 22.2. Route using PHP

    <from uri="direct:start"/>
        <language language="php">strpos(request.headers.get('user'), 'admin')!== FALSE</language>
        <to uri="seda:adminQueue"/>
        <to uri="seda:regularQueue"/>

Using the properties component

To access a property value from the properties component, invoke the resolve method on the built-in properties attribute, as follows:
Where PropKey is the key of the property you want to resolve, where the key value is of String type.
For more details about the properties component, see .