| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 17175 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.service.simpy">
- <title>Zend_Service_Simpy</title>
- <sect2 id="zend.service.simpy.introduction">
- <title>Einführung</title>
- <para>
- <classname>Zend_Service_Simpy</classname> ist ein schlanker Wrapper für das freie REST
- <acronym>API</acronym> des Simpy Lesezeichen-Services.
- </para>
- <para>
- Um <classname>Zend_Service_Simpy</classname> zu nutzen, solltest du bereits ein
- Simpy-Konto besitzen. Falls dies nicht der Fall ist, kannst du dies auf der
- <ulink url="http://simpy.com">Simpy Webseite</ulink> tun. Für weitere Informationen über
- das Simpy REST <acronym>API</acronym>, kannst du in der
- <ulink url="http://www.simpy.com/doc/api/rest">Simpy REST <acronym>API</acronym>
- Dokumentation</ulink> nachlesen.
- </para>
- <para>
- Das Simpy REST <acronym>API</acronym> erlaubt es dem Entwickler, mit verschiedenen
- Aspekten des Services, welche die Simpy Webseite bietet, zu interagieren. Diese
- Sektionen zeigen dir, wie man <classname>Zend_Service_Simpy</classname> in jedem dieser
- Bereiche nutzen kann.
- <itemizedlist>
- <listitem>
- <para>
- Links: Erstellen, Laden, Aktualisieren, Löschen
- </para>
- </listitem>
- <listitem>
- <para>
- Tags: Laden, Löschen, Umbenennen, Zusammenfassen, Splitten
- </para>
- </listitem>
- <listitem>
- <para>
- Notes: Erstellen, Laden, Aktualisieren, Löschen
- </para>
- </listitem>
- <listitem>
- <para>
- Watchlists: Holen, Alle holen
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </sect2>
- <sect2 id="zend.service.simpy.links">
- <title>Links</title>
- <para>
- Beim Anfragen von Links, werden diese absteigend nach deren Datum - wann es
- hinzugefügt wurde - sortiert. Es kann nach Links anhand des Titels, des Spitznamens,
- der Tags, der Notizen oder sogar des Inhalts der verknüpften Webseite gesucht werden.
- Simpy erlaubt es, jegliche oder alle dieser Felder mit Phrasen, booleschen
- Operatoren und Wildcards zu durchsuchen. Siehe in den
- <ulink url="http://www.simpy.com/faq#searchSyntax">Suchsyntax</ulink>- und
- <ulink url="http://www.simpy.com/faq#searchFieldsLinks">Suchfelder</ulink>-Sektionen
- der Simipy FAQ für weitere Informationen.
- </para>
- <example id="zend.service.simpy.links.querying">
- <title>Abfragen von Links</title>
- <programlisting language="php"><![CDATA[
- $simpy = new Zend_Service_Simpy('yourusername', 'yourpassword');
- /* Suche nach den 10 letzten hinzugefügten Links */
- $linkQuery = new Zend_Service_Simpy_LinkQuery();
- $linkQuery->setLimit(10);
- /* Holen und darstellen */
- $linkSet = $simpy->getLinks($linkQuery);
- foreach ($linkSet as $link) {
- echo '<a href="';
- echo $link->getUrl();
- echo '">';
- echo $link->getTitle();
- echo '</a><br />';
- }
- /* Suche nach den 5 letzten hinzugefügten Links mit 'PHP'
- im Titel */
- $linkQuery->setQueryString('title:PHP');
- $linkQuery->setLimit(5);
- /* Suche nach allen Links mit 'French' im Titel und
- 'lanuage' in den Tags */
- $linkQuery->setQueryString('+title:French +tags:language');
- /* Suche nach allen Links mit 'French' im Titel und ohne
- 'travel' in den Tags */
- $linkQuery->setQueryString('+title:French -tags:travel');
- /* Suche nach allen Links, die am 9.12.2006 hinzugefügt wurden */
- $linkQuery->setDate('2006-12-09');
- /* Suche nach allen Links, die nach dem 9.12.2006 hinzugefügt wurden (
- das Datum ist nicht eingeschlossen) */
- $linkQuery->setAfterDate('2006-12-09');
- /* Suche nach allen Links, die vom dem 9.12.2006 hinzugefügt wurden (
- das angegebene Datum ist ausgeschlossen) */
- $linkQuery->setBeforeDate('2006-12-09');
- /* Suche nach allen Links, die zwischen dem 1.12.2006 und dem 9.12.2006
- hinzugefügt wurden (die beiden Daten sind dabei ausgeschlossen) */
- $linkQuery->setBeforeDate('2006-12-01');
- $linkQuery->setAfterDate('2006-12-09');
- ]]></programlisting>
- </example>
- <para>
- Links werden eindeutig durch ihren <acronym>URL</acronym> angezeigt. In anderen Worten,
- falls ein Versuch gemacht wird, einen Link zu speichern, der denselben
- <acronym>URL</acronym> hat wie ein bereits existierender Link, werden die Daten des
- alten Links mit den neuen Daten überschrieben.
- </para>
- <example id="zend.service.simpy.links.modifying">
- <title>Modifizieren von Links</title>
- <programlisting language="php"><![CDATA[
- $simpy = new Zend_Service_Simpy('yourusername', 'yourpassword');
- /* Speichern eines link */
- $simpy->saveLink(
- 'Zend Framework' // Titel
- 'http://framework.zend.com', // URL
- Zend_Service_Simpy_Link::ACCESSTYPE_PUBLIC, // Zugriffstyp
- 'zend, framework, php' // Tags
- 'Zend Framework home page' // Alternativer Titel
- 'This site rocks!' // Notiz
- );
- /* Überschreibe den existierenden Link mit neuen Daten */
- $simpy->saveLink(
- 'Zend Framework'
- 'http://framework.zend.com',
- // der Zugriffstyp wurde geändert
- Zend_Service_Simpy_Link::ACCESSTYPE_PRIVATE,
- // Die Reihenfolge der Tags hat sich geändert
- 'php, zend, framework'
- // Alternativer Titel wurde geändert
- 'Zend Framework'
- // Notiz hat sich geändert
- 'This site REALLY rocks!'
- );
- /* Den Link löschen */
- $simpy->deleteLink('http://framework.zend.com');
- /* Ein wirklich einfacher Weg den Frühjahrsputz
- bei deinen Links zu machen ;-) */
- $linkSet = $this->_simpy->getLinks();
- foreach ($linkSet as $link) {
- $this->_simpy->deleteLink($link->getUrl());
- }
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.service.simpy.tags">
- <title>Tags</title>
- <para>
- Wenn die Tags zurückgegeben werden, werden sie in absteigender
- Reihenfolge (d.h. der größte zuerst) nach der Häufigkeit der
- Benutzung durch die Links sortiert.
- </para>
- <example id="zend.service.simpy.tags.working">
- <title>Arbeiten mit Tags</title>
- <programlisting language="php"><![CDATA[
- $simpy = new Zend_Service_Simpy('yourusername', 'yourpassword');
- /* Speicher einen Link mit Tags */
- $simpy->saveLink(
- 'Zend Framework' // Titel
- 'http://framework.zend.com', // URL
- Zend_Service_Simpy_Link::ACCESSTYPE_PUBLIC, // Zugriffstyp
- 'zend, framework, php' // Tags
- );
- /* Hole eine Liste mit allen Tags, die von Links und
- Notizen genutzt werden */
- $tagSet = $simpy->getTags();
- /* Stelle jeden Tag mit der Anzahl der Links, die ihn nutzen, dar */
- foreach ($tagSet as $tag) {
- echo $tag->getTag();
- echo ' - ';
- echo $tag->getCount();
- echo '<br />';
- }
- /* Entferne das 'zend'-Tag von allen Links, die es benutzen */
- $simpy->removeTag('zend');
- /* Nenne das 'framework'-Tag zu 'frameworks' um */
- $simpy->renameTag('framework', 'frameworks');
- /* Splitte das 'frameworks'-Tag in 'framework' und
- 'development' auf. D.h. dass alle Links, die 'frameworks'
- als Tag besitzen, nunmehr stattdessen 'framework' und 'development'
- besitzen */
- $simpy->splitTag('frameworks', 'framework', 'development');
- /* Fasse 'framework' und 'development' wieder zu 'frameworks'
- zusammen; vereinfacht ist es das Gegenteil, ein Tag zu splitten */
- $simpy->mergeTags('framework', 'development', 'frameworks');
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.service.simpy.notes">
- <title>Notizen</title>
- <para>
- Notizen können gespeichert, geladen und gelöscht werden. Sie sind
- eindeutig durch eine numerische ID definiert.
- </para>
- <example id="zend.service.simpy.notes.working">
- <title>Arbeiten mit Notizen</title>
- <programlisting language="php"><![CDATA[
- $simpy = new Zend_Service_Simpy('yourusername', 'yourpassword');
- /* Eine Notiz speichern */
- $simpy->saveNote(
- 'Test Note', // Titel
- 'test,note', // Tags
- 'This is a test note.' // Beschreibung
- );
- /* Eine bereits existierende Notiz überschreiben */
- $simpy->saveNote(
- 'Updated Test Note', // Titel
- 'test,note,updated', // Tags
- 'This is an updated test note.', // Beschreibung
- $note->getId() // Eindeutige ID
- );
- /* Suche nach den 10 letzten hinzugefügten Notizen */
- $noteSet = $simpy->getNotes(null, 10);
- /* Zeige diese Notizen an */
- foreach ($noteSet as $note) {
- echo '<p>';
- echo $note->getTitle();
- echo '<br />';
- echo $note->getDescription();
- echo '<br >';
- echo $note->getTags();
- echo '</p>';
- }
- /* Suche nach allen Notizen mit 'PHP' im Titel */
- $noteSet = $simpy->getNotes('title:PHP');
- /* Suche nach allen Notizen mit 'PHP' im Titel und ohne
- 'framework' in der Beschreibung */
- $noteSet = $simpy->getNotes('+title:PHP -description:framework');
- /* Löschen einer Notiz */
- $simpy->deleteNote($note->getId());
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.service.simpy.watchlists">
- <title>Watchlists</title>
- <para>
- Watchlisten können durch das <acronym>API</acronym> nicht erstellt oder entfernt
- werden, sondern lediglich zurückgegeben. Folglich musst du eine
- Watchlist über die Simpy Webseite erstellen, bevor du diese
- über das <acronym>API</acronym> nutzt.
- </para>
- <example id="zend.service.simpy.watchlists.retrieving">
- <title>Zurückgeben von Watchlisten</title>
- <programlisting language="php"><![CDATA[
- $simpy = new Zend_Service_Simpy('yourusername', 'yourpassword');
- /* Hole eine Liste von allen Watchlisten */
- $watchlistSet = $simpy->getWatchlists();
- /* Zeige die Daten jeder Watchlist an */
- foreach ($watchlistSet as $watchlist) {
- echo $watchlist->getId();
- echo '<br />';
- echo $watchlist->getName();
- echo '<br />';
- echo $watchlist->getDescription();
- echo '<br />';
- echo $watchlist->getAddDate();
- echo '<br />';
- echo $watchlist->getNewLinks();
- echo '<br />';
- foreach ($watchlist->getUsers() as $user) {
- echo $user;
- echo '<br />';
- }
- foreach ($watchlist->getFilters() as $filter) {
- echo $filter->getName();
- echo '<br />';
- echo $filter->getQuery();
- echo '<br />';
- }
- }
- /* Hole eine spezielle Watchlist anhand einer ID */
- $watchlist = $simpy->getWatchlist($watchlist->getId());
- $watchlist = $simpy->getWatchlist(1);
- ]]></programlisting>
- </example>
- </sect2>
- </sect1>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|