[ZF-10089] Zend_Log
[zend.git] / documentation / manual / ja / module_specs / Zend_Service_Simpy.xml
blob79ff0b3b0daec869f6b3f5283431a135f939e806
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Reviewed: no -->
3 <!-- EN-Revision: 20818 -->
4 <sect1 id="zend.service.simpy">
5     <title>Zend_Service_Simpy</title>
7     <sect2 id="zend.service.simpy.introduction">
8         <title>導入</title>
10         <para>
11             <classname>Zend_Service_Simpy</classname> は、ソーシャルブックマークサービスである
12             Simpy 用のフリーな REST <acronym>API</acronym> の、軽量なラッパーです。
13         </para>
15         <para>
16             <classname>Zend_Service_Simpy</classname> を使用するには
17             Simpy アカウントが必要です。アカウントを取得するには、
18             <ulink url="http://simpy.com">Simpy のウェブサイト</ulink> にいきます。
19             Simpy REST <acronym>API</acronym> についての詳細な情報は
20             <ulink url="http://www.simpy.com/doc/api/rest">Simpy REST <acronym>API</acronym> ドキュメント</ulink>
21             を参照ください。
22         </para>
24         <para>
25             Simpy REST <acronym>API</acronym> を使用すると、Simpy
26             のウェブサイトが提供するサービスを利用できます。
27             以下の節は、<classname>Zend_Service_Simpy</classname>
28             で利用できる機能の概要をまとめたものです。
30             <itemizedlist>
31                 <listitem>
32                     <para>
33                         リンク: 作成、取得、更新、削除
34                     </para>
35                 </listitem>
37                 <listitem>
38                     <para>
39                         タグ: 取得、削除、名前の変更、統合、分割
40                     </para>
41                 </listitem>
43                 <listitem>
44                     <para>
45                         メモ: 作成、取得、更新、削除
46                     </para>
47                 </listitem>
49                 <listitem>
50                     <para>
51                         ウォッチリスト: 取得、すべてを取得
52                     </para>
53                 </listitem>
54             </itemizedlist>
55         </para>
56     </sect2>
58     <sect2 id="zend.service.simpy.links">
59         <title>リンク</title>
61         <para>
62             リンクを問い合わせると、登録日の降順で結果が返されます。
63             リンクの検索は、タイトルやニックネーム、タグ、メモ
64             そしてリンクに関連付けられたウェブページの内容にもとづいて行うことができます。
65             Simpy の検索は、これらのフィールドのいずれかあるいはすべてを対象に
66             フレーズや論理演算子、ワイルドカードを使用して行うことができます。
67             詳細な情報は、Simpy FAQ の
68             <ulink url="http://www.simpy.com/faq#searchSyntax">検索構文</ulink> や
69             <ulink url="http://www.simpy.com/faq#searchFieldsLinks">検索フィールド</ulink>
70             といった節を参照ください。
71         </para>
73         <example id="zend.service.simpy.links.querying">
74             <title>リンクの問い合わせ</title>
76             <programlisting language="php"><![CDATA[
77 $simpy = new Zend_Service_Simpy('あなたのユーザ名', 'あなたのパスワード');
79 /* 直近に追加された 10 件のリンクを探します */
80 $linkQuery = new Zend_Service_Simpy_LinkQuery();
81 $linkQuery->setLimit(10);
83 /* リンクを取得し、表示します */
84 $linkSet = $simpy->getLinks($linkQuery);
85 foreach ($linkSet as $link) {
86     echo '<a href="';
87     echo $link->getUrl();
88     echo '">';
89     echo $link->getTitle();
90     echo '</a><br />';
93 /* 直近に追加されたリンクのうち、タイトルに 'PHP' が含まれるものを
94    5 件まで探します */
95 $linkQuery->setQueryString('title:PHP');
96 $linkQuery->setLimit(5);
98 /* タイトルに 'French'、タグに 'language' が含まれる
99    すべてのリンクを探します */
100 $linkQuery->setQueryString('+title:French +tags:language');
102 /* タイトルに 'French' を含み、タグに 'travel' を含まない
103    すべてのリンクを探します */
104 $linkQuery->setQueryString('+title:French -tags:travel');
106 /* 2006/12/09 に追加されたすべてのリンクを探します */
107 $linkQuery->setDate('2006-12-09');
109 /* 2006/12/09 より後 (その日を含まない) に追加された
110    すべてのリンクを探します */
111 $linkQuery->setAfterDate('2006-12-09');
113 /* 2006/12/09 より前 (その日を含まない) に追加された
114    すべてのリンクを探します */
115 $linkQuery->setBeforeDate('2006-12-09');
117 /* 2006/12/01 から 2006/12/09 (両端の日を含まない) に追加された
118    すべてのリンクを探します */
119 $linkQuery->setBeforeDate('2006-12-01');
120 $linkQuery->setAfterDate('2006-12-09');
121 ]]></programlisting>
122         </example>
124         <para>
125             リンクの識別は、<acronym>URL</acronym> によって行います。言い換えると、
126             既存のリンクと同じ <acronym>URL</acronym> のリンクを保存しようとすると
127             既存のリンクが新しいデータで上書きされるということです。
128         </para>
130         <example id="zend.service.simpy.links.modifying">
131             <title>リンクの変更</title>
133             <programlisting language="php"><![CDATA[
134 $simpy = new Zend_Service_Simpy('あなたのユーザ名', 'あなたのパスワード');
136 /* リンクを保存します */
137 $simpy->saveLink(
138     'Zend Framework' // タイトル
139     'http://framework.zend.com', // URL
140     Zend_Service_Simpy_Link::ACCESSTYPE_PUBLIC, // アクセス形式
141     'zend, framework, php' // タグ
142     'Zend Framework home page' // 別のタイトル
143     'This site rocks!' // メモ
146 /* 既存のリンクを新しいデータで上書きします */
147 $simpy->saveLink(
148     'Zend Framework'
149     'http://framework.zend.com',
150     Zend_Service_Simpy_Link::ACCESSTYPE_PRIVATE, // アクセス形式を変更しました
151     'php, zend, framework' // タグの順番を変更しました
152     'Zend Framework' // 別のタイトルを変更しました
153     'This site REALLY rocks!' // メモを変更しました
156 /* リンクを削除します */
157 $simpy->deleteLink('http://framework.zend.com');
159 /* あなたのリンクを大掃除する簡単な方法 (^o^) */
160 $linkSet = $this->_simpy->getLinks();
161 foreach ($linkSet as $link) {
162     $this->_simpy->deleteLink($link->getUrl());
164 ]]></programlisting>
165         </example>
166     </sect2>
168     <sect2 id="zend.service.simpy.tags">
169         <title>タグ</title>
171         <para>
172             取得時に、そのタグを使用しているリンク数の降順
173             (多いものが先) でタグが並べ替えられます。
174         </para>
176         <example id="zend.service.simpy.tags.working">
177             <title>タグの処理</title>
179             <programlisting language="php"><![CDATA[
180 $simpy = new Zend_Service_Simpy('あなたのユーザ名', 'あなたのパスワード');
182 /* タグつきでリンクを保存します */
183 $simpy->saveLink(
184     'Zend Framework' // タイトル
185     'http://framework.zend.com', // URL
186     Zend_Service_Simpy_Link::ACCESSTYPE_PUBLIC, // アクセス形式
187     'zend, framework, php' // タグ
190 /* リンクおよびメモで使用しているすべてのタグの一覧を取得します */
191 $tagSet = $simpy->getTags();
193 /* 各タグと、それを使用しているリンク数を表示します */
194 foreach ($tagSet as $tag) {
195     echo $tag->getTag();
196     echo ' - ';
197     echo $tag->getCount();
198     echo '<br />';
201 /* 'zend' タグを使用しているすべてのリンクから、そのタグを削除します */
202 $simpy->removeTag('zend');
204 /* 'framework' タグの名前を 'frameworks' に変更します */
205 $simpy->renameTag('framework', 'frameworks');
207 /* 'frameworks' タグを 'framework' および
208 'development' に分割します。つまり、'frameworks' タグを
209 使用しているすべてのリンクからこのタグを削除し、'framework'
210 および 'development' をそれらのリンクに追加します */
211 $simpy->splitTag('frameworks', 'framework', 'development');
213 /* 'framework' および 'development' のふたつのタグを
214 'frameworks' に統合します。これは分割の反対の作業です */
215 $simpy->mergeTags('framework', 'development', 'frameworks');
216 ]]></programlisting>
217         </example>
218     </sect2>
220     <sect2 id="zend.service.simpy.notes">
221         <title>メモ</title>
223         <para>
224             メモの保存、取得および削除が可能です。
225             メモは、数値 ID によって識別されます。
226         </para>
228         <example id="zend.service.simpy.notes.working">
229             <title>メモの扱い</title>
231             <programlisting language="php"><![CDATA[
232 $simpy = new Zend_Service_Simpy('あなたのユーザ名', 'あなたのパスワード');
234 /* メモを保存します */
235 $simpy->saveNote(
236     'Test Note', // タイトル
237     'test,note', // タグ
238     'This is a test note.' // 説明
241 /* 既存のメモを上書きします */
242 $simpy->saveNote(
243     'Updated Test Note', // タイトル
244     'test,note,updated', // タグ
245     'This is an updated test note.', // 説明
246     $note->getId() // 一意な ID
249 /* 直近に追加された 10 件のメモを探します */
250 $noteSet = $simpy->getNotes(null, 10);
252 /* メモを表示します */
253 foreach ($noteSet as $note) {
254     echo '<p>';
255     echo $note->getTitle();
256     echo '<br />';
257     echo $note->getDescription();
258     echo '<br >';
259     echo $note->getTags();
260     echo '</p>';
263 /* タイトルに 'PHP' が含まれるすべてのメモを探します */
264 $noteSet = $simpy->getNotes('title:PHP');
266 /* タイトルに 'PHP' が含まれ、説明に 'framework' が含まれない
267    すべてのメモを探します */
268 $noteSet = $simpy->getNotes('+title:PHP -description:framework');
270 /* メモを削除します */
271 $simpy->deleteNote($note->getId());
272 ]]></programlisting>
273         </example>
274     </sect2>
276     <sect2 id="zend.service.simpy.watchlists">
277         <title>ウォッチリスト</title>
279         <para>
280             ウォッチリストは、<acronym>API</acronym> を用いて作成したり削除したりすることはできません。
281             取得のみが可能です。したがって、<acronym>API</acronym> を使用してアクセスする前には
282             Simpy のウェブサイトでウォッチリストを作成しておく必要があります。
283         </para>
285         <example id="zend.service.simpy.watchlists.retrieving">
286             <title>ウォッチリストの取得</title>
288             <programlisting language="php"><![CDATA[
289 $simpy = new Zend_Service_Simpy('あなたのユーザ名', 'あなたのパスワード');
291 /* すべてのウォッチリストの一覧を取得します */
292 $watchlistSet = $simpy->getWatchlists();
294 /* 各ウォッチリストのデータを表示します */
295 foreach ($watchlistSet as $watchlist) {
296     echo $watchlist->getId();
297     echo '<br />';
298     echo $watchlist->getName();
299     echo '<br />';
300     echo $watchlist->getDescription();
301     echo '<br />';
302     echo $watchlist->getAddDate();
303     echo '<br />';
304     echo $watchlist->getNewLinks();
305     echo '<br />';
307     foreach ($watchlist->getUsers() as $user) {
308         echo $user;
309         echo '<br />';
310     }
312     foreach ($watchlist->getFilters() as $filter) {
313         echo $filter->getName();
314         echo '<br />';
315         echo $filter->getQuery();
316         echo '<br />';
317     }
320 /* 個々のウォッチリストを、ID を指定して取得します */
321 $watchlist = $simpy->getWatchlist($watchlist->getId());
322 $watchlist = $simpy->getWatchlist(1);
323 ]]></programlisting>
324         </example>
325     </sect2>
326 </sect1>
327 <!--
328 vim:se ts=4 sw=4 et: