34.7. Zend_Service_Simpy

34.7.1. µµÀÔ

Zend_Service_Simpy (Àº)´Â, ¼Ò¼Èl ºÏ¸¶Å© ¼­ºñ½ºÀÌ´Ù Simpy ¿ë¹«ÀÇ ÇÁ¸®ÀÎ REST API ÀÇ, °æ·®ÀÎ ·¡ÆÛÀÔ´Ï´Ù.

Zend_Service_Simpy (À»)¸¦ »ç¿ëÇÏ·Á¸é Simpy ¾îÄ«¿îÆ®°¡ ÇÊ¿äÇÕ´Ï´Ù.¾îÄ«¿îÆ®¸¦ ÃëµæÇÏ·Á¸é , Simpy ÀÇ À¥ »çÀÌÆ® ¿¡ »ð´Ï´Ù. Simpy REST API ¿¡ ´ëÇÑ »ó¼¼ÇÑ Á¤º¸´Â Simpy REST API ¹®¼­ (À»)¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ.

Simpy REST API (À»)¸¦ »ç¿ëÇϸé,Simpy ÀÇ À¥ »çÀÌÆ®°¡ Á¦°øÇÏ´Â ¼­ºñ½º¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌÇÏÀÇ ¸¶µð´Â,Zend_Service_Simpy ±×¸®°í ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ±â´ÉÀÇ °³¿ä¸¦ Áý°èÇÑ °ÍÀÔ´Ï´Ù.

  • ¸µÅ©: ÀÛ¼º, Ãëµæ, °»½Å, »èÁ¦

  • ű×: Ãëµæ, »èÁ¦, À̸§ÀÇ º¯°æ, ÅëÇÕ, ºÐÇÒ

  • ¸Þ¸ð: ÀÛ¼º, Ãëµæ, °»½Å, »èÁ¦

  • ¿öÄ¡ ¸®½ºÆ®: Ãëµæ, ¸ðµç °ÍÀ» Ãëµæ

34.7.2. ¸µÅ©

¸µÅ©¸¦ ¹®ÀÇÇϸé, µî·ÏÀÏÀÇ ³»¸²Â÷¼øÀ¸·Î °á°ú°¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù. ¸µÅ©ÀÇ °Ë»öÀº, ŸÀÌÆ²À̳ª ´Ð³×ÀÓ, ű×, ¸Þ¸ð ±×¸®°í ¸µÅ©¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ¾ú´ø À¥ÆäÀÌÁöÀÇ ³»¿ë¿¡ ÀǰÅÇØ ½Ç½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù. Simpy ÀÇ °Ë»öÀº, ÀÌ·¯ÇÑ ÇʵåÀÇ ¾ðÁ¨°¡ ȤÀº ¸ðµç °ÍÀ» ´ë»óÀ¸·Î ÇÁ·¹ÀÌÁ ³í¸® ¿¬»êÀÚ, ¿ÍÀϵå Ä«µå¸¦ »ç¿ëÇØ ½Ç½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù. »ó¼¼ÇÑ Á¤º¸´Â,Simpy FAQ ÀÇ °Ë»ö ±¸¹® (ÀÌ)³ª °Ë»ö ÇÊµå ±×·¸´Ù°í ÇÏ´Â ¸¶µð¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ.

·Ê 34.30. ¸µÅ©ÀÇ ¹®ÀÇ


<?php
require_once 'Zend/Service/Simpy.php';
$simpy = new Zend_Service_Simpy('´ç½ÅÀÇ À¯Àú¸í''´ç½ÅÀÇ ÆÐ½º¿öµå');

/* ¹Ù·Î ¿·¿¡ Ãß°¡µÇ¾ú´Ù 10 °ÇÀÇ ¸µÅ©¸¦ ã½À´Ï´Ù */
$linkQuery = new Zend_Service_Simpy_LinkQuery();
$linkQuery->setLimit(10);

/* ¸µÅ©¸¦ ÃëµæÇØ, Ç¥½ÃÇÕ´Ï´Ù */
$linkSet $simpy->getLinks($linkQuery);
foreach (
$linkSet as $link) {
    echo 
'<a href="';
    echo 
$link->getUrl();
    echo 
'">';
    echo 
$link->getTitle();
    echo 
'</a><br />';
}

/* ¹Ù·Î ¿·¿¡ Ãß°¡µÈ ¸µÅ© °¡¿îµ¥, ŸÀÌÆ²¿¡ 'PHP' ÇÏÁö¸¸ Æ÷ÇԵǴ °ÍÀ»
   5 °Ç±îÁö ã½À´Ï´Ù */
$linkQuery->setQueryString('title:PHP');
$linkQuery->setLimit(5);

/* Å¸ÀÌÆ²¿¡ 'French', ű׿¡ 'language' ÇÏÁö¸¸ Æ÷ÇԵȴÙ
   ¸ðµç ¸µÅ©¸¦ ã½À´Ï´Ù */
$linkQuery->setQueryString('+title:French +tags:language');

/* Å¸ÀÌÆ²¿¡ 'French' (À»)¸¦ Æ÷ÇÔÇØ, ű׿¡ 'travel' (À»)¸¦ Æ÷ÇÔÇÏÁö ¾Ê´Â´Ù
   ¸ðµç ¸µÅ©¸¦ ã½À´Ï´Ù */
$linkQuery->setQueryString('+title:French -tags:travel');

/* 2006/12/09 ¿¡ Ãß°¡µÈ ¸ðµç ¸µÅ©¸¦ ã½À´Ï´Ù */
$linkQuery->setDate('2006-12-09');

/* 2006/12/09 º¸´Ù ÈÄ (±× ³¯À» Æ÷ÇÔÇÏÁö ¾Ê´Â´Ù) ¿¡ Ãß°¡µÇ¾ú´Ù
   ¸ðµç ¸µÅ©¸¦ ã½À´Ï´Ù */
$linkQuery->setAfterDate('2006-12-09');

/* 2006/12/09 º¸´Ù Àü (±× ³¯À» Æ÷ÇÔÇÏÁö ¾Ê´Â´Ù) ¿¡ Ãß°¡µÇ¾ú´Ù
   ¸ðµç ¸µÅ©¸¦ ã½À´Ï´Ù */
$linkQuery->setBeforeDate('2006-12-09');

/* 2006/12/01 (À¸)·ÎºÎÅÍ 2006/12/09 (¾ç´ÜÀÇ ³¯À» Æ÷ÇÔÇÏÁö ¾Ê´Â´Ù) ¿¡ Ãß°¡µÇ¾ú´Ù
   ¸ðµç ¸µÅ©¸¦ ã½À´Ï´Ù */
$linkQuery->setBeforeDate('2006-12-01');
$linkQuery->setAfterDate('2006-12-09');

¸µÅ©ÀÇ ½Äº°Àº,URL ¿¡ ÀÇÇØ¼­ ½Ç½ÃÇÕ´Ï´Ù.¹Ù²Ù¾î ¸»Çϸé, ±âÁ¸ÀÇ ¸µÅ©¿Í °°´Ù URL ÀÇ ¸µÅ©¸¦ º¸Á¸ÇÏ·Á°í ÇÏ¸é ±âÁ¸ÀÇ ¸µÅ©°¡ »õ·Î¿î µ¥ÀÌÅÍ·Î µ¡¾²±âµÇ´Â °ÍÀÔ´Ï´Ù.

·Ê 34.31. ¸µÅ©ÀÇ º¯°æ


<?php
require_once 'Zend/Service/Simpy.php';
$simpy = new Zend_Service_Simpy('´ç½ÅÀÇ À¯Àú¸í''´ç½ÅÀÇ ÆÐ½º¿öµå');

/* ¸µÅ©¸¦ º¸Á¸ÇÕ´Ï´Ù */
$simpy->saveLink(
    
'Zend Framework' // Å¸ÀÌÆ²
    
'http://framework.zend.com'// URL
    
Zend_Service_Simpy_Link::ACCESSTYPE_PUBLIC// ¾×¼¼½º Çü½Ä
    
'zend, framework, php' // Å±×
    
'Zend Framework home page' // ´Ù¸¥ ŸÀÌÆ²
    
'This site rocks!' // ¸Þ¸ð
);

/* ±âÁ¸ÀÇ ¸µÅ©¸¦ »õ·Î¿î µ¥ÀÌÅÍ·Î µ¡¾²±âÇÕ´Ï´Ù */
$simpy->saveLink(
    
'Zend Framework'
    'http://framework.zend.com'
,
    
Zend_Service_Simpy_Link::ACCESSTYPE_PRIVATE// ¾×¼¼½º Çü½ÄÀ» º¯°æÇß½À´Ï´Ù
    
'php, zend, framework' // Å±×ÀÇ Â÷·Ê¸¦ º¯°æÇß½À´Ï´Ù
    
'Zend Framework' // ´Ù¸¥ ŸÀÌÆ²À» º¯°æÇß½À´Ï´Ù
    
'This site REALLY rocks!' // ¸Þ¸ð¸¦ º¯°æÇß½À´Ï´Ù
);

