orukusaki / twiml
Fluent API for Twilio TwiML responses
0.1.2
2014-11-19 10:43 UTC
Requires
- php: >=5.3
Requires (Dev)
- behat/behat: ~3.0
- bossa/phpspec2-expect: ~1.0
This package is not auto-updated.
Last update: 2024-12-17 05:22:38 UTC
README
This library offers an easy way to generate TwiML responses for Twilio apps, using a nice fluent interface. It doesn't use any magic, so your IDE should be able to autocomplete all method calls as you type.
For example:
use Orukusaki\TwiML\Voice\Response; $response = new Response(); $response->say('Thanks for your call'); $response->dial('+441473000000') ->withAction('http://www.example.com/twilio/callback'); echo $response;
Will output:
<?xml version="1.0"?> <Response> <Say>Thanks for your call</Say> <Dial action="http://www.example.com/twilio/callback">+441473000000</Dial> </Response>
It's good for really quick one-liners (php >= 5.4):
echo (new Response())->say('Hi');
Will output:
<?xml version="1.0"?> <Response> <Say>Hi</Say> </Response>
More complex responses can be created in function chains:
echo (new Response()) ->say('S\'il vous plaƮt laissez un message') ->withVoice('alice') ->withLanguage('fr-FR') ->end() ->record() ->withAction('http://www.example.com/twilio/recording');
Will output:
<?xml version="1.0"?> <Response> <Say voice="alice" language="fr-FR">S'il vous plaît laissez un message</Say> <Record action="http://www.example.com/twilio/recording"/> </Response>
You can also set multiple attributes at once:
echo (new Response()) ->dial('+4400000000') ->with(['timeout' => 10, 'record' => 'record-from-answer']);
will output:
<?xml version="1.0"?> <Response> <Dial timeout="10" record="record-from-answer">+4400000000</Dial> </Response>
Installing
composer install "orukusaki/twiml"
Contributing
Issues & PRs welcomed on https://github.com/orukusaki/TwiML