Zend_Service_ShortUrl.xml 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <sect1 id="zend.service.short-url">
  4. <title>Zend_Service_ShortUrl</title>
  5. <sect2 id="zend.service.short-url.intro">
  6. <title>Overview</title>
  7. <para>
  8. URL shorteners have exploded in popularity in the last several years, in large part due
  9. to the social nature of the web and the desire to share links.
  10. <classname>Zend_Service_ShortUrl</classname> provides an API for accessing a number of
  11. different URL shortener services, with the ability to both create short URLs as well as
  12. retrieve the original URL.
  13. </para>
  14. <para>
  15. Adapters provided include:
  16. </para>
  17. <itemizedlist>
  18. <listitem>
  19. <para>
  20. <classname>Zend_Service_ShortUrl_JdemCz</classname>, which accesses the <ulink
  21. url="http://jdem.cz/">jdem.cz</ulink> service.
  22. </para>
  23. </listitem>
  24. <listitem>
  25. <para>
  26. <classname>Zend_Service_ShortUrl_TinyUrlCom</classname>, which accesses the <ulink
  27. url="http://tinyurl.com">tinyurl.com</ulink> service.
  28. </para>
  29. </listitem>
  30. <listitem>
  31. <para>
  32. <classname>Zend_Service_ShortUrl_MetamarkNet</classname>, which accesses the <ulink
  33. url="http://metamark.net/">metamark.net</ulink> service.
  34. </para>
  35. </listitem>
  36. <listitem>
  37. <para>
  38. <classname>Zend_Service_ShortUrl_IsGd</classname>, which accesses the <ulink
  39. url="http://is.gd">is.gd</ulink> service.
  40. </para>
  41. </listitem>
  42. </itemizedlist>
  43. </sect2>
  44. <sect2 id="zend.service.short-url.quick-start">
  45. <title>Quick Start</title>
  46. <para>
  47. Using one of the URL shortener services is straightforward. Each URL shortener follows a
  48. simple interface that defines two methods: <methodname>shorten()</methodname> and
  49. <methodname>unshorten()</methodname>. Instantiate the class, and call the appropriate
  50. method.
  51. </para>
  52. <programlisting language="php"><![CDATA[
  53. $tinyurl = new Zend_Service_ShortUrl_TinyUrlCom();
  54. // Shorten a URL:
  55. $short = $tinyurl->shorten('http://framework.zend.com/'); // http://tinyurl.com/rxtuq
  56. // Inflate or unshorten a short URL:
  57. $long = $tinyurl->unshorten('http://tinyurl.com/rxtuq'); // http://framework.zend.com/
  58. ]]></programlisting>
  59. </sect2>
  60. <sect2 id="zend.service.short-url.methods">
  61. <title>Available Methods</title>
  62. <variablelist>
  63. <varlistentry id="zend.service.short-url.methods.shorten">
  64. <term>
  65. <methodsynopsis>
  66. <methodname>shorten</methodname>
  67. <methodparam>
  68. <funcparams>$url</funcparams>
  69. </methodparam>
  70. </methodsynopsis>
  71. </term>
  72. <listitem>
  73. <para>
  74. Takes the given <varname>$url</varname> and passes it to the service in
  75. order to obtain a shortened URL.
  76. </para>
  77. <para>
  78. If the provided <varname>$url</varname> is invalid, an exception will be
  79. raised.
  80. </para>
  81. </listitem>
  82. </varlistentry>
  83. <varlistentry id="zend.service.short-url.methods.unshorten">
  84. <term>
  85. <methodsynopsis>
  86. <methodname>unshorten</methodname>
  87. <methodparam>
  88. <funcparams>$shortenedUrl</funcparams>
  89. </methodparam>
  90. </methodsynopsis>
  91. </term>
  92. <listitem>
  93. <para>
  94. Takes the provided <varname>$shortenedUrl</varname> and passes it to the
  95. service in order to obtain the original URL.
  96. </para>
  97. <para>
  98. If the provided <varname>$shortenedUrl</varname> is invalid, an exception
  99. will be raised.
  100. </para>
  101. </listitem>
  102. </varlistentry>
  103. <varlistentry id="zend.service.short-url.methods.set-http-client">
  104. <term>
  105. <methodsynopsis>
  106. <methodname>setHttpClient</methodname>
  107. <methodparam>
  108. <funcparams>Zend_Http_Client $httpClient</funcparams>
  109. </methodparam>
  110. </methodsynopsis>
  111. </term>
  112. <listitem>
  113. <para>
  114. Use this method to set the HTTP client used for communicating with the
  115. service.
  116. </para>
  117. </listitem>
  118. </varlistentry>
  119. <varlistentry id="zend.service.short-url.methods.get-http-client">
  120. <term>
  121. <methodsynopsis>
  122. <methodname>getHttpClient</methodname>
  123. <methodparam>
  124. <funcparams></funcparams>
  125. </methodparam>
  126. </methodsynopsis>
  127. </term>
  128. <listitem>
  129. <para>
  130. Use this method to access the HTTP client attached to the service. By
  131. default, this will lazy-load an instance of
  132. <classname>Zend_Http_Client</classname> if no client is yet attached.
  133. </para>
  134. </listitem>
  135. </varlistentry>
  136. </variablelist>
  137. </sect2>
  138. </sect1>