<?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; التخزين،المؤقت،واشكال،التعبير،العاديه،شرح،برمجه،دروس،احتراف</title>
	<atom:link href="http://portal.fwasl.com/tag/%d8%a7%d9%84%d8%aa%d8%ae%d8%b2%d9%8a%d9%86%d8%8c%d8%a7%d9%84%d9%85%d8%a4%d9%82%d8%aa%d8%8c%d9%88%d8%a7%d8%b4%d9%83%d8%a7%d9%84%d8%8c%d8%a7%d9%84%d8%aa%d8%b9%d8%a8%d9%8a%d8%b1%d8%8c%d8%a7%d9%84%d8%b9/feed/" rel="self" type="application/rss+xml" />
	<link>http://portal.fwasl.com</link>
	<description></description>
	<lastBuildDate>Wed, 16 Oct 2019 18:49:35 +0000</lastBuildDate>
	<language>ar</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=3.9.40</generator>
	<item>
		<title>YQL والتخزين المؤقت وأشكال التعبير العادية</title>
		<link>http://portal.fwasl.com/yql-%d9%88%d8%a7%d9%84%d8%aa%d8%ae%d8%b2%d9%8a%d9%86-%d8%a7%d9%84%d9%85%d8%a4%d9%82%d8%aa-%d9%88%d8%a3%d8%b4%d9%83%d8%a7%d9%84-%d8%a7%d9%84%d8%aa%d8%b9%d8%a8%d9%8a%d8%b1-%d8%a7%d9%84%d8%b9%d8%a7%d8%af/</link>
		<comments>http://portal.fwasl.com/yql-%d9%88%d8%a7%d9%84%d8%aa%d8%ae%d8%b2%d9%8a%d9%86-%d8%a7%d9%84%d9%85%d8%a4%d9%82%d8%aa-%d9%88%d8%a3%d8%b4%d9%83%d8%a7%d9%84-%d8%a7%d9%84%d8%aa%d8%b9%d8%a8%d9%8a%d8%b1-%d8%a7%d9%84%d8%b9%d8%a7%d8%af/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 14:18:40 +0000</pubDate>
		<dc:creator><![CDATA[مدهش]]></dc:creator>
				<category><![CDATA[php & mysql]]></category>
		<category><![CDATA[التخزين،المؤقت،واشكال،التعبير،العاديه،شرح،برمجه،دروس،احتراف]]></category>

		<guid isPermaLink="false">http://www.portal.fwasl.com/?p=7584</guid>
		<description><![CDATA[الخطوة 1 : YQL قبل أن تبدأ بالتخزين المؤقت ، نحن بحاجة الى بعض البيانات للعمل مع YQL تقوم بجلب البيانات من مجموعة متنوعة من APIs . فهي تقدم مجموعه من الجداول المختلفه مثل: كيف تقوم بإستخدام YQL مع PHP : وهناك مجموعة متنوعة من الأساليب التي تسمح لنا الاستعلام API YQL مع PHP. لهذا ...]]></description>
				<content:encoded><![CDATA[<p style="text-align: center;"><strong>الخطوة 1 : YQL</strong><br />
قبل أن تبدأ بالتخزين المؤقت ، نحن بحاجة الى بعض البيانات للعمل مع YQL تقوم بجلب البيانات من مجموعة متنوعة من APIs .<br />
فهي تقدم مجموعه من الجداول المختلفه مثل:</p>
<p style="text-align: center;"><a href="http://www.portal.fwasl.com/wp-content/uploads/119.png"><img class="alignnone size-thumbnail wp-image-7592" title="1" src="http://www.portal.fwasl.com/wp-content/uploads/119-150x150.png" alt="" width="150" height="150" /></a></p>
<p style="text-align: center;"><strong>كيف تقوم بإستخدام YQL مع PHP :<br />
</strong><br />
وهناك مجموعة متنوعة من الأساليب التي تسمح لنا الاستعلام API YQL مع PHP. لهذا سنستخدم file_get_contents .</p>
<p style="text-align: center;"><a href="http://www.portal.fwasl.com/wp-content/uploads/215.png"><img class="alignnone size-thumbnail wp-image-7593" title="2" src="http://www.portal.fwasl.com/wp-content/uploads/215-150x69.png" alt="" width="150" height="69" /></a></p>
<p style="text-align: center;">الخطوة الأولى هي أن تعلن لدينا SQL (من نوع) الاستعلام.</p>
[html]
$yql = &quot;select * from twitter.search where q=&#8217;nettuts&#8217;&quot;;<br />
[/html]
<p style="text-align: center;">
والأن نقوم بإعداد المسار إلى YQL.</p>
[html]
$query = &quot;http://query.yahooapis.com/v1/public/yql?q=&quot;;<br />
$query .= urlencode($yql);<br />
$query .= &quot;&amp;format=json&amp;env=store://datatables.org/alltableswithkeys&quot;;<br />
[/html]
<p style="text-align: center;"><strong>الحصول على المحتويات<br />
</strong><br />
المتغير يسبقه $ عند الاستعلام، ويحتوي على مسار YQL الكامل. وسوف يعاد تمرير هذا المتغير الي file_get_contents PHP.</p>
[html]
$tweets = file_get_contents($query, true);<br />
[/html]
<p style="text-align: center;"><strong>عرض التويت:<br />
</strong><br />
دعونا الآن نعرض التويت ضمن قائمة غير مرتبة.<br />
YQL يمكننا استخدامها لتصفية وتحديد بالضبط ما نريد لاستخراج من الملف.</p>
[html]
view plaincopy to clipboardprint?<br />
&lt;ul&gt;</p>
<p>&lt;?php<br />
foreach($tweets-&gt;query-&gt;results-&gt;results as $item) {<br />
   echo &#8216;&lt;li&gt;&#8217; . $item-&gt;text . &#8216;&lt;/li&gt;&#8217;;<br />
}<br />
?&gt;</p>
<p>&lt;/ul&gt;<br />
[/html]
<p style="text-align: center;">الآن أن يتم تمثيل كل كائن في مجموعة،علي أنه $item ، و يمكننا الوصول إلى الخصائص التي نحتاجها.</p>
<p style="text-align: center;"><a href="http://www.portal.fwasl.com/wp-content/uploads/38.png"><img class="alignnone size-thumbnail wp-image-7594" title="3" src="http://www.portal.fwasl.com/wp-content/uploads/38-150x150.png" alt="" width="150" height="150" /></a></p>
<p style="text-align: center;"><strong>الخطوة 2 : التخزين المؤقت<br />
</strong></p>
<p style="text-align: center;">نبدأ بإنشاء مجلد جديد داخل جذر مشروعنا، اسمه cash.,ونحدد مساره ، بغض النظر عما إذا كان أنشأ أو لا.</p>
[html]
$cache = dirname(__FILE__) . &#8216;/cache/nettutsTweets.txt&#8217;;<br />
[/html]
<p style="text-align: center;">لاحظ أننا حتى الآن لم نقم بإنشاء الملف NettutsTweets.txt. PHP ! والأن نفتح الملف file_get_contents، بـ fopen</p>
[html]
&#8230;<br />
$tweets = file_get_contents($query, true);</p>
<p>// cache data<br />
$cachefile = fopen($cache, &#8216;wb&#8217;);<br />
fwrite($cachefile, $tweets);<br />
fclose($cachefile);<br />
[/html]
<p style="text-align: center;">PHPتقوم بتسهيل هذه العمليه افتح ملف الـ $cache ولو الملف كان غير موجود سوف يقوم بعمله.</p>
[html]
$cachefile = fopen($cache, &#8216;wb&#8217;);<br />
واكتب المحتويات :<br />
[html]
fwrite($cachefile, $tweets);<br />
[/html]
<p style="text-align: center;">
والأن قم بالإغلاق :</p>
[html]
fclose($cachefile);<br />
[/html]
<p style="text-align: center;">والأن للتحقق من الوقت :</p>
[html]
if ( !file_exists($cache) || filemtime($cache) &lt; ( time() &#8211; 10800 ) )<br />
[/html]
<p style="text-align: center;">
وهذا هو الكود النهائي<br />
[/html]
<p style="text-align: center;">$cache = dirname(__FILE__) . &#8216;/cache/nettutsTweets.txt&#8217;;</p>
<p style="text-align: center;">if ( !file_exists($cache) || filemtime($cache) &lt; ( time() &#8211; 10800 ) ) {<br />
$yql = &#8220;select * from twitter.search where q=&#8217;nettuts&#8217;&#8221;;<br />
$query = &#8220;http://query.yahooapis.com/v1/public/yql?q=&#8221;;<br />
$query .= urlencode($yql);<br />
$query .= &#8220;&amp;format=json&amp;env=store://datatables.org/alltableswithkeys&#8221;;</p>
<p style="text-align: center;">$tweets = file_get_contents($query, true);</p>
<p style="text-align: center;">// cache data<br />
$cachefile = fopen($cache, &#8216;wb&#8217;);<br />
fwrite($cachefile, $tweets);<br />
fclose($cachefile);<br />
} else {<br />
// We already have local cache. Let&#8217;s use that instead.<br />
$tweets = file_get_contents($cache);<br />
}<br />
$tweets = json_decode($tweets);<br />
?&gt;<br />
[/html]
<p style="text-align: center;"><strong>خطوة 3 : التعبيرات العاديه<br />
</strong></p>
<p style="text-align: center;">PHP توفر مجموعة متنوعة من الوظائف المفيدة للعمل مع التعبيرات العادية.<br />
وهناك نوعين من العبارات نريد تغطيهم وهما @usernames وهذه تغطي twitter.com/username و urlsوتغطي anchor tags<br />
وهذا الكود يتيح لك اضافة قيم متعدده داخل الداله:</p>
[html]
$patterns = array(<br />
   &#8216;/(http:\/\/.+?)(\s|$)/i&#8217; =&gt; &#8216;&lt;a href=&quot;$1&quot;&gt;$1&lt;/a&gt;&#8217;,<br />
      &#8216;/@([\w\d_-]+)/&#8217; =&gt; &#8216;&lt;a href=&quot;http://twitter.com\/$1&quot;&gt;@$1&lt;/a&gt;&#8217;<br />
);<br />
[/html]
<p><a href="http://www.portal.fwasl.com/wp-content/uploads/411.png"><img class="size-thumbnail wp-image-7595 aligncenter" title="4" src="http://www.portal.fwasl.com/wp-content/uploads/411-150x150.png" alt="" width="150" height="150" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://portal.fwasl.com/yql-%d9%88%d8%a7%d9%84%d8%aa%d8%ae%d8%b2%d9%8a%d9%86-%d8%a7%d9%84%d9%85%d8%a4%d9%82%d8%aa-%d9%88%d8%a3%d8%b4%d9%83%d8%a7%d9%84-%d8%a7%d9%84%d8%aa%d8%b9%d8%a8%d9%8a%d8%b1-%d8%a7%d9%84%d8%b9%d8%a7%d8%af/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
