<?xml version="1.0"?>
<?xml-stylesheet
href="http://www.w3.org/2000/08/w3c-synd/style.css" type="text/css"
?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel rdf:about="http://pear.php.net/bugs/search.php">
    <title>PEAR Bug Search Results</title>
    <link>http://pear.php.net/bugs/search.php?cmd=display&amp;package_name%5B0%5D=Services_Hatena</link>
    <description>Search Results</description>
    <dc:language>en-us</dc:language>
    <dc:creator>pear-webmaster@lists.php.net</dc:creator>
    <dc:publisher>pear-webmaster@lists.php.net</dc:publisher>
    <admin:generatorAgent rdf:resource="http://pear.php.net/bugs"/>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>
    <items>
     <rdf:Seq>
      <rdf:li rdf:resource="http://pear.php.net/bug/17371" />
      <rdf:li rdf:resource="http://pear.php.net/bug/14963" />

     </rdf:Seq>
    </items>
  </channel>

  <image rdf:about="http://pear.php.net/gifs/pearsmall.gif">
    <title>PEAR Bugs</title>
    <url>http://pear.php.net/gifs/pearsmall.gif</url>
    <link>http://pear.php.net/bugs</link>
  </image>

    <item rdf:about="http://pear.php.net/bug/17371">
      <title>Services_Hatena: Feature/Change Request 17371 [Open] Migrate to XML_RPC2</title>
      <link>http://pear.php.net/bugs/17371</link>
      <content:encoded><![CDATA[<pre>Services_Hatena Feature/Change Request
Reported by doconnor
2010-05-06T04:00:34+00:00
PHP: Irrelevant OS:  Package Version: SVN

Description:
------------
XML_RPC is unmaintained; consider XML_RPC2 as a replacement.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Services_Hatena Feature/Change Request
Reported by doconnor
2010-05-06T04:00:34+00:00
PHP: Irrelevant OS:  Package Version: SVN

Description:
------------
XML_RPC is unmaintained; consider XML_RPC2 as a replacement.</pre>]]></description>
      <dc:date>2010-05-06T04:00:34+00:00</dc:date>
      <dc:creator>daniel &amp;#x64;&amp;#111;&amp;#x74; oconnor &amp;#x61;&amp;#116; gmail &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Services_Hatena Feature/Change Request</dc:subject>
    </item>
    <item rdf:about="http://pear.php.net/bug/14963">
      <title>Services_Hatena: Feature/Change Request 14963 [Open] Improve testability - simulate responses (dependency injection)</title>
      <link>http://pear.php.net/bugs/14963</link>
      <content:encoded><![CDATA[<pre>Services_Hatena Feature/Change Request
Reported by doconnor
2008-11-06T10:53:00+00:00
PHP: 5.2.6 OS:  Package Version: CVS

Description:
------------
At the moment, Services_Hatena instantiates XML_RPC clients in the middle of methods to get code.

Basically, classes do:

class Foo extends Services_Hatena {
    public function execute() {
         // new XML_RPC_Client() in here
    }
}

If you were to change the API to expect you to instantiate an XML_RPC_Client in the constructor, testability is markedly improved - you can inject a mock client which provides dummy results, but otherwise asserts your package functions correctly.

IE - You could do:

$service = new Services_Hatena_Bookmarknum(new XML_RPC_Client());
$service = new Services_Hatena_Bookmarknum(new Mock_XML_RPC_Client());

(or pass it in to the factory method)

If the factory doesn't get passed any particular arguments, you could still instantiate the relevant XML_RPC client.


This would prevent Bug #14872 from ever occurring again.</pre>]]></content:encoded>
      <description><![CDATA[<pre>Services_Hatena Feature/Change Request
Reported by doconnor
2008-11-06T10:53:00+00:00
PHP: 5.2.6 OS:  Package Version: CVS

Description:
------------
At the moment, Services_Hatena instantiates XML_RPC clients in the middle of methods to get code.

Basically, classes do:

class Foo extends Services_Hatena {
    public function execute() {
         // new XML_RPC_Client() in here
    }
}

If you were to change the API to expect you to instantiate an XML_RPC_Client in the constructor, testability is markedly improved - you can inject a mock client which provides dummy results, but otherwise asserts your package functions correctly.

IE - You could do:

$service = new Services_Hatena_Bookmarknum(new XML_RPC_Client());
$service = new Services_Hatena_Bookmarknum(new Mock_XML_RPC_Client());

(or pass it in to the factory method)

If the factory doesn't get passed any particular arguments, you could still instantiate the relevant XML_RPC client.


This would prevent Bug #14872 from ever occurring again.</pre>]]></description>
      <dc:date>2008-11-06T10:53:00+00:00</dc:date>
      <dc:creator>daniel &amp;#x64;&amp;#111;&amp;#x74; oconnor &amp;#x61;&amp;#116; gmail &amp;#x64;&amp;#111;&amp;#x74; com</dc:creator>
      <dc:subject>Services_Hatena Feature/Change Request</dc:subject>
    </item>
</rdf:RDF>
