PHP

Overview

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

Built-in attributes

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

Table 7. PHP attributes

AttributeTypeValue
contextorg.apache.camel.CamelContextThe Camel Context
exchangeorg.apache.camel.ExchangeThe current Exchange
requestorg.apache.camel.MessageThe IN message
responseorg.apache.camel.MessageThe OUT message

The attributes all set at ENGINE_SCOPE.

Example

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>