<?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 18:48:29 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Ralph Schindler's Blog: PHP Component and Library API Design Overview]]></title>
      <guid>http://www.phpdeveloper.org/news/15766</guid>
      <link>http://www.phpdeveloper.org/news/15766</link>
      <description><![CDATA[<p>
<i>Ralph Schindler</i> has <a href="http://ralphschindler.com/2011/01/18/php-component-and-library-api-design-overview">written up a new post</a> for his blog today looking at APIs and some things to consider when building them. These aren't the web service APIs you're thinking of - this is the interfaces your code uses to talk to it's own parts.
</p>
<blockquote>
It's important to have a common understanding of the actual problem area. When we talk about names, we are really talking about the API. An API is a particular set of rules and specifications that a developer can follow to access and make use of the services and resources provided by another particular software program, component or library. Put another way, it is an interface between various software pieces and facilitates their interaction, similar to the way the user interface facilitates interaction between humans and computers.
</blockquote>
<p>
He talks about the two different APIs you're usually building at the same time - a consumption API that is the method others use to consume it and the extension API, how the feature allows others to improve upon it. He shares his own API philosophy and a three tips he's learned along the way to make his APIs more robust:
</p>
<ul>
<li>Adopt A Common Namespace & Class Naming Scheme
<li>Avoid Doing Too Much In the Constructor
<li>Avoid final And private
</ul>]]></description>
      <pubDate>Wed, 19 Jan 2011 09:19:29 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Brian Swan's Blog: Consuming SQL Azure Data with the OData SDK for PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/14903</guid>
      <link>http://www.phpdeveloper.org/news/14903</link>
      <description><![CDATA[<p>
<i>Brian Swan</i> has a new post to his MSDN blog today about <a href="http://blogs.msdn.com/b/brian_swan/archive/2010/08/03/consuming-sql-azure-data-with-the-odata-sdk-for-php.aspx">using the OData SDK</a> to consume Azure data (ODP is the Open Data Protocol that's <a href="http://blogs.msdn.com/b/sqlazure/archive/2010/07/20/10040378.aspx">been defined</a>). The OData interfaces is a REST-based service used to grab data from multiple types of data sources.
</p>
<blockquote>
The SQL Azure OData Service incubation (currently in <a href="http://www.sqlazurelabs.com/">SQL Azure Labs</a>) provides an OData interface to SQL Azure databases that is hosted by Microsoft. Another way to think about this is that SQL Azure OData Service provides a REST interface to your SQL Azure data.
</blockquote>
<p>
He shows you how to create the SQL Azure Server, make a SQL Azure database and creating the SQL Azure OData service. Then, with that all set up, you can use <a href="http://blogs.msdn.com/b/brian_swan/archive/2010/03/18/using-the-odata-sdk-for-php.aspx">this other tutorial</a> to connect your script to this new service.
</p>]]></description>
      <pubDate>Wed, 04 Aug 2010 11:22:56 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[NETTUTS.com: Working with RESTful Services in CodeIgniter]]></title>
      <guid>http://www.phpdeveloper.org/news/13970</guid>
      <link>http://www.phpdeveloper.org/news/13970</link>
      <description><![CDATA[<p>
<a href="http://philsturgeon.co.uk">Phil Sturgeon</a> has posted a new tutorial over on the NETTUTS.com site about working with <a href="http://net.tutsplus.com/tutorials/php/working-with-restful-services-in-codeigniter-2/">REST services in CodeIgniter</a>. He shows both sides of things - using REST services and making them.
</p>
<blockquote>
CodeIgniter is becoming well known for its power as a PHP based web application framework, but it's not often that we see examples of it being used for anything else. Today we'll learn how we can use CodeIgniter to create a RESTful API for your existing web applications, and demonstrate how to interact with your own API or other RESTful web-services, such as Facebook and Twitter.
</blockquote>
<p>
He has the sample code hosted over on <a href="http://github.com/philsturgeon/codeigniter-restserver">his github account</a> where you can pull down the source and follow along from the beginning. His application is created to be flexible enough for multiple output formats (xml, json, html) and respond correctly to the HTTP request types like GET, POST, PUT, DELETE. On the other side he shows how to consume the services via different methods like <a href="http://php.net/file_get_contents">file_get_contents</a> and cURL.
</p>]]></description>
      <pubDate>Thu, 04 Feb 2010 13:03:58 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Manfred Weber's Blog: Consuming PHP SOAP Webservices with Flash - Part I]]></title>
      <guid>http://www.phpdeveloper.org/news/7019</guid>
      <link>http://www.phpdeveloper.org/news/7019</link>
      <description><![CDATA[<p>
<i>Manfred Weber</i> has posted the <a href="http://manfred.dschini.org/2006/12/29/consuming-php-soap-webservices-with-flash-part-i/">first part</a> of a quick series looking at pulling information from a PHP-generated SOAP web service inside of a Flash document.
</p>
<blockquote>
A PHP Pear package to easily create Webservices and WSDL. After several tests with PHP and C# I thought it is time to find a better way in Flash to create backend-driven applications.
</blockquote>
<p>
He <a href="http://manfred.dschini.org/2006/12/29/consuming-php-soap-webservices-with-flash-part-i/">starts with</a> the creation of a simple web service that just returns a string ("Hello!") including what the information page would look like in a browser. Next up is building the Flash side of things - using the serivces.WebService object already in Flash to pull in the info for the service and make the call to the "hello" method.
</p>]]></description>
      <pubDate>Wed, 03 Jan 2007 09:40:00 -0600</pubDate>
    </item>
  </channel>
</rss>
