<?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>یک طراح وب &#187; pear</title>
	<atom:link href="http://aliha.ir/tag/pear/feed/" rel="self" type="application/rss+xml" />
	<link>http://aliha.ir</link>
	<description>لحظاتی با سی اس اس، جی کوئری و پی اچ پی.</description>
	<lastBuildDate>Sun, 16 Oct 2011 09:19:03 +0000</lastBuildDate>
	<language>fa</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>یک اپلیکیشن ساده و کاربردی با کمک API ِ توییتر بنویسید</title>
		<link>http://aliha.ir/2009/08/20/a-simple-application-with-twitters-api/</link>
		<comments>http://aliha.ir/2009/08/20/a-simple-application-with-twitters-api/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 14:30:41 +0000</pubDate>
		<dc:creator>علیها</dc:creator>
				<category><![CDATA[ای پی آی]]></category>
		<category><![CDATA[توییتر]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[cURL]]></category>
		<category><![CDATA[pear]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[services twitter]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[validate]]></category>
		<category><![CDATA[اپلیکیشن]]></category>
		<category><![CDATA[پی اچ پی]]></category>
		<category><![CDATA[گلابی]]></category>

		<guid isPermaLink="false">http://aliha.ir/?p=1205</guid>
		<description><![CDATA[با توییتر آشنا هستید. در ۱۴۰ کاراکتر، آنچه در اکنون دارد رخ می دهد را می نویسید که به اصطلاح می گوییم داریم توییت می کنیم&#8230; API هم احتمالا می دانید چیست. به زبان ساده، چیزی است که بین نرم افزارها ارتباط ایجاد می کند (Application Programming Interface). حالا بگذریم از این ها. گاهی اوقات ...]]></description>
			<content:encoded><![CDATA[<p>با <a href="http://twitter.com/" target="_blank">توییتر</a> آشنا هستید. در ۱۴۰ کاراکتر، آنچه در اکنون دارد رخ می دهد را می نویسید که به اصطلاح می گوییم داریم توییت می کنیم&#8230;</p>
<p><a href="http://fa.wikipedia.org/wiki/%D8%B1%D8%A7%D8%A8%D8%B7_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%E2%80%8C%D9%86%D9%88%DB%8C%D8%B3%DB%8C_%D9%86%D8%B1%D9%85%E2%80%8C%D8%A7%D9%81%D8%B2%D8%A7%D8%B1" target="_blank">API</a> هم احتمالا می دانید چیست. به زبان ساده، چیزی است که بین نرم افزارها ارتباط ایجاد می کند (Application Programming Interface).</p>
<p>حالا بگذریم از این ها. گاهی اوقات ممکن است به هر دلیلی نتوانید از خود سایت توییتر، توییت بکنید. مواردی مثل فـ.یـ.لـ.تـ.ر شدن از مهم ترین آن هاست. یا حتی ممکن است کلاینت های مورد علاقه تان بعضی وقت ها کار نکنند و یا اصلن شاید دلتان می خواهد یک اپلیکیشن ِ شخصی و با سلیقه و نیاز ِ خودتان داشته باشید.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-1206" title="twitter-app" src="http://aliha.ir/wp-content/uploads/twitter-app.jpg" alt="twitter-app" width="500" height="325" /></p>
<p>خب، <a href="http://apiwiki.twitter.com/" target="_blank">API ِ توییتر</a> که حی و حاضر هست، پی اچ پی هم مثل شیر دارد نگاه مان می کند و سایت ِ <a href="http://pear.php.net/" target="_blank">گلابی</a>(!) هم یک <a href="http://pear.php.net/package/Services_Twitter" target="_blank">افزونه پی اچ پی</a> ِ کامل بر اساس API ِ توییتر، برای توییتر ارائه کرده است. می ماند مخلوط کردن ِ این ها با هم که الان قصد همین کار را داریم. چه می کند اوپن سورس :)</p>
<p>از طریق این اپلیکیشنی که می نویسیم، می توانیم با آن توییت کنیم، بدون اینکه مستقیما با سایت توییتر کاری داشته باشیم.</p>
<h2>قبل از شروع</h2>
<ul>
<li>یک. فرض ِ من بر این است که شما با پی اچ پی تا حدودی آشنا هستید.</li>
<li>دو. مهم ترین پیش نیازتان، دراختیار داشتن یک سرور آپاچی هست.</li>
<li>سه. نسخه ی پی اچ پی ِ نصب شده بر روی سرورتان باید افزونه ی cURL را پشتیبانی کند. برای چگونگی ِ فعال کردن cURL، <a href="http://www.php.net/manual/en/curl.installation.php" target="_blank">اینجا</a> بروید.</li>
<li>چهار. افزونه ی Services Twitter را هم باید نصب کرده باشید (در ادامه، توضیحات لازم در رابطه با نصب Services Twitter را خواهم داد). این افزونه را از سایت گلابی <a href="http://pear.php.net/package/Services_Twitter/download" target="_blank">دریافت کنید</a>. در این مقاله، من از نسخه ی ۰٫۲٫۱ (بتا) استفاده کرده ام.</li>
<li>پنج. گفتن ندارد این که حتما باید یک حساب هم در توییتر داشته باشید :)</li>
</ul>
<p>خب، اگر در رابطه با این ۵ مورد مشکلی ندارید، می توانیم برویم سراغ مرحله ی بعدی.</p>
<h2>نصب Services Twitter</h2>
<p><img class="size-full wp-image-1210 alignleft" title="twitter-files-and-folders-directory" src="http://aliha.ir/wp-content/uploads/twitter-files-and-folders-directory.png" alt="twitter-files-and-folders-directory" width="177" height="311" />پکیج ِ Services Twitter را که دریافت کردید، ابتدا پوشه ی Services را در مسیر اصلی اپلیکیشن کپی کنید.<br />
فایل twitter.php را به twitter-class.php تغییرنام دهید و در مسیر اصلی اپلیکیشن کپی کنید.<br />
وجود یا عدم ِ وجود ِ پوشه ی tests هم مهم نیست. در آن، نمونه های مختلف برای امکانات دیگر وجود دارد که می توانید از آن ها برای توسعه ی این اپلیکیشن استفاده کنید. یعنی چیزی بیشتر از فقط ارسال توییت!</p>
<p>به جز این ها، به پکیج <a href="http://pear.php.net/package/Validate/" target="_blank">Validate</a> هم نیاز داریم. از <a href="http://pear.php.net/package/Validate/download" target="_blank">اینجا</a> دریافت کنید. پوشه ی docs و فایل validate.php را در مسیر اصلی اپلیکیشن قرار دهید. با مابقی ِ محتویات ِ پکیج ِ Validate هم کاری نداریم.</p>
<p>در آخر باید ساختار ِ فایل ها و پوشه ها چیزی شبیه به تصویر ِ کناری شود.</p>
<p><strong>فراموش نشود:</strong> آدرس هایی که در فایل های twitter-class.php، common.php و sample_multiple.php فراخوانی شده اند، به بررسی و ویرایش نیاز دارند.</p>
<h2>طراحی محیط اپلیکیشن</h2>
<p>حالا باید در مسیر اصلی اپلیکیشن، یک فایل با نام index.php بسازید و با ادیتورتان بازش کنید و کدهای زیر را در آن قرار دهید:</p>
<pre class="brush: php;">
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;توییت توییت...&lt;/title&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;style.css&quot; type=&quot;text/css&quot; media=&quot;all&quot; /&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id=&quot;content&quot;&gt;
&lt;h1&gt;&lt;a href=&quot;/index.php&quot;&gt;&lt;img src=&quot;logo.png&quot; border=&quot;0&quot; alt=&quot;توییت توییت...&quot; title=&quot;&quot; /&gt;&lt;/a&gt;&lt;/h1&gt;

    &lt;?php
    if (!isset($_POST['submit'])) {
    ?&gt;
&lt;form method=&quot;post&quot; action=&quot;&lt;?php echo htmlentities($_SERVER['PHP_SELF']); ?&gt;&quot;&gt;
&lt;label&gt;یوز:&lt;/label&gt; &lt;br/&gt;
&lt;input class=&quot;user&quot; type=&quot;text&quot; name=&quot;user&quot; /&gt;&lt;br/&gt;
&lt;label&gt;پسورد:&lt;/label&gt; &lt;br/&gt;
&lt;input class=&quot;pass&quot; type=&quot;password&quot; name=&quot;pass&quot; /&gt;&lt;br/&gt;
&lt;label&gt;چی کار می کنی؟&lt;/label&gt; &lt;br/&gt;
&lt;textarea class=&quot;message&quot; name=&quot;status&quot; cols=&quot;15&quot;&gt;&lt;/textarea&gt;&lt;br/&gt;
&lt;center&gt;&lt;input class=&quot;submit&quot; type=&quot;submit&quot; name=&quot;submit&quot; value=&quot;توییت&quot; /&gt;&lt;/center&gt;
&lt;/form&gt;
    &lt;?php
    } else {
      // include class
      include_once 'twitter-class.php';
      try {
        // read form input
        $user = $_POST['user'];
        $pass = $_POST['pass'];
        $status = $_POST['status'];

        // initialize service object
        $service = new Services_Twitter($user, $pass);
        // update status
        $service-&gt;statuses-&gt;update($status);
        // perform logout
        $service-&gt;account-&gt;end_session();
        echo 'توییت شد!';
      } catch (Exception $e) {
        die('اوپس: ' . $e-&gt;getMessage());
      }
    }
    ?&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;p style=&quot;direction: ltr; text-align: left;&quot;&gt;created by &lt;a href=&quot;http://aliha.ir/&quot; target=&quot;_blank&quot;&gt;Aliha&lt;/a&gt; | &lt;a href=&quot;http://twitter.com/alihaa&quot; target=&quot;_blank&quot;&gt;follow me on twitter&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>در همان مسیر اصلی، یک فایل style.css هم بسازید و دستورات سی اس اس زیر را در آن قرار دهید:</p>
<pre class="brush: css;">
body {
background: #e8fbff url(bg.jpg) no-repeat left top;
color: #666;
}
a {
color: #0CC;
}
#content {
direction: rtl;
font: 12px Tahoma;
margin: 0 auto;
width: 294px;
}
h1 {
font: bold 23px Arial;
color: #0CF;
}
form input.user, form input.pass {
width: 190px;
background-color: #fafafa;
border: 1px solid #ebebeb;
margin: 3px 0 8px 0;
font: 12px Tahoma;
color: #666;
direction: ltr;
}
form input.user:focus, form input.pass:focus {
background-color: #fcffff;
border: 1px solid #41efff;
color: #666;
}
form textarea.message {
width: 250px;
height: 100px;
background-color: #fafafa;
border: 1px solid #ebebeb;
margin: 5px 0 8px 0;
font: 12px Tahoma;
color: #666;
}
form textarea.message:focus {
background-color: #fcffff;
border: 1px solid #41efff;
color: #666;
}
form input.submit {
background-color: #07d7f6;
font: 12px Tahoma;
width: 80px;
height: 25px;
color: #fff;
cursor: pointer;
border: none;
}
form input.submit:hover {
background-color: #43e6fe;
}
form input.submit:focus {
background-color: #ff6d25;
}
label {
color: #666;
}
</pre>
<p>حالا آدرس ِ اپلیکیشن را در مرورگر وارد می کنیم تا نتیجه را ببینیم.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-1207" title="twitter-app-index" src="http://aliha.ir/wp-content/uploads/twitter-app-index.jpg" alt="twitter-app-index" width="476" height="379" /></p>
<p>نام کاربری توییتری و رمزعبور را وارد می کنیم و توییت ِ موردنظر را هم می نویسیم و روی توییت کلیک می کنیم:</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-1208" title="twitter-app-success" src="http://aliha.ir/wp-content/uploads/twitter-app-success.jpg" alt="twitter-app-success" width="482" height="260" /></p>
<p>توییت ارسال شده است! حالا می رویم ببینیم اپلیکیشن مان واقعا کار می کند و راست می گوید یا سرکار گذاشته است ما را :)</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-1209" title="twitter-twitt-scrshot" src="http://aliha.ir/wp-content/uploads/twitter-twitt-scrshot.jpg" alt="twitter-twitt-scrshot" width="612" height="276" /></p>
<p>این طور که معلوم است، مثل اینکه کار می کند. خب کارمان دیگر تمام شده است.</p>
<p>می توانید این اپلیکیشن را آماده و بی نقص دریافت کنید، یعنی مراحل ِ بالا دیگر فِرت :)<br />
نمونه ی آن را هم <a href="http://www.aliha.ir/app/twitter/" target="_blank">اینجا</a> می توانید ببینید.</p>
<p style="text-align: center;"><a href="http://aliha.ir/download/api/twitter-application.zip"><img class="no-border" title="Download" src="http://aliha.ir/wp-content/uploads/download-zips.jpg" alt="download-zips" width="298" height="174" /></a></p>
<ul class="related_post">
<li><a href="http://aliha.ir/2009/09/30/a-simple-friendfeed-application-with-api-and-php/" title="کمی API ِ فرندفید، کمی PHP، یک اپلیکیشن ِ کوچولو موچولو!">کمی API ِ فرندفید، کمی PHP، یک اپلیکیشن ِ کوچولو موچولو!</a></li>
<li><a href="http://aliha.ir/2010/08/13/imified/" title="رُبات‌های تحت وب درخدمت شما هستند!">رُبات‌های تحت وب درخدمت شما هستند!</a></li>
<li><a href="http://aliha.ir/2010/12/29/hyperterminal-jquery-ajax-and-php/" title="ای‌جکس بازی » به‌یاد هایپرترمینال">ای‌جکس بازی » به‌یاد هایپرترمینال</a></li>
<li><a href="http://aliha.ir/2010/11/26/mobile-detection-with-php/" title="تشخیص پلتفرم‌های مختلف با پی اچ پی">تشخیص پلتفرم‌های مختلف با پی اچ پی</a></li>
<li><a href="http://aliha.ir/2010/10/31/video-tutorial-get-started-with-codeigniter/" title="آموزش ویدئویی » شروع کار با CodeIgniter">آموزش ویدئویی » شروع کار با CodeIgniter</a></li>
</ul>
<div style="direction: rtl;">
<a href="http://aliha.ir/2009/08/20/a-simple-application-with-twitters-api/#comments">43 دیدگاه</a> | 
فرستادن به: <a title="Bookmark in del.icio.us" href="http://del.icio.us/post?url=http://aliha.ir/2009/08/20/a-simple-application-with-twitters-api/&title=یک اپلیکیشن ساده و کاربردی با کمک API ِ توییتر بنویسید">del.icio.us</a>
<hr />
<p align="center"><a href="http://www.irsaweb.com/"><img src="http://aliha.ir/images/irsaweb-small.png" alt="ایرساوب" /></a></p>
</div>]]></content:encoded>
			<wfw:commentRss>http://aliha.ir/2009/08/20/a-simple-application-with-twitters-api/feed/</wfw:commentRss>
		<slash:comments>43</slash:comments>
		</item>
	</channel>
</rss>

