<?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>Wed, 23 May 2012 05:05:29 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Marcelo Gornstein's Blog: Making your ivr nodes (call) flow with PAGI]]></title>
      <guid>http://www.phpdeveloper.org/news/17955</guid>
      <link>http://www.phpdeveloper.org/news/17955</link>
      <description><![CDATA[<p>
<i>Marcelo Gornstein</i> has returned to his "IVR with PHP" series in <a href="http://marcelog.github.com/articles/making_your_ivr_nodes_call_flow_with_pagi_and_php_asterisk.html">this latest post</a> (see others <a href="http://phpdeveloper.org/news/17776">here</a> and <a href="http://phpdeveloper.org/news/17613">here</a>). In this new post he shows you how to create a full flow of interaction for your callers:
</p>
<blockquote>
The <a href="http://marcelog.github.com/articles/pagi_node_call_flow_easy_telephony_application_for_asterisk_php.html">last article</a> was about how to create call flow nodes for asterisk, using pagi and php, to easily create telephony applications. It's now time to add a layer on top of it, and create a complete call flow with several nodes.
</blockquote>
<p>
He talks about NodeControllers to control execution flow, results from their execution, available actions and an example of creating a controller and adding nodes. He builds on this simple controller and shows how to handle a few actions including responding to user feedback, adding multiple menu options and some more complex logic using a closure to contain the functionality.
</p>]]></description>
      <pubDate>Mon, 14 May 2012 12:09:50 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Marcelo Gornstein's Blog: Advanced telephony applications with PHP and PAGI using call flow nodes]]></title>
      <guid>http://www.phpdeveloper.org/news/17776</guid>
      <link>http://www.phpdeveloper.org/news/17776</link>
      <description><![CDATA[<p>
<i>Marcelo Gornstein</i> has a new post to his blog (in his PHP and PAGI series) showing how you can <a href="http://marcelog.github.com/articles/pagi_node_call_flow_easy_telephony_application_for_asterisk_php.html">use call nodes</a> to create more complicated telephony applications.
</p>
<blockquote>
Now, since version 1.10.0, PAGI comes with a neat feature, which is a small abstraction layer over the pagi client, called "Nodes". Also, the "NodeController" will orchestrate how those nodes interact with each other. Nodes are essentially call flow nodes. These new features will allow you to implement complete call flows in no time, and maybe even without using the pagi client by yourself. In this article, I'll introduce the nodes by themselves (and how to unit test them), and will talk about the node controller in a latter article.
</blockquote>
<p>
He introduces the concepts of these Nodes and shows how to create a simple client, make a node off of it and read in the user's input. Code is also included for a basic IVR menu, working with pre-prompt messages, digits, datetimes and calling card PIN numbers. There's also some examples of calling validators on the input, making callbacks, tracking the nodes via in internal system and mocking out the nodes for testing purposes.
</p>]]></description>
      <pubDate>Wed, 04 Apr 2012 11:21:54 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: The Switch Statement and Arrays]]></title>
      <guid>http://www.phpdeveloper.org/news/9368</guid>
      <link>http://www.phpdeveloper.org/news/9368</link>
      <description><![CDATA[<p>
DevShed continues their series looking at some of the fundamentals of working with PHP in <a href="http://www.devshed.com/c/a/PHP/PHP-The-Switch-Statement-and-Arrays/">this new tutorial</a> posted today. It looks at one of the flow control statements the language has to offer and a very useful data structure - the switch statement and arrays.
</p>
<blockquote>
In our last exciting adventure (back in early November), we braved crocodiles, ravenous editors, most of the PHP statements, and beginning loops. In this edition we'll cover the final statement, the Switch, and discuss arrays. So sit back, order your R2D2 robot to bring you a cold, frosty Jolt Cola, and let's get cracking.
</blockquote>
<p>
They start with a simple example of a switch statement (to echo out strings) and follow it with a detailed description of the different sorts of arrays - numeric indexed, associative and multidimensional versions. 
</p>]]></description>
      <pubDate>Mon, 07 Jan 2008 12:50:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Nick Halstead's Blog: Bad code, bad data flow, good idea?]]></title>
      <guid>http://www.phpdeveloper.org/news/7845</guid>
      <link>http://www.phpdeveloper.org/news/7845</link>
      <description><![CDATA[<p>
While developing a new application in a framework, <i>Nick Halstead</i> came across an "oops" point where he realized that the part of the application he was working on could have been coded better. In <a href="http://blog.assembleron.com/2007/05/14/bad-code-bad-data-flow-good-idea/">this instance</a>, he found a spot where he needed to pass data backwards and forwards through the app without loosing "the flow". His solution? Singletons!
</p>
<blockquote>
One of these situations occurs when you suddenly that find you don't have access to data you want, or you can't pass back (or forward) data as part of the common flow of your application. [...] The solution was to create a singleton class which uses references to bind a name to a already defined variable.
</blockquote>
<p>
In <a href="http://blog.assembleron.com/2007/05/14/bad-code-bad-data-flow-good-idea/">his example</a>, he illustrates (and explains) how to use a class he developed (varmap) to handle the assignment/removal/etc of the data to the common Singleton object.
</p>]]></description>
      <pubDate>Tue, 15 May 2007 09:28:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPied.com: AJAX MVC (so to speak)]]></title>
      <guid>http://www.phpdeveloper.org/news/6316</guid>
      <link>http://www.phpdeveloper.org/news/6316</link>
      <description><![CDATA[<p>
On PHPied.com, there's <a href="http://www.phpied.com/ajax-mvc/">a new tutorial</a> that combines the power of Ajax with the flexibility of PHP to create a more Ajax-centric version of an Model/View/Controller structure.
</p>
<blockquote>
<p>
This is sort of a framework thing to create AJAX applications, based on the MVC design pattern. Yep, I have a lot of buzzwords here, I admit, but this shouldn't be taken too seriously. I was doing a bunch of small projects lately and I found myself using something like this little framework, without even thinking about it. 
</p>
<p>
Then I thought about it and I found that the scripts and the organization of them may resamble MVC a bit. So how does MVC fit when you mix things like thin and fatter client, HTML, JavaScript, XMLHttpRequest, PHP and CSS?
</p>
</blockquote>
<p>
He <a href="http://www.phpied.com/ajax-mvc/">compares</a> the "usual flow" of Ajax applications verus how an MVC-like app would work and shows a simple version of one in action. It uses PHP for the Model, Javascript/PHP for the Controller logic, and strictly HTML/CSS/Javascript for the View to output to the user. He incorporates some of the Yahoo! UI functionality to help capture events and make the backend Ajax connection. His sample sends off an Ajax request to the PHP backend when the button is pressed and takes in the message (HTML) and pushed it back out into the current page.
</p>
<p>
The <a href="http://www.phpied.com/files/ajax-mvc/view/">demo is here</a> and you can <a href="http://www.phpied.com/files/ajax-mvc/ajaxmvc.zip">download the source</a> as well.
</p>]]></description>
      <pubDate>Wed, 20 Sep 2006 07:23:22 -0500</pubDate>
    </item>
  </channel>
</rss>

