<?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>Sat, 18 May 2013 06:21:00 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[PHPMaster.com: Consuming Feeds with SimplePie]]></title>
      <guid>http://www.phpdeveloper.org/news/19491</guid>
      <link>http://www.phpdeveloper.org/news/19491</link>
      <description><![CDATA[<p>
In a recent post to PHPMaster.com <i>Kevin Mowry</i> shows you <a href="http://phpmaster.com/consuming-feeds-with-simplepie/">how to use SimplePie</a>, a simple to use <a href="http://simplepie.org/">programatic feed reader</a> you can use to parse things like RSS feeds.
</p>
<blockquote>
If you're an avid feed consumer like I am, you might be a bit sad to see Google's recent announcement of Reader reaching end of life. Reader was simple and easy to use, but there's no reason you can't have the same functionality with your own homegrown project. The PHP library <a href="http://simplepie.org/">SimplePie</a> allows for quick and easy feed consumption and display. Here's how you can get started on your own feed reader.
</blockquote>
<p>
He helps you get it installed (via Composer) and shows you how to use some of its most basic functionality to parse the New York Times' feed. He also includes examples of getting the information back out of the SimplePie object. There's also some snippets that show how to only get the latest items and how to cache the results.
</p>
Link: http://phpmaster.com/consuming-feeds-with-simplepie]]></description>
      <pubDate>Mon, 22 Apr 2013 11:47:50 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPBuilder.com: Building a PHP RSS Aggregator]]></title>
      <guid>http://www.phpdeveloper.org/news/19413</guid>
      <link>http://www.phpdeveloper.org/news/19413</link>
      <description><![CDATA[<p>
On PHPBuilder.com today there's a quick tutorial showing you how to <a href="http://www.phpbuilder.com/articles/php-functions/xml/building-a-php-rss-aggregator.html">build an RSS aggregator</a> that can pull in RSS content and drop it into a MySQL table.
</p>
<blockquote>
RSS stands for Really Simple Syndication. It is a Web format that allows website owners to distribute their latest and frequently updated content in a standardized way. RSS feed is actually an XML document that can be easily read by using RSS reader software or built-in functions in programming languages, such as PHP or Java. In this article, the focus will be on building a RSS aggregator in PHP.
</blockquote>
<p>
They introduce the basics of an RSS feed - a specially formatted XML document with values for individual posts (like "title" and "link". They provide the SQL structure for the "article" and "feed" tables and the code to pull out each "feed" record, parse it and drop that into the "article" table for later consumption. They show two different methods for getting the content - one using <a href="http://php.net/file_get_contents">file_get_contents</a> and another using <a href="http://php.net/curl">cURL</a>.
</p>
Link: http://www.phpbuilder.com/articles/php-functions/xml/building-a-php-rss-aggregator.html]]></description>
      <pubDate>Thu, 04 Apr 2013 13:09:13 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Lorna Mitchell: First Phing Plugin]]></title>
      <guid>http://www.phpdeveloper.org/news/19358</guid>
      <link>http://www.phpdeveloper.org/news/19358</link>
      <description><![CDATA[<p>
In the latest post to her site, <i>Lorna Mitchell</i> walks you through the creation of <a href="http://www.lornajane.net/posts/2013/first-phing-plugin">a first Phing plugin</a>, an extension to the popular PHP-based build tool.
</p>
<blockquote>
I'm a huge fan of <a href="http://phing.info/">Phing</a> and use it regularly for build and deployment tasks. Often, I'll ask about a plugin that I wish existed, and get a very courteous "patches welcome" from the nice people in the #phing channel on freenode. This has happened a few times, so I thought I should probably look at how to make a new phing plugin, this article shows you how to make the simplest thing I could think of: a simple "hello world" plugin.
</blockquote>
<p>
She points you to the location to grab the latest version of the tool (the github repository) and how to define a configuration file for your test runs. Then she includes the sample code showing how to create the "HelloTask" plugin. It takes an input value of "name" and displays a greeting when executed. She shows the syntax for defining this in the XML build file and the sample result when executed.
</p>]]></description>
      <pubDate>Mon, 25 Mar 2013 10:49:23 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Parsing XML With SimpleXML]]></title>
      <guid>http://www.phpdeveloper.org/news/19171</guid>
      <link>http://www.phpdeveloper.org/news/19171</link>
      <description><![CDATA[<p>
On PHPMaster.com today there's a new tutorial <a href="http://phpmaster.com/parsing-xml-with-simplexml/">introducing you to SimpleXML</a>, a handy bit of functionality included with the base PHP install to make working with XML (well, reading it) much simpler.
</p>
<blockquote>
Parsing XML essentially means navigating through an XML document and returning the relevant data. An increasing number of web services return data in JSON format, but a large number still return XML, so you need to master parsing XML if you really want to consume the full breadth of APIs available. Using PHP's SimpleXML extension that was introduced back in PHP 5.0, working with XML is very easy to do. In this article I'll show you how.
</blockquote>
<p>
He starts with some basic usage of the SimpleXML parsing, giving an example XML to parse, the resulting object and how to access the data inside it. There's also a bit about dealing with namespaces in the XML you're parsing and a more practical example - parsing the output of a YouTube feed to get links to various videos.
</p>]]></description>
      <pubDate>Tue, 12 Feb 2013 12:48:34 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Andrew Podner: Managing PHP Application Builds with Phing]]></title>
      <guid>http://www.phpdeveloper.org/news/19128</guid>
      <link>http://www.phpdeveloper.org/news/19128</link>
      <description><![CDATA[<p>
<i>Andrew Podner</i> has a new post to his site today <a href="http://unassumingphp.com/managing-php-application-builds-with-phing/">introducing you to Phing</a>, a PHP-based build tool (designed after on Apache Ant) that makes automating builds of your applications easy.
</p>
<blockquote>
One of the things I have been focusing on lately is trying to to a better job of mechanizing and automating the process of building and deploying an application.  The reason for this is pretty simple:  applications just seem to keep getting more and more complicated and intricate as time goes on. [...] <a href="http://www.phing.info/">Phing</a> is a "project build system" that helps developers manage repetitive tasks associated with preparation and deployment of applications.  Phing uses XML based files to allow you the ability to customize the build process to the individual application. 
</blockquote>
<p>
He walks you through the Phing installation (from PEAR, note that you can install it <a href="https://packagist.org/packages/phing/phing">via Composer</a> now too) and how to set up your first project XML definition. He shows you how to add a "target" or step to the build with the basic example of running your app's PHPUnit tests. He also includes a list of other things Phing can do and work with including CodeSniffer checks, FTP handling, version control interfaces and automated documentation.
</p>]]></description>
      <pubDate>Mon, 04 Feb 2013 09:08:16 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Explore Aspect Oriented Programming with CodeIgniter, Part 3]]></title>
      <guid>http://www.phpdeveloper.org/news/18402</guid>
      <link>http://www.phpdeveloper.org/news/18402</link>
      <description><![CDATA[<p>
PHPMaster.com is back with the <a href="http://phpmaster.com/explore-aspect-oriented-programming-with-codeigniter-3/">third part</a> of their series looking at Aspect Oriented Programming with the <a href="http://codeigniter.com">CodeIgniter</a> framework. (<a href="http://phpmaster.com/explore-aspect-oriented-programming-with-codeigniter-1/">Part 1</a>, <a href="http://phpmaster.com/explore-aspect-oriented-programming-with-codeigniter-2/">Part 2</a>)
</p>
<blockquote>
In the previous parts of the series we learned about AOP concepts and the need for using AOP in large scale projects and I introduced CodeIgniter's hooks as a convenient mechanism for creating AOP functionality from scratch. In this part I'll show you how to use both XML and comment-based techniques to create custom AOP functionality when a dedicated AOP framework is not available.
</blockquote>
<p>
They start with the XML configuration that defines a few aspects and pointcuts for the application. This is then read in via the "applyBeforeAspects" and the aspects that should be executed first are extracted, loaded and run. Following this, they take the other approach - based on docblock comments - and pull in the comments (the @before and @after tags) and load/execute the aspects that way instead.
</p>]]></description>
      <pubDate>Fri, 24 Aug 2012 11:56:29 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[MaltBlue.com: Zend Framework - How To Implement RSS Feeds the Easy Way]]></title>
      <guid>http://www.phpdeveloper.org/news/18218</guid>
      <link>http://www.phpdeveloper.org/news/18218</link>
      <description><![CDATA[<p>
On the MaltBlue blog <i>Matt Setter</i> has <a href="http://www.maltblue.com/zend-framework/zend-framework-how-to-implement-rss-feeds-the-easy-way">a new tutorial</a> posted about creating RSS feeds quickly and easily with the help of the Zend Framework and context switching.
</p>
<blockquote>
Ever wanted to know how to take an existing Zend Framework application where you have posts, records, news or anything else stored in a data source and updated regularly, and make it available as a feed for your users that they can subscribe to? Well today, that's what I want to show you. Recently, during the development of the burgeoning <a href="http://www.phpclouddevelopmentcasts.com/">PHP cloud development casts site</a>, I had just that situation.
</blockquote>
<p>
He shows you how to set up some of the routing for the RSS and Atom feeds, pointing them to specific module/controller/action paths for handling. He then creates a "_getFeed()" method that pulls together the needed content and uses the Zend_Feed_Writer_Feed component to create the feed of the correct type. This is then exported, returned and - thanks to a bit more configuration - turned into a correctly-formatted feed.
</p>]]></description>
      <pubDate>Thu, 12 Jul 2012 10:08:01 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Nikita Popov's Blog: A plea for less (XML) configuration files]]></title>
      <guid>http://www.phpdeveloper.org/news/18207</guid>
      <link>http://www.phpdeveloper.org/news/18207</link>
      <description><![CDATA[<p>
<i>Nikita Popov</i> has <a href="http://nikic.github.com/2012/07/09/A-plea-for-less-XML-configuration-files">posted a plea</a> to developers and project maintainers alike to stop using XML for their configuration files in their PHP-based applications.
</p>
<blockquote>
I recently tried using <a href="http://www.phing.info/trac/">Phing</a> (a PHP build system) to do some simple release automation. Just creating a PEAR package and doing a few string replacements here and there. The result? After several wasted hours I ended up using Phing only for PEAR packaging and doing everything else in a custom PHP build script. The reason? Phing uses XML files to configure what it should do during a build. 
</blockquote>
<p>
He advocates a more native solution - a PHP script that defines the configuration options as a part of an object that can be injected into the parts of your app without the need for external dependencies.
</p>]]></description>
      <pubDate>Tue, 10 Jul 2012 10:09:27 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Community News: Zend Framework Security Upgrade (Zend_XmlRpc XXE Issue)]]></title>
      <guid>http://www.phpdeveloper.org/news/18135</guid>
      <link>http://www.phpdeveloper.org/news/18135</link>
      <description><![CDATA[<p>
Based in some recent issues found with the Zend_XmlRpc component of the Zend Framework, the project has <a href="http://framework.zend.com/security/advisory/ZF2012-01">release an update</a>, version 1.11.12 that includes a fix for the component to prevent an XXE injection attack.
</p>
<blockquote>
Zend_XmlRpc is vulnerable to XML eXternal Entity (XXE) Injection attacks. The SimpleXMLElement class (SimpleXML PHP extension) is used in an insecure way to parse XML data. External entities can be specified by adding a specific DOCTYPE element to XML-RPC requests. By exploiting this vulnerability an application may be coerced to open arbitrary files and/or TCP connections.
</blockquote>
<p>
<a href="http://framework.zend.com/security/advisory/ZF2012-01">This security advisory</a> describes the problem as well as the steps taken to correct it and provide the update. It is recommended that anyone using this component upgrade immediately to prevent issues. You can download the latest issue from <a href="http://framework.zend.com/download/latest">the Zend Framework download page</a>.
</p>]]></description>
      <pubDate>Mon, 25 Jun 2012 21:20:09 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: PHP DOM: Working with XML]]></title>
      <guid>http://www.phpdeveloper.org/news/18063</guid>
      <link>http://www.phpdeveloper.org/news/18063</link>
      <description><![CDATA[<p>
On PHPMaster.com there's a new tutorial posted about <a href="http://phpmaster.com/php-dom-working-with-xml/">using XML in PHP</a>, an introduction to using the DOM functionality in PHP to work with your XML content.
</p>
<blockquote>
PimpleXML allows you to quickly and easily work with XML documents, and in the majority of cases SimpleXML is sufficient. But if you're working with XML in any serious capacity, you'll eventually need a feature that isn't supported by SimpleXML, and that's where the PHP DOM (Document Object Model) comes in.
</blockquote>
<p>
He starts with a brief introduction to XML and DTDs including an example of each (defining a sample book information he'll use in the rest of the tutorial). He helps you create a simple class that takes in the XML content, working with construction/destruction of the object and using it to find, add and delete a book by things like ISBN or genre.
</p>]]></description>
      <pubDate>Fri, 08 Jun 2012 08:27:45 -0500</pubDate>
    </item>
  </channel>
</rss>