/* ¸µÅ©¸¦ »èÁ¦ÇÕ´Ï´Ù */
$simpy->deleteLink('http://framework.zend.com');

/* ´ç½Å ¸µÅ©¸¦ ´ëû¼Ò ÇÏ´Â °£´ÜÇÑ ¹æ¹ý (^o^) */
$linkSet $this->_simpy->getLinks();
foreach (
$linkSet as $link) {
    
$this->_simpy->deleteLink($link->getUrl());
}

34.7.3. ű×

Ãëµæ½Ã¿¡, ±× ű׸¦ »ç¿ëÇϰí ÀÖ´Â ¸µÅ©¼öÀÇ ³»¸²Â÷¼ø (¸¹Àº °ÍÀÌ ¾Õ) ±×¸®°í űװ¡ ´Ã¾î³õ¾Æ ¹Ù²Ü ¼ö ÀÖ½À´Ï´Ù.

·Ê 34.32. ű×ÀÇ Ã³¸®


<?php
require_once 'Zend/Service/Simpy.php';
$simpy = new Zend_Service_Simpy('´ç½ÅÀÇ À¯Àú¸í''´ç½ÅÀÇ ÆÐ½º¿öµå');

/* ÅÂ±× µ¹ÃâÇØ ¸µÅ©¸¦ º¸Á¸ÇÕ´Ï´Ù */
$simpy->saveLink(
    
'Zend Framework' // Å¸ÀÌÆ²
    
'http://framework.zend.com'// URL
    
Zend_Service_Simpy_Link::ACCESSTYPE_PUBLIC// ¾×¼¼½º Çü½Ä
    
'zend, framework, php' // Å±×
);

/* ¸µÅ© ¹× ¸Þ¸ð·Î »ç¿ëÇϰí ÀÖ´Â ¸ðµç ű×ÀÇ À϶÷À» ÃëµæÇÕ´Ï´Ù */
$tagSet $simpy->getTags();

/* °¢ ÅÂ±×¿Í ±×°ÍÀ» »ç¿ëÇϰí ÀÖ´Â ¸µÅ©¼ö¸¦ Ç¥½ÃÇÕ´Ï´Ù */
foreach ($tagSet as $tag) {
    echo 
$tag->getTag();
    echo 
' - ';
    echo 
$tag->getCount();
    echo 
'<br />';
}

/* 'zend' Å±׸¦ »ç¿ëÇϰí ÀÖ´Â ¸ðµç ¸µÅ©·ÎºÎÅÍ, ±× ű׸¦ »èÁ¦ÇÕ´Ï´Ù */
$simpy->removeTag('zend');

/* 'framework' Å±×ÀÇ À̸§À» 'frameworks' (À¸)·Î º¯°æÇÕ´Ï´Ù */
$simpy->renameTag('framework''frameworks');

/* 'frameworks' Å±׸¦ 'framework' ¹×
'development' ¿¡ ºÐÇÒÇÕ´Ï´Ù.Áï,'frameworks' Å±׸¦
»ç¿ëÇϰí ÀÖ´Â ¸ðµç ¸µÅ©·ÎºÎÅÍ ÀÌ Å±׸¦ »èÁ¦ÇØ,'framework'
¹× 'development' (À»)¸¦ ±×·¯ÇÑ ¸µÅ©¿¡ Ãß°¡ÇÕ´Ï´Ù */
$simpy->splitTag('frameworks''framework''development');

/* 'framework' ¹× 'development' ÀÇ µÎ ű׸¦
'frameworks' ¿¡ ÅëÇÕÇÕ´Ï´Ù.À̰ÍÀº ºÐÇÒÀÇ ¹Ý´ëÀÇ ÀÛ¾÷ÀÔ´Ï´Ù */
$simpy->mergeTags('framework''development''frameworks');

34.7.4. ¸Þ¸ð

¸Þ¸ðÀÇ º¸Á¸, Ãëµæ ¹× »èÁ¦°¡ °¡´ÉÇÕ´Ï´Ù. ¸Þ¸ð´Â, ¼öÄ¡ ID ¿¡ ÀÇÇØ¼­ ½Äº°µË´Ï´Ù.

·Ê 34.33. ¸Þ¸ðÀÇ Ãë±Þ


<?php
require_once 'Zend/Service/Simpy.php';
$simpy = new Zend_Service_Simpy('´ç½ÅÀÇ À¯Àú¸í''´ç½ÅÀÇ ÆÐ½º¿öµå');

/* ¸Þ¸ð¸¦ º¸Á¸ÇÕ´Ï´Ù */
$simpy->saveNote(
    
'Test Note'// Å¸ÀÌÆ²
    
'test,note'// Å±×
    
'This is a test note.' // ¼³¸í
);

/* ±âÁ¸ÀÇ ¸Þ¸ð¸¦ µ¡¾²±âÇÕ´Ï´Ù */
$simpy->saveNote(
    
'Updated Test Note'// Å¸ÀÌÆ²
    
'test,note,updated'// Å±×
    
'This is an updated test note.'// ¼³¸í
    
$note->getId() // ÀÏÀÇÀΠID
);

/* ¹Ù·Î ¿·¿¡ Ãß°¡µÇ¾ú´Ù 10 °ÇÀÇ ¸Þ¸ð¸¦ ã½À´Ï´Ù */
$noteSet $simpy->getNotes(null10);

/* ¸Þ¸ð¸¦ Ç¥½ÃÇÕ´Ï´Ù */
foreach ($noteSet as $note) {
    echo 
'<p>';
    echo 
$note->getTitle();
    echo 
'<br />';
    echo 
$note->getDescription();
    echo 
'<br >';
    echo 
$note->getTags();
    echo 
'</p>';
}

/* Å¸ÀÌÆ²¿¡ 'PHP' ÇÏÁö¸¸ Æ÷ÇԵǴ ¸ðµç ¸Þ¸ð¸¦ ã½À´Ï´Ù */
$noteSet $simpy->getNotes('title:PHP');

/* Å¸ÀÌÆ²¿¡ 'PHP' ÇÏÁö¸¸ Æ÷ÇÔµÇ¾î ¼³¸í¿¡ 'framework' ÇÏÁö¸¸ Æ÷ÇÔµÇÁö ¾Ê´Â´Ù
   ¸ðµç ¸Þ¸ð¸¦ ã½À´Ï´Ù */
$noteSet $simpy->getNotes('+title:PHP -description:framework');

/* ¸Þ¸ð¸¦ »èÁ¦ÇÕ´Ï´Ù */
$simpy->deleteNote($note->getId());

34.7.5. ¿öÄ¡ ¸®½ºÆ®

¿öÄ¡ ¸®½ºÆ®´Â,API (À»)¸¦ ÀÌ¿ëÇØ ÀÛ¼ºÇϰųª »èÁ¦Çϰųª ÇÒ ¼ö ¾ø½À´Ï´Ù. Ãëµæ¸¸ÀÌ °¡´ÉÇÕ´Ï´Ù.µû¶ó¼­,API (À»)¸¦ »ç¿ëÇØ ¾×¼¼½º Çϱâ Àü¿¡´Â Simpy ÀÇ À¥ »çÀÌÆ®¿¡¼­ ¿öÄ¡ ¸®½ºÆ®¸¦ ÀÛ¼ºÇØ µÑ Çʿ䰡 ÀÖ½À´Ï´Ù.

·Ê 34.34. ¿öÄ¡ ¸®½ºÆ®ÀÇ Ãëµæ


<?php
require_once 'Zend/Service/Simpy.php';
$simpy = new Zend_Service_Simpy('´ç½ÅÀÇ À¯Àú¸í''´ç½ÅÀÇ ÆÐ½º¿öµå');

/* ¸ðµç ¿öÄ¡ ¸®½ºÆ®ÀÇ À϶÷À» ÃëµæÇÕ´Ï´Ù */
$watchlistSet $simpy->getWatchlists();

/* °¢ ¿öÄ¡ ¸®½ºÆ®ÀÇ µ¥ÀÌÅ͸¦ Ç¥½ÃÇÕ´Ï´Ù */
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 />';
    }
}

/* °³°³ÀÇ ¿öÄ¡ ¸®½ºÆ®¸¦,ID (À»)¸¦ ÁöÁ¤ÇØ ÃëµæÇÕ´Ï´Ù */
$watchlist $simpy->getWatchlist($watchlist->getId());
$watchlist $simpy->getWatchlist(1);