<?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, 22 May 2013 14:35:23 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Reddit.com: Thoughts on API centric architecture]]></title>
      <guid>http://www.phpdeveloper.org/news/18465</guid>
      <link>http://www.phpdeveloper.org/news/18465</link>
      <description><![CDATA[<p>
On Reddit.com there's a recent post talking about an <a href="http://www.reddit.com/r/PHP/comments/zmzh7/thoughts_on_api_centric_architecture/">API-centric architecture</a> that would separate out business logic from user logic.
</p>
<blockquote>
I'm in a fairly unique position of being able to refactor an existing site that gets a moderate amount of traffic (~10k per day). Technically speaking, it probably does not NEED to be rebuilt from ground up, but as this is somewhat of a hobby project for me, I am choosing to rebuild it because I think there are significant long term benefits and because of the learning experience it affords me. [...] The solution that I've come up with, so far, is to create a single library whose sole responsibility is to handle system / business level interactions that occur. This API is completely segregated from any consumer facing frontend and de-coupled from any particular framework implementation.
</blockquote>
<p>
Comments on the post are mostly supportive - they're in favor of the API-for-business-logic approach, but some <a href="http://www.reddit.com/r/PHP/comments/zmzh7/thoughts_on_api_centric_architecture/">recommend other methods</a> than the single library attack. There's suggestions of using current frameworks to handle some of the "dirty work" involved in setting up the API and a mention of focusing on performance as well as functionality.
</p>]]></description>
      <pubDate>Tue, 11 Sep 2012 09:17:50 -0500</pubDate>
    </item>
  </channel>
</rss>
