<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Zend Framework по-русски &#187; SOAP</title>
	<atom:link href="http://zend-framework.ru/tag/soap/feed/" rel="self" type="application/rss+xml" />
	<link>http://zend-framework.ru</link>
	<description>Статьи, руководства и заметки о фреймворке для PHP - Zend Framework</description>
	<lastBuildDate>Mon, 30 Aug 2010 20:21:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Создание API сервисов при помощи Zend Framework</title>
		<link>http://zend-framework.ru/service-api/</link>
		<comments>http://zend-framework.ru/service-api/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 05:10:38 +0000</pubDate>
		<dc:creator>Сергей Митрошин</dc:creator>
				<category><![CDATA[Прочее]]></category>
		<category><![CDATA[Руководства]]></category>
		<category><![CDATA[Ссылки]]></category>
		<category><![CDATA[AMF]]></category>
		<category><![CDATA[bootstrap]]></category>
		<category><![CDATA[JSON-RPC]]></category>
		<category><![CDATA[service API]]></category>
		<category><![CDATA[SOAP]]></category>
		<category><![CDATA[XML-RPC]]></category>

		<guid isPermaLink="false">http://zend-framework.ru/?p=182</guid>
		<description><![CDATA[Matthew Weier O&#8217;Phinney опубликовал краткое руководство по созданию SOAP, XML-RPC, JSON-RPC или AMF API на базе Zend Framework. Я знал, что через ZF это сделать просто, но, оказалось, даже проще, чем я думал. Например, вот так выглядит создание XML-RPC-сервера: 123$server = new Zend_XmlRpc_Server&#40;&#41;; $server-&#62;setClass&#40;'My_Awesome_Api'&#41;; echo $server-&#62;handle&#40;&#41;; Также не следует использовать для этих целей полноценный MVC [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://weierophinney.net/matthew/">Matthew Weier O&#8217;Phinney</a> опубликовал <a href="http://weierophinney.net/matthew/archives/227-Exposing-Service-APIs-via-Zend-Framework.html">краткое руководство по созданию SOAP, XML-RPC, JSON-RPC или AMF API на базе Zend Framework</a>.<br />
Я знал, что через ZF это сделать просто, но, оказалось, даже проще, чем я думал. Например, вот так выглядит создание XML-RPC-сервера:</p>
<div class="codecolorer-container php " style="overflow:auto;white-space:nowrap;"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br /></div></td><td><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="re0">$server</span> <span class="sy0">=</span> <span class="kw2">new</span> Zend_XmlRpc_Server<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="re0">$server</span><span class="sy0">-&gt;</span><span class="me1">setClass</span><span class="br0">&#40;</span><span class="st_h">'My_Awesome_Api'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="re0">$server</span><span class="sy0">-&gt;</span><span class="me1">handle</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div></td></tr></tbody></table></div>
<p>Также не следует использовать для этих целей полноценный MVC — просто незачем проходить полный цикл диспатчеризации, если можно заменить его куда более производительным сервис-сервером:</p>
<div class="codecolorer-container php " style="overflow:auto;white-space:nowrap;;"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br /></div></td><td><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="kw2">class</span> XmlRpc_Bootstrap <span class="kw2">extends</span> Bootstrap<br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="kw2">public</span> <span class="kw2">function</span> run<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$server</span> <span class="sy0">=</span> <span class="kw2">new</span> Zend_XmlRpc_Server<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$server</span><span class="sy0">-&gt;</span><span class="me1">setClass</span><span class="br0">&#40;</span><span class="st_h">'My_Awesome_Api'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="re0">$server</span><span class="sy0">-&gt;</span><span class="me1">handle</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span><br />
<br />
<span class="re0">$app</span> <span class="sy0">=</span> <span class="kw2">new</span> Zend_Application<span class="br0">&#40;</span><br />
&nbsp; &nbsp; APPLICATION_ENV<span class="sy0">,</span><br />
&nbsp; &nbsp; <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'bootstrap'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'class'</span> <span class="sy0">=&gt;</span> <span class="st_h">'XmlRpc_Bootstrap'</span><span class="sy0">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'path'</span> &nbsp;<span class="sy0">=&gt;</span> <span class="st_h">'path/to/Bootstrap.php'</span><span class="sy0">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="st_h">'config'</span> <span class="sy0">=&gt;</span> APPLICATION_PATH <span class="sy0">.</span> <span class="st_h">'/configs/application.ini'</span><span class="sy0">,</span><br />
&nbsp; &nbsp; <span class="br0">&#41;</span><span class="sy0">,</span><br />
<span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="re0">$app</span><span class="sy0">-&gt;</span><span class="me1">bootstrap</span><span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; <span class="sy0">-&gt;</span><span class="me1">run</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div></td></tr></tbody></table></div>
<p>Подробности читайте в <a href="http://weierophinney.net/matthew/archives/227-Exposing-Service-APIs-via-Zend-Framework.html">оригинале статьи</a>.</p>
<hr />
<p><small>
<a href="http://zend-framework.ru/service-api/#comments">4 comments</a>
<br/>
Post tags: <a href="http://zend-framework.ru/tag/amf/" rel="tag">AMF</a>, <a href="http://zend-framework.ru/tag/bootstrap/" rel="tag">bootstrap</a>, <a href="http://zend-framework.ru/tag/json-rpc/" rel="tag">JSON-RPC</a>, <a href="http://zend-framework.ru/tag/service-api/" rel="tag">service API</a>, <a href="http://zend-framework.ru/tag/soap/" rel="tag">SOAP</a>, <a href="http://zend-framework.ru/tag/xml-rpc/" rel="tag">XML-RPC</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://zend-framework.ru/service-api/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
