<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Thu, 23 May 2013 10:11:54 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[PHPMaster.com: Implement Two-Way SMS with PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/18232</guid>
      <link>http://www.phpdeveloper.org/news/18232</link>
      <description><![CDATA[<p>
PHPMaster.com has an interesting new article posted today showing how you can use PHP to create a <a href="http://phpmaster.com/implement-two-way-sms-with-php/">two-way messaging (SMS) application</a> that can both send and initiate actions based on message content.
</p>
<blockquote>
SMS is used for various purposes these days. For example, major websites like Gmail and Facebook use SMS to improve their authentication process with multi-factor authentication and notifying users about the updates. These are one-way SMS applications since messages are sent only from these sites to the user. Two-way SMS applications are more complex than one-way ones. In two-way SMS apps, a user can initiate a conversation by sending messages, and then the application responds according to the user's commands.
</blockquote>
<p>
They base the application on the <a href="http://www.clickatell.com/">Clickatell</a> SMS service (not free, but cheap - pay by the message too) which includes the ability to hook into your API on a specific endpoint and relay the message data. The message can either be sent via a POST or GET and can easily be interpreted in your app extracting things like a timestamp, the number it came from and, of course, the actual text of the message. There's also a section about the "User Data Header" functionality that lets you easily split up a message for recombination on the remote device. Code is included for all examples.
</p>]]></description>
      <pubDate>Tue, 17 Jul 2012 08:46:22 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Henri Bergius' Blog: DNode: Make PHP And Node.Js Talk To Each Other]]></title>
      <guid>http://www.phpdeveloper.org/news/17060</guid>
      <link>http://www.phpdeveloper.org/news/17060</link>
      <description><![CDATA[<p>
<i>Henri Bergius</i> has a new post to his blog today sharing details about a messaging protocol that can help PHP and Node.js play together nicely - <a href="http://substack.net/posts/85e1bd/DNode-Asynchronous-Remote-Method-Invocation-for-Node-js-and-the-Browser">DNode</a>.
</p>
<blockquote>
Both environments have their strong points. Node.js is very fast and flexible, but PHP has a lot more mature tools and libraries available. So in a lot of projects it is hard to choose between the two. But now you might not have to. <a href="http://substack.net/posts/85e1bd/DNode-Asynchronous-Remote-Method-Invocation-for-Node-js-and-the-Browser">DNode</a> is a remote method invocation protocol originally written for Node.js, as the name probably tells. But as <a href="https://github.com/substack/dnode-protocol#readme">the protocol</a> itself is quite simple, just sending newline-terminated JSON packets over TCP connections, implementations have started popping up in other languages. You can talk DNode in <a href="https://github.com/substack/dnode-ruby">Ruby</a>, <a href="https://github.com/substack/dnode-perl">Perl</a>, <a href="https://github.com/jesusabdullah/dnode-python">Python</a>, <a href="https://github.com/aslakhellesoy/dnode-java">Java</a>, and now <a href="https://github.com/bergie/dnode-php">PHP</a>.
</blockquote>
<p>
He includes a <a href="http://bergie.iki.fi/blog/dnode-make_php_and_node-js_talk_to_each_other/">quick example</a> of both sides of the messaging - a simple server on the Node.js side that looks for a DNode request and using the <a href="https://github.com/bergie/dnode-php">dnode PHP client</a> to connect to it (and return the input number multiplied by 100). He also includes a method that allows for bidirectional communication with a service that converts from Celsius to Fahrenheit.
</p>]]></description>
      <pubDate>Mon, 31 Oct 2011 09:50:05 -0500</pubDate>
    </item>
  </channel>
</rss>
