<?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>Tue, 18 Jun 2013 19:50:32 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[PHP Town Hall Podcast: Episode #2 - Talk about PHP 5.5]]></title>
      <guid>http://www.phpdeveloper.org/news/18856</guid>
      <link>http://www.phpdeveloper.org/news/18856</link>
      <description><![CDATA[<p>
The latest episode of the PHP Town Hall podcast has been release - <a href="http://phptownhall.com/blog/2012/12/04/episode-2-php-5.5/">Episode #2</a>, "a Node Hipster, Beardy Python Fan, PHP Contributor and a Bristolian Talk About PHP 5.5"
</p>
<blockquote>
We're back for an "IRL" episode, with <a href="https://twitter.com/zackkitzmiller">Zack Kitzmiller</a>, <a href="https://twitter.com/seejohncode">John Crepezzi</a> and <a href="https://twitter.com/ircmaxell">Anthony Ferrera</a>, discussing PHP 5.5 and the new features it will bring.
</blockquote>
<p>
You can listen to this latest episode through the <a href="http://phptownhall.com/blog/2012/12/04/episode-2-php-5.5/">in-page player</a>, by <a href="http://s3.amazonaws.com/phptownhall/2.mp3">downloading the mp3</a> or by <a href="http://phptownhall.com/atom.xml">subscribing to their feed</a> to get the latest as they're released.
</p>]]></description>
      <pubDate>Thu, 06 Dec 2012 13:57:09 -0600</pubDate>
    </item>
    <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[Anson Cheung's Blog: Create nodes in eZ Publish using PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/17947</guid>
      <link>http://www.phpdeveloper.org/news/17947</link>
      <description><![CDATA[<p>
In <a href="http://www.ansoncheung.tk/articles/create-nodes-ez-publish-using-php">this new post</a> from <i>Anson Cheung</i>, he shows you a way to easily create nodes in an eZ Publish-based application, importing content, XML and files/files.
</p>
<blockquote>
Node creation in eZ Publish by using PHP is not well documented. However, when you encounter a large number of contents need to be insert periodically. You would ask is there any way to automate the content insert function with script in eZ Publish??? Any here I am going to summarize the way to achieve.
</blockquote>
<p>He includes the code examples showing how to:</p>
<ul>
<li>Set the creator
<li>Import generic content and attaching it to a parent node
<li>Importing some XML content 
<li>Adding an image or file record that points to a local file
</ul>]]></description>
      <pubDate>Fri, 11 May 2012 11:37:47 -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[ServerGrove Blog: Error "Cannot find module 'less'" with Symfony2, Assetic and Twitter Bootstrap]]></title>
      <guid>http://www.phpdeveloper.org/news/17692</guid>
      <link>http://www.phpdeveloper.org/news/17692</link>
      <description><![CDATA[<p>
On the ServerGrove blog, there's <a href="http://blog.servergrove.com/2012/03/16/error-cannot-find-module-less-with-symfony2-assetic-and-twitter-bootstrap/">a quick post</a> with a handy tip for the Symfony2 + Assetic users out there - how to get it to recognize the "less" module.
</p>
<blockquote>
Unfortunately the <a href="http://symfony.com/doc/current/cookbook/assetic/asset_management.html">Symfony documentation</a> does not provide any details on how to configure Assetic to use LESS. There is <a href="http://www.dobervich.com/2011/05/10/less-css-assetic-configuration-in-a-symfony2-project/">a blog post by Dustin Dobervich</a> that gives some pointers, but after following the instructions, Assetic issued the following error: Cannot find module 'less'. We searched around without much success. After several tries, we nailed the configuration.
</blockquote>
<p>
It's an easy two-step process: first you be sure you have "npm" (the package manager) installed on your system, then you modify your Symfony app.yml file to point to the Node modules path.
</p>]]></description>
      <pubDate>Mon, 19 Mar 2012 12:36:25 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Sameer Borate's Blog: Building a Graph data structure in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/17543</guid>
      <link>http://www.phpdeveloper.org/news/17543</link>
      <description><![CDATA[<p>
In the <a href="http://www.codediesel.com/algorithms/building-a-graph-data-structure-in-php">latest post</a> to his blog <i>Sameer Borate</i> takes a look at using the <a href="http://pear.php.net/package/Structures_Graph/download">Structures_Graph</a> package from PEAR to create data structures in PHP with linked nodes for directed and undirected graphs.
</p>
<blockquote>
The Pear Structures_Graph package allows creating and manipulating graph data structures. It allows building of either directed or undirected graphs, with data and metadata stored in nodes. The library provides functions for graph traversing as well as for characteristic extraction from the graph topology.
</blockquote>
<p>
After sharing the one-line install, he shows how to create some instances of the package's Nodes and how to connect them to a graph and link them to other nodes. He includes a few examples - a simpler one with multiple nodes joined in a directed graph, another showing how to associate data with a node and how to query the graph for node connections and testing to see if the graph is <a href="http://en.wikipedia.org/wiki/Directed_acyclic_graph">acyclic</a>.
</p>]]></description>
      <pubDate>Wed, 15 Feb 2012 09:35:15 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Matthew Turland's Blog: Renaming a DOMNode in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/13998</guid>
      <link>http://www.phpdeveloper.org/news/13998</link>
      <description><![CDATA[<p>
<i>Matthew Turland</i> has a new post to his blog sharing a handy trick if you've ever looked for a way to use the DOM functionality on PHP to <a href="http://matthewturland.com/2010/02/09/renaming-a-domnode-in-php/">rename a certain node</a> in an XML document. Since the <a href="http://php.net/manual/en/class.domnode.php#domnode.props.nodename">node_name</a> is read-only, some trickery is required.
</p>
<blockquote>
A recent work assignment had me using PHP to pull HTML data into a <a href="http://php.net/manual/en/class.domdocument.php">DOMDocument</a> instance and renaming some elements, such as <a href="http://en.wikipedia.org/wiki/HTML_element#Presentation">b to strong or i to em</a>. As it turns out, renaming elements using the DOM extension is rather tedious.
</blockquote>
<p>
His method isn't so much of an update of what's already there as it is to replicate the attributes and child nodes of the node you're targeting and pus those back into the document with a call to <a href="http://php.net/manual/en/domnode.replacechild.php">replaceChild</a> on the parent.
</p>]]></description>
      <pubDate>Wed, 10 Feb 2010 09:16:58 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[SitePoint PHP Blog: Mangling XML as Text with PHP DOM]]></title>
      <guid>http://www.phpdeveloper.org/news/10673</guid>
      <link>http://www.phpdeveloper.org/news/10673</link>
      <description><![CDATA[<p>
In trying to convert over several HTML pages to the <a href="http://dita.xml.org/">DITA XML</a> format, <i>James Edwards</i> came up against a problem involving recursion:
</p> 
<blockquote>
But a problem I came across several times was the sheer complexity of recursive element conversion '" &lt;code> becomes &lt;jsvalue> (or one of a dozen similar elements), &lt;a> becomes &lt;xref> '¦ and that's all simple enough; but each of these elements might contain the other, or further child elements like &lt;em>, and as we walk through the DOM so the incidence of potential recursion increases, until it gets to the point where my brain explodes. 
</blockquote>
<p>
His <a href="http://www.sitepoint.com/blogs/2008/07/24/mangling-xml-as-text-with-php-dom/">solution</a> involves working with both regular expressions and document fragments. He loads the node he wants to work with, its parsed to prepare it and is passed off to do the "text-based mangling" to update it. The result is them pushed back into an XML object (fragment) and this is pushed back into the main document with a replaceChild call.
</p>]]></description>
      <pubDate>Thu, 24 Jul 2008 09:35:16 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Parsing Child Nodes with the DOM XML extension in PHP 5]]></title>
      <guid>http://www.phpdeveloper.org/news/9928</guid>
      <link>http://www.phpdeveloper.org/news/9928</link>
      <description><![CDATA[<p>
<i>Alejandro Gervasio</i> has finished up his series on DevShed looking at working with the DOM extension in PHP5 with <A href="http://www.devshed.com/c/a/PHP/Parsing-Child-Nodes-with-the-DOM-XML-extension-in-PHP-5/">this new article</a>, a look at parsing child nodes.
</p>
<blockquote>
In this last chapter of the series, I'm going to teach you how to handle the child nodes of an XML document by way of two simple methods, called hasChildNode() and removeChild() respectively. So let's not waste any more time in preliminaries and learn how to use them in a helpful way.
</blockquote>
<p>
They <a href="http://www.devshed.com/c/a/PHP/Parsing-Child-Nodes-with-the-DOM-XML-extension-in-PHP-5/1/">review</a> some of the concepts mentioned previously before moving ahead to the use of the <a href="http://www.devshed.com/c/a/PHP/Parsing-Child-Nodes-with-the-DOM-XML-extension-in-PHP-5/2/">hasChildNodes</a> and <a href="http://www.devshed.com/c/a/PHP/Parsing-Child-Nodes-with-the-DOM-XML-extension-in-PHP-5/3/">removeChild</a> methods to check for children and get rid of only certain ones.
</p>]]></description>
      <pubDate>Tue, 08 Apr 2008 09:47:48 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Accessing Attributes and Cloning Nodes with the DOM XML Extension in PHP 5]]></title>
      <guid>http://www.phpdeveloper.org/news/9891</guid>
      <link>http://www.phpdeveloper.org/news/9891</link>
      <description><![CDATA[<p>
DevShed continues their series about working with XML in PHP's DOM extension with <a href="http://www.devshed.com/c/a/PHP/Accessing-Attributes-and-Cloning-Nodes-with-the-DOM-XML-Extension-in-PHP-5/">this new tutorial</a> posted today showing how to get at attributes for tags and cloning nodes from others.
</p>
<blockquote>
You've probably realized that the DOM XML library can be pretty useful when working with web documents. However, this extension includes some other methods, which can be utilized to parse attributes of a given XML string, as well as to clone nodes.
</blockquote>
<p>
They show how to use the <a href="http://www.devshed.com/c/a/PHP/Accessing-Attributes-and-Cloning-Nodes-with-the-DOM-XML-Extension-in-PHP-5/1/">getAttributes</a> method, <a href="http://www.devshed.com/c/a/PHP/Accessing-Attributes-and-Cloning-Nodes-with-the-DOM-XML-Extension-in-PHP-5/2/">hasAttribue</a> method and <a href="http://www.devshed.com/c/a/PHP/Accessing-Attributes-and-Cloning-Nodes-with-the-DOM-XML-Extension-in-PHP-5/3/">cloneNode</a> method to work with their XML examples.
</p>]]></description>
      <pubDate>Tue, 01 Apr 2008 15:11:43 -0500</pubDate>
    </item>
  </channel>
</rss>
