<?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, 25 May 2013 05:32:49 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Lorna Mitchell: New Book: PHP Web Services]]></title>
      <guid>http://www.phpdeveloper.org/news/19201</guid>
      <link>http://www.phpdeveloper.org/news/19201</link>
      <description><![CDATA[<p>
<i>Lorna Mitchell</i> has <a href="http://www.lornajane.net/posts/2013/new-book-php-web-services">officially announced</i> the release of her O'Reilly-published book about creating and working with web services in PHP, <a href="http://shop.oreilly.com/product/0636920028291.do">PHP Web Services</a>.
</p>
<blockquote>
I'm delighted to announce that my new book "PHP Web Services" is now available as an early release! [...] The book isn't huge (or expensive, hint!), but it aims to give solid theory in a practical and approachable way. There's the topics you'd expect to see, covering HTTP and verbs and headers and status codes, and also around data formats. It also covers RPC services including SOAP, and also has a chapter (predictably the longest one!) about REST. I've tried to go beyond simply the "how to do" and into the "how to do in a kick-ass manner" realm, so there are chapters about how to design your API and choose what kind to build, how to handle errors, how to make your API really robust - and of course how to debug when things go wrong!
</blockquote>
<p>
<a href="http://shop.oreilly.com/product/0636920028291.do">The book</a> not only has the summaries and descriptions of some common web service challenges, but also includes code samples you can use in your own projects.
</p>]]></description>
      <pubDate>Tue, 19 Feb 2013 10:31:25 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Codeception Blog: Test WebServices With Codeception]]></title>
      <guid>http://www.phpdeveloper.org/news/18118</guid>
      <link>http://www.phpdeveloper.org/news/18118</link>
      <description><![CDATA[<p>
On the Codeception blog (an up and coming PHP-based testing tool) there's a new post showing how to use the tool to <a href="http://codeception.com/06-19-2012/testing-webservices.html">test your web services</a> for either a SOAP or REST-based service.
</p>
<blockquote>
Codeception testing framework got significant improvements during last week. The first and the major one is that you don't even need PEAR and Composer to execute tests. Only one file codecept.phar required. This might save your time and mind of your testers.
</blockquote>
<p>
They've recently added modules for <a href="http://codeception.com/docs/modules/SOAP">SOAP</a> and <a href="http://codeception.com/docs/modules/REST">REST</a> support, making it easier to define your tests in a more fluid fashion. Included in the post are two examples, one REST and one SOAP. You can find more information about these new testing features over in the <a href="http://codeception.com/doc">tool's documentation</a>.
</p>]]></description>
      <pubDate>Wed, 20 Jun 2012 11:21:21 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Project: phpVirtualBox - VirtualBox Management Tool]]></title>
      <guid>http://www.phpdeveloper.org/news/17616</guid>
      <link>http://www.phpdeveloper.org/news/17616</link>
      <description><![CDATA[<p>
For those fans of virtualization (and running VMs for development) you're not stranger to <a href="http://www.virtualbox.org">VirtualBox</a>. Over on the Google Code site, there's a project that wants to make it easier to work with your VirtualBox instances via a PHP-driven interface.
</p>
<blockquote>
An open source, AJAX implementation of the <a href="http://code.google.com/p/phpvirtualbox/wiki/VirtualBox">VirtualBox</a> user interface written in PHP. As a modern web interface, it allows you to access and control remote <a href="http://code.google.com/p/phpvirtualbox/wiki/VirtualBox">VirtualBox</a> instances. Much of its verbage and some of its code is based on the (inactive) <a href="http://code.google.com/p/vboxweb/">vboxweb</a> project. phpVirtualBox was designed to allow users to administer <a href="http://code.google.com/p/phpvirtualbox/wiki/VirtualBox">VirtualBox</a> in a headless environment - mirroring the <a href="http://code.google.com/p/phpvirtualbox/wiki/VirtualBox">VirtualBox</a> GUI through its web interface.
</blockquote>
<p>
The tool isn't designed to be a management tool for a "hosting" type of environment, but rather to help you admin all of your VMs at once (no "ownership"). It uses the SOAP service (vboxwebsrv) that comes with VirtualBox servers to create a <a href="http://phpvirtualbox.googlecode.com/svn/wiki/images/phpvbsm.png">clean interface</a>.
</p>]]></description>
      <pubDate>Fri, 02 Mar 2012 08:25:16 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[php|architect: What Will Power the Future of the Internet: REST or SOAP? ]]></title>
      <guid>http://www.phpdeveloper.org/news/17599</guid>
      <link>http://www.phpdeveloper.org/news/17599</link>
      <description><![CDATA[<p>
On the php|architect site today there's <a href="http://www.phparch.com/2012/02/what-will-power-the-future-of-the-internet-rest-or-soap/">a new article</a> from <i>Luke Stokes</i> asking a question about the future of the web (and web serivces) - is the future in REST or SOAP?
</p>
<blockquote>
I was recently asked why we chose REST over SOAP for our re-write of the <a href="http://www.foxycart.com/">FoxyCart.com</a> API, and the short answer that immediately came to mind was, "Because I don't hate myself". To expand on that answer, let me give you a little bit of the back story.
</blockquote>
<p>
He talks about their goals for the product and its API, how they wanted to create something useful, built by developers for developers. They leaned towards REST mostly because of the problems and overhead introduced with SOAP (and the complex nature of its requests). He also gives a few reasons why he's "excited about REST": working with known data types, standard interface methods and the fact that it's still such a hot topic of discussion.
</p>
<blockquote>
These questions [about HATEOS, hypermedia, vendor-specific content types] might seem overwhelming, but for us they are exciting! We believe the future of consistent, powerful API development is being defined right now, and we get to be a part of it.
</blockquote>]]></description>
      <pubDate>Tue, 28 Feb 2012 12:16:17 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Creating Web Services with PHP and SOAP, Part 2]]></title>
      <guid>http://www.phpdeveloper.org/news/17597</guid>
      <link>http://www.phpdeveloper.org/news/17597</link>
      <description><![CDATA[<p>
On PHPMaster.com today they've <a href="http://phpmaster.com/web-services-with-php-and-soap-2/">posted the second part</a> of their series looking at creating a SOAP web service with NuSOAP. (Part one is <a href="http://phpdeveloper.org/news/17565">here</a>)
</p>
<blockquote>
In this article we'll talk about what WSDL files are and how to use them. I'll show you how to quickly build your WSDL files with NuSOAP and incorporate a WSDL file into the SOAP server and client examples from the first part.
</blockquote>
<p>
He introduces WSDL files, the specially formatted XML definitions that tell SOAP clients what's available on the service and includes some markup as examples. Creating one from scratch ca be a hassle, so it's handy that NuSOAP generates one for you from your server class. He includes sample code to create this generated file and how to create a SOAP client pointed to the PHP script to get the result.
</p>]]></description>
      <pubDate>Tue, 28 Feb 2012 10:11:25 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Creating Web Services with PHP and SOAP, Part 1]]></title>
      <guid>http://www.phpdeveloper.org/news/17565</guid>
      <link>http://www.phpdeveloper.org/news/17565</link>
      <description><![CDATA[<p>
On PHPMaster.com today there's a new tutorial posted, the first part in a series, showing how to <a href="http://phpmaster.com/web-services-with-php-and-soap-1/">create SOAP web services</a> with the help of the <a href="http://sourceforge.net/projects/nusoap/">NuSOAP</a> library.
</p>
<blockquote>
In this first of a two part series on web services I'll talk about the SOAP specification and what is involved in creating SOAP messages. I'll also demonstrate how to create a SOAP server and client using the excellent NuSOAP library to illustrate the flow of SOAP. In the second part I'll talk about the importance of WSDL files, how you can easily generate them with NuSOAP as well, and how a client may use a WSDL file to better understand your web service.
</blockquote>
<p>
He introduces you to the concepts behind SOAP, the normal structure of a SOAP-formatted XML message and what an example might look like for fetching a stock price from a remote service. He then shows how to use <a href="http://sourceforge.net/projects/nusoap/">NuSOAP</a> to create both a simple server and client to pull information about books - sample code and <a href="http://cdn.phpmaster.com/files/2012/02/soap-1-01.jpg">a screenshot</a> of the output is included.
</p>]]></description>
      <pubDate>Tue, 21 Feb 2012 09:52:20 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[King Foo Blog: Using Complex Type with Zend_Soap]]></title>
      <guid>http://www.phpdeveloper.org/news/16897</guid>
      <link>http://www.phpdeveloper.org/news/16897</link>
      <description><![CDATA[<p>
New from the King Foo blog there's a tutorial showing how to use <a href="http://www.king-foo.be/2011/09/using-complex-types-with-zend_soap/">complex types in a SOAP request with Zend_Soap</a>, a component of the <a href="http://framework.zend.com">Zend Framework</a>.
</p>
<blockquote>
To be able to use complex types with Soap requests, they need to be fully defined in the WSDL file. Zend_Soap can automate this process, if you know how to define those complex types. Let us start without it Zend_Soap's magic and compare it with a fully discovered complex request type afterwards.
</blockquote>
<p>
In their example, they have a collection of books (objects) that they want to send over to the web service. The code for both the server and client side are included with the WSDL automagically created by the Zend_Soap_Server component. By setting docblock comments on the properties of the Book objects, the SOAP components automatically know what types they are. Their example defines these, and sets up the web service on the other side with a classmap to define where the "tags" information for each book lies.
</p>]]></description>
      <pubDate>Fri, 23 Sep 2011 08:37:10 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Ldeveloper Tech Blog: PHP - Fatal error: Uncaught SoapFault exception: Could not connect to host...]]></title>
      <guid>http://www.phpdeveloper.org/news/16712</guid>
      <link>http://www.phpdeveloper.org/news/16712</link>
      <description><![CDATA[<p>
On the Ldeveloper Tech Blog today there's a helpful new post about an error PHP's SOAP extension could throw <a href="http://ldeveloper.blogspot.com/2011/08/php-fatal-error-uncaught-soapfault.html">about not being able to connect to the host</a> despite all settings being correct.
</p>
<blockquote>
I receive this nasty error yesterday and it took me some time to figure out the problem: "Fatal error: Uncaught SoapFault exception: [HTTP] Could not connect to host in...". This ["new SoapClient"] line passes without any problems and this [var_dump on __getFunctions] shows the function prototypes correctly.
</blockquote>
<p>
His script connects to the service as its supposed to but the "could not connect" is still thrown. He found a few references to OpenSSL issues that could cause it, but his code was correct so he turned to the other side - the service itself. As it turns out, it wasn't configured correctly.
</p>
<blockquote>
It was configured to send invalid url and the function calls were using that invalid url. So there are two solutions [...]  the first is to configure the server correctly. The other is to give __doReguest the correct location.
</blockquote>]]></description>
      <pubDate>Fri, 12 Aug 2011 11:38:04 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Eran Galperin's Blog: Breaking Down The PayPal API]]></title>
      <guid>http://www.phpdeveloper.org/news/16241</guid>
      <link>http://www.phpdeveloper.org/news/16241</link>
      <description><![CDATA[<p>
In a recent post <i>Eran Galperin</i> takes a look at the PayPal API and <a href="http://www.techfounder.net/2011/04/23/breaking-down-the-paypal-api/">breaks it down</a> into smaller, easy to digest chunks to show you how to you can implement it in your application. Be warned, though - he mentions that it's the "among the worst API he's ever had to deal with" for several reasons.
</p>
<blockquote>
PayPal is the most popular platform for receiving online payments. The relative ease of opening a PayPal account and receiving payments compared to opening a merchant account for a traditional payment gateway is the number one reason, and another is the comprehensive API they provide for their payment services. [...] There doesn't seem to be any better alternatives currently, so hopefully this guide will help ease the pain for some of you out there taking your lumps working the API into your applications.
</blockquote>
<p>
<i>Eran</i> starts with a look at some of the different payment options, express, direct, recurring and mass, and what they're good for. From there, it's off to the code with his tool of choice being <a ref="http://php.net/curl">curl</a> to make it simpler to make requests with headers, content and fetch the response message. He's put together a little custom function to make it easier to reuse. As an example, he shows how to make an Express Checkout request by grabbing a token and redirecting to the PayPal site for handling.
</p>]]></description>
      <pubDate>Mon, 25 Apr 2011 09:50:54 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Aaron McGowan' Blog: Geocoding search terms with Bing Maps]]></title>
      <guid>http://www.phpdeveloper.org/news/15447</guid>
      <link>http://www.phpdeveloper.org/news/15447</link>
      <description><![CDATA[<p>
<i>Aaron McGowan</i> has a new post to his blog that looks at the work he's done <a href="http://www.amcgowan.ca/blog/computer-science/geocoding-search-terms-with-bing-maps/">interfacing with the Bing Maps API</a> to do some geocoding for <a href="http://www.emitter.ca/">Emitter.ca</a>.
</p>
<blockquote>
One of the key features which was required for Emitter.ca, was the ability to geocode search terms like street addresses, cities, and postal codes, that a user enters so that Emitter.ca could easily return facilities that are nearby. To do this, we leveraged Bing Maps's API for performing the Geocode lookup. Microsoft offers a variety of APIs for allowing your application to interact with Bing Maps, however, for Geocoding search terms, we utilized Bing's SOAP API.
</blockquote>
<p>
He shares the class he uses to pull the information out of the Bing Maps SOAP response and push the details into the properties of a class. The simpel class made interfacing with the API an easy task and allowed for string-based lookups on just about anywhere (like "Toronto, Ontario").
</p>]]></description>
      <pubDate>Wed, 17 Nov 2010 12:28:40 -0600</pubDate>
    </item>
  </channel>
</rss>
