<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[iranphp.org - شی گرایی]]></title>
		<link>http://forum.iranphp.org/</link>
		<description><![CDATA[iranphp.org - http://forum.iranphp.org]]></description>
		<pubDate>Thu, 09 Sep 2010 17:28:04 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[دید شئ گرایی]]></title>
			<link>http://forum.iranphp.org/Thread-%D8%AF%DB%8C%D8%AF-%D8%B4%D8%A6-%DA%AF%D8%B1%D8%A7%DB%8C%DB%8C</link>
			<pubDate>Sat, 04 Sep 2010 20:14:57 +0000</pubDate>
			<guid isPermaLink="false">http://forum.iranphp.org/Thread-%D8%AF%DB%8C%D8%AF-%D8%B4%D8%A6-%DA%AF%D8%B1%D8%A7%DB%8C%DB%8C</guid>
			<description><![CDATA[با سلام خدمت تمام دوستان<br />
من یک مشکل خیلی بزرگ با شئ گرایی دارم که فکر می کنم خیلی دیگر از دوستان نیز با این مشکل مواجه باشند. و آن نداشتن دید شئ گرایی، خود مفاهیم شئ گرایی (کلاس، کپسوله سازی و...) بک طرف و دید شئ گرایی داشتن طرف دگیر. <br />
مخلص کلام، چطور می تونم دید شئ گرایی پیدا کنیم؟<img src="http://forum.iranphp.org/images/smilies/huh.gif" style="vertical-align: middle;" border="0" alt="Huh" title="Huh" />]]></description>
			<content:encoded><![CDATA[با سلام خدمت تمام دوستان<br />
من یک مشکل خیلی بزرگ با شئ گرایی دارم که فکر می کنم خیلی دیگر از دوستان نیز با این مشکل مواجه باشند. و آن نداشتن دید شئ گرایی، خود مفاهیم شئ گرایی (کلاس، کپسوله سازی و...) بک طرف و دید شئ گرایی داشتن طرف دگیر. <br />
مخلص کلام، چطور می تونم دید شئ گرایی پیدا کنیم؟<img src="http://forum.iranphp.org/images/smilies/huh.gif" style="vertical-align: middle;" border="0" alt="Huh" title="Huh" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[مقایسه الگوی factory و الگوی singleton]]></title>
			<link>http://forum.iranphp.org/Thread-%D9%85%D9%82%D8%A7%DB%8C%D8%B3%D9%87-%D8%A7%D9%84%DA%AF%D9%88%DB%8C-factory-%D9%88-%D8%A7%D9%84%DA%AF%D9%88%DB%8C-singleton</link>
			<pubDate>Mon, 09 Aug 2010 23:00:15 +0000</pubDate>
			<guid isPermaLink="false">http://forum.iranphp.org/Thread-%D9%85%D9%82%D8%A7%DB%8C%D8%B3%D9%87-%D8%A7%D9%84%DA%AF%D9%88%DB%8C-factory-%D9%88-%D8%A7%D9%84%DA%AF%D9%88%DB%8C-singleton</guid>
			<description><![CDATA[من با توجه به تحقیقی که کردم. به این نتیجه رسیدم که در کلاسی که الگوی singleton  طراحی شده یک کپی از کلاس رو در یک متغییر استاتیک ایجاد میکنند و هروقت نیاز باشه که اون کلاس چندین بار ساخته و استفاده بشه فقط اون متد رو تعریف میکنند و اینجوری دوباره کلاس انگار تازه ایجاد شده.<br />
<br />
اما در factory  هروقت که نیاز هست .کلاس رو نیو میکنند.<br />
<br />
آیا درست گرفتم این موضوع رو یا موارد دیگری هم هست؟<br />
حالا سوال اینجاست برای ایجاد یک html جنراتور که برای هر تگ یک کلاس ایجاد شده کودم الگو بهتره حالت بهتره؟]]></description>
			<content:encoded><![CDATA[من با توجه به تحقیقی که کردم. به این نتیجه رسیدم که در کلاسی که الگوی singleton  طراحی شده یک کپی از کلاس رو در یک متغییر استاتیک ایجاد میکنند و هروقت نیاز باشه که اون کلاس چندین بار ساخته و استفاده بشه فقط اون متد رو تعریف میکنند و اینجوری دوباره کلاس انگار تازه ایجاد شده.<br />
<br />
اما در factory  هروقت که نیاز هست .کلاس رو نیو میکنند.<br />
<br />
آیا درست گرفتم این موضوع رو یا موارد دیگری هم هست؟<br />
حالا سوال اینجاست برای ایجاد یک html جنراتور که برای هر تگ یک کلاس ایجاد شده کودم الگو بهتره حالت بهتره؟]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Static factories Vs Public constructors]]></title>
			<link>http://forum.iranphp.org/Thread-Static-factories-Vs-Public-constructors</link>
			<pubDate>Mon, 09 Aug 2010 13:30:35 +0000</pubDate>
			<guid isPermaLink="false">http://forum.iranphp.org/Thread-Static-factories-Vs-Public-constructors</guid>
			<description><![CDATA[<a href="http://blog.fedecarg.com/2008/07/17/static-factories-vs-public-constructors/" target="_blank">http://blog.fedecarg.com/2008/07/17/stat...structors/</a>]]></description>
			<content:encoded><![CDATA[<a href="http://blog.fedecarg.com/2008/07/17/static-factories-vs-public-constructors/" target="_blank">http://blog.fedecarg.com/2008/07/17/stat...structors/</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[getInstance چیست؟ و چرا؟]]></title>
			<link>http://forum.iranphp.org/Thread-getInstance-%DA%86%DB%8C%D8%B3%D8%AA%D8%9F-%D9%88-%DA%86%D8%B1%D8%A7%D8%9F</link>
			<pubDate>Thu, 05 Aug 2010 09:51:24 +0000</pubDate>
			<guid isPermaLink="false">http://forum.iranphp.org/Thread-getInstance-%DA%86%DB%8C%D8%B3%D8%AA%D8%9F-%D9%88-%DA%86%D8%B1%D8%A7%D8%9F</guid>
			<description><![CDATA[سلام به همه دوستان<br />
این تابع getInstance چیه که در بعضی از کلاس ها رویت میشه؟<br />
چرا ازش استفاده میکنن؟<br />
و کجاها باید استفاده کرد؟ چرا؟<br />
خیلی ممنون <img src="http://forum.iranphp.org/images/smilies/heart.gif" style="vertical-align: middle;" border="0" alt="Heart" title="Heart" />  <img src="http://forum.iranphp.org/images/smilies/smile.gif" style="vertical-align: middle;" border="0" alt="Smile" title="Smile" />]]></description>
			<content:encoded><![CDATA[سلام به همه دوستان<br />
این تابع getInstance چیه که در بعضی از کلاس ها رویت میشه؟<br />
چرا ازش استفاده میکنن؟<br />
و کجاها باید استفاده کرد؟ چرا؟<br />
خیلی ممنون <img src="http://forum.iranphp.org/images/smilies/heart.gif" style="vertical-align: middle;" border="0" alt="Heart" title="Heart" />  <img src="http://forum.iranphp.org/images/smilies/smile.gif" style="vertical-align: middle;" border="0" alt="Smile" title="Smile" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[کپسوله سازی چیه؟]]></title>
			<link>http://forum.iranphp.org/Thread-%DA%A9%D9%BE%D8%B3%D9%88%D9%84%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-%DA%86%DB%8C%D9%87%D8%9F</link>
			<pubDate>Thu, 29 Jul 2010 11:03:06 +0000</pubDate>
			<guid isPermaLink="false">http://forum.iranphp.org/Thread-%DA%A9%D9%BE%D8%B3%D9%88%D9%84%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-%DA%86%DB%8C%D9%87%D8%9F</guid>
			<description><![CDATA[سلام<br />
این کپسوله سازی که میگن چیه؟ <img src="http://forum.iranphp.org/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" />]]></description>
			<content:encoded><![CDATA[سلام<br />
این کپسوله سازی که میگن چیه؟ <img src="http://forum.iranphp.org/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[سوال MVCیی]]></title>
			<link>http://forum.iranphp.org/Thread-%D8%B3%D9%88%D8%A7%D9%84-MVC%DB%8C%DB%8C</link>
			<pubDate>Mon, 26 Jul 2010 15:09:57 +0000</pubDate>
			<guid isPermaLink="false">http://forum.iranphp.org/Thread-%D8%B3%D9%88%D8%A7%D9%84-MVC%DB%8C%DB%8C</guid>
			<description><![CDATA[اینکه می گن بار معماری بر دوشه Model هست یعنی چی؟<br />
مگه نه اینکه Model همون کتابخونه یه کلاس هامونه؟!!!]]></description>
			<content:encoded><![CDATA[اینکه می گن بار معماری بر دوشه Model هست یعنی چی؟<br />
مگه نه اینکه Model همون کتابخونه یه کلاس هامونه؟!!!]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[چگونه شی گرا کد ننویسیم]]></title>
			<link>http://forum.iranphp.org/Thread-%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%B4%DB%8C-%DA%AF%D8%B1%D8%A7-%DA%A9%D8%AF-%D9%86%D9%86%D9%88%DB%8C%D8%B3%DB%8C%D9%85</link>
			<pubDate>Tue, 20 Jul 2010 10:29:52 +0000</pubDate>
			<guid isPermaLink="false">http://forum.iranphp.org/Thread-%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%B4%DB%8C-%DA%AF%D8%B1%D8%A7-%DA%A9%D8%AF-%D9%86%D9%86%D9%88%DB%8C%D8%B3%DB%8C%D9%85</guid>
			<description><![CDATA[مواد لازم «<br />
 1- تحلیل نکنید<br />
کافی پروژه رو بدون شناخت نسبت به کوچکترین اجازاش شروع کنید. <br />
انتهای تحلیل وطراحی شی گراییه . <br />
2-  زیاد کپی پیست کنید <br />
<br />
ادامه دارد ......]]></description>
			<content:encoded><![CDATA[مواد لازم «<br />
 1- تحلیل نکنید<br />
کافی پروژه رو بدون شناخت نسبت به کوچکترین اجازاش شروع کنید. <br />
انتهای تحلیل وطراحی شی گراییه . <br />
2-  زیاد کپی پیست کنید <br />
<br />
ادامه دارد ......]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[سیستم بر پایه OOP چیست؟]]></title>
			<link>http://forum.iranphp.org/Thread-%D8%B3%DB%8C%D8%B3%D8%AA%D9%85-%D8%A8%D8%B1-%D9%BE%D8%A7%DB%8C%D9%87-OOP-%DA%86%DB%8C%D8%B3%D8%AA%D8%9F</link>
			<pubDate>Fri, 25 Jun 2010 21:40:25 +0000</pubDate>
			<guid isPermaLink="false">http://forum.iranphp.org/Thread-%D8%B3%DB%8C%D8%B3%D8%AA%D9%85-%D8%A8%D8%B1-%D9%BE%D8%A7%DB%8C%D9%87-OOP-%DA%86%DB%8C%D8%B3%D8%AA%D8%9F</guid>
			<description><![CDATA[با سلام<br />
فکر کنم عنوان سوالم واضح بود ولی توضحیات اظافی رو میدم<br />
من تو نمونه کارای آقای صالح دیدم که نوشته<br />
<a href="http://saleh.soozanchi.ir/portfolio/" target="_blank">http://saleh.soozanchi.ir/portfolio/</a><br />
 روش پیاده سازی		OOP<br />
خواستم بدونم که تو یه پروژه میگن بر پایه OOP یا همون شی گرایی ساخته شده به چه نحوی است<br />
ببینید من تو کارایی که انجام میدم فقط دیتابیش کلاس است و شی گرا است بقیش از توابع مختلف استفاده مبیکنم<br />
<br />
حالا میخواستم بدونم این چیه و چطوریه؟<br />
وسوال دوم اینکه آیا این oop یا همون شی گرای همون ساخت کلاس هست و کار با کلاس ها؟]]></description>
			<content:encoded><![CDATA[با سلام<br />
فکر کنم عنوان سوالم واضح بود ولی توضحیات اظافی رو میدم<br />
من تو نمونه کارای آقای صالح دیدم که نوشته<br />
<a href="http://saleh.soozanchi.ir/portfolio/" target="_blank">http://saleh.soozanchi.ir/portfolio/</a><br />
 روش پیاده سازی		OOP<br />
خواستم بدونم که تو یه پروژه میگن بر پایه OOP یا همون شی گرایی ساخته شده به چه نحوی است<br />
ببینید من تو کارایی که انجام میدم فقط دیتابیش کلاس است و شی گرا است بقیش از توابع مختلف استفاده مبیکنم<br />
<br />
حالا میخواستم بدونم این چیه و چطوریه؟<br />
وسوال دوم اینکه آیا این oop یا همون شی گرای همون ساخت کلاس هست و کار با کلاس ها؟]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[مشکل با مفهوم کلاس]]></title>
			<link>http://forum.iranphp.org/Thread-%D9%85%D8%B4%DA%A9%D9%84-%D8%A8%D8%A7-%D9%85%D9%81%D9%87%D9%88%D9%85-%DA%A9%D9%84%D8%A7%D8%B3</link>
			<pubDate>Wed, 28 Apr 2010 16:14:16 +0000</pubDate>
			<guid isPermaLink="false">http://forum.iranphp.org/Thread-%D9%85%D8%B4%DA%A9%D9%84-%D8%A8%D8%A7-%D9%85%D9%81%D9%87%D9%88%D9%85-%DA%A9%D9%84%D8%A7%D8%B3</guid>
			<description><![CDATA[سلام دوستان عزیز<br />
<br />
من با مفهوم کلاس تو php مشکل دارم<br />
<br />
من نمیدونم کی باید کلاس تعریف کنم؟<br />
<br />
مثلا بعضی جاها میبینم مشکلم با include حل میشه ولی تردید دارم که اون چیزی رو که میخوام<br />
<br />
include کنم کلاس بگیرم یا یک سری تابع رو تو یه فایل include کنم؟<br />
<br />
اصلا چه زمانی باید کلاس تعریف کنیم؟<img src="http://forum.iranphp.org/images/smilies/huh.gif" style="vertical-align: middle;" border="0" alt="Huh" title="Huh" />]]></description>
			<content:encoded><![CDATA[سلام دوستان عزیز<br />
<br />
من با مفهوم کلاس تو php مشکل دارم<br />
<br />
من نمیدونم کی باید کلاس تعریف کنم؟<br />
<br />
مثلا بعضی جاها میبینم مشکلم با include حل میشه ولی تردید دارم که اون چیزی رو که میخوام<br />
<br />
include کنم کلاس بگیرم یا یک سری تابع رو تو یه فایل include کنم؟<br />
<br />
اصلا چه زمانی باید کلاس تعریف کنیم؟<img src="http://forum.iranphp.org/images/smilies/huh.gif" style="vertical-align: middle;" border="0" alt="Huh" title="Huh" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[مشکل تابع در کلاس]]></title>
			<link>http://forum.iranphp.org/Thread-%D9%85%D8%B4%DA%A9%D9%84-%D8%AA%D8%A7%D8%A8%D8%B9-%D8%AF%D8%B1-%DA%A9%D9%84%D8%A7%D8%B3</link>
			<pubDate>Tue, 20 Apr 2010 16:18:19 +0000</pubDate>
			<guid isPermaLink="false">http://forum.iranphp.org/Thread-%D9%85%D8%B4%DA%A9%D9%84-%D8%AA%D8%A7%D8%A8%D8%B9-%D8%AF%D8%B1-%DA%A9%D9%84%D8%A7%D8%B3</guid>
			<description><![CDATA[سلام دوستان<br />
<br />
من یک کلاس ساختم و تو اون تعدادی تابع دارم. مشکلم اینجاست که من در تابع بالایی میخوام<br />
<br />
از تابع پایینی استفاده کنم که اجازه این کار رو نمیده<img src="http://forum.iranphp.org/images/smilies/huh.gif" style="vertical-align: middle;" border="0" alt="Huh" title="Huh" /><br />
<br />
تو ++C میشد تابع ها رو اول بالا تعریف کرد و این مشکل نبود تو php این کار رو میشه کرد؟<br />
<br />
با تشکر از دوستان]]></description>
			<content:encoded><![CDATA[سلام دوستان<br />
<br />
من یک کلاس ساختم و تو اون تعدادی تابع دارم. مشکلم اینجاست که من در تابع بالایی میخوام<br />
<br />
از تابع پایینی استفاده کنم که اجازه این کار رو نمیده<img src="http://forum.iranphp.org/images/smilies/huh.gif" style="vertical-align: middle;" border="0" alt="Huh" title="Huh" /><br />
<br />
تو ++C میشد تابع ها رو اول بالا تعریف کرد و این مشکل نبود تو php این کار رو میشه کرد؟<br />
<br />
با تشکر از دوستان]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[راههای پلاگین/ماژول کردن نرم افزار؟]]></title>
			<link>http://forum.iranphp.org/Thread-%D8%B1%D8%A7%D9%87%D9%87%D8%A7%DB%8C-%D9%BE%D9%84%D8%A7%DA%AF%DB%8C%D9%86-%D9%85%D8%A7%DA%98%D9%88%D9%84-%DA%A9%D8%B1%D8%AF%D9%86-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1%D8%9F</link>
			<pubDate>Thu, 08 Apr 2010 04:43:42 +0000</pubDate>
			<guid isPermaLink="false">http://forum.iranphp.org/Thread-%D8%B1%D8%A7%D9%87%D9%87%D8%A7%DB%8C-%D9%BE%D9%84%D8%A7%DA%AF%DB%8C%D9%86-%D9%85%D8%A7%DA%98%D9%88%D9%84-%DA%A9%D8%B1%D8%AF%D9%86-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1%D8%9F</guid>
			<description><![CDATA[سلام،<br />
راههای پلاگین یا ماژول کردن نرم افزار چیه؟<br />
چطوری نرم افزار رو Pluginable یا Modular کنیم؟<br />
خیلی ممنون. <img src="http://forum.iranphp.org/images/smilies/smile.gif" style="vertical-align: middle;" border="0" alt="Smile" title="Smile" />]]></description>
			<content:encoded><![CDATA[سلام،<br />
راههای پلاگین یا ماژول کردن نرم افزار چیه؟<br />
چطوری نرم افزار رو Pluginable یا Modular کنیم؟<br />
خیلی ممنون. <img src="http://forum.iranphp.org/images/smilies/smile.gif" style="vertical-align: middle;" border="0" alt="Smile" title="Smile" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[تعریف متغیر در ابتدای کلاس]]></title>
			<link>http://forum.iranphp.org/Thread-%D8%AA%D8%B9%D8%B1%DB%8C%D9%81-%D9%85%D8%AA%D8%BA%DB%8C%D8%B1-%D8%AF%D8%B1-%D8%A7%D8%A8%D8%AA%D8%AF%D8%A7%DB%8C-%DA%A9%D9%84%D8%A7%D8%B3</link>
			<pubDate>Wed, 31 Mar 2010 18:55:39 +0000</pubDate>
			<guid isPermaLink="false">http://forum.iranphp.org/Thread-%D8%AA%D8%B9%D8%B1%DB%8C%D9%81-%D9%85%D8%AA%D8%BA%DB%8C%D8%B1-%D8%AF%D8%B1-%D8%A7%D8%A8%D8%AA%D8%AF%D8%A7%DB%8C-%DA%A9%D9%84%D8%A7%D8%B3</guid>
			<description><![CDATA[سلام<br />
چرا در آغاز کلاس بعضی از متغیر ها رو تعریف میکنند<br />
بعضی اوقات به این صورت<br />
<div class="codeblock phpcodeblock"><div class="title"> کد PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #007700">var&nbsp;</span><span style="color: #0000BB">&#36;link&nbsp;<br /></span></code></div></div></div>
و بعضی اوقات<br />
<div class="codeblock phpcodeblock"><div class="title"> کد PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #007700">public&nbsp;</span><span style="color: #0000BB">&#36;link&nbsp;<br /></span></code></div></div></div>
<hr />
ببخشید من یه سوال دیگه دارم که همین جا مطرح می کنم<br />
<div class="codeblock phpcodeblock"><div class="title"> کد PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;register_shutdown_function</span><span style="color: #007700">(array(&amp;</span><span style="color: #0000BB">&#36;this</span><span style="color: #007700">,</span><span style="color: #DD0000">'close'</span><span style="color: #007700">));&nbsp;<br /></span></code></div></div></div>
این &amp; برای چیه؟]]></description>
			<content:encoded><![CDATA[سلام<br />
چرا در آغاز کلاس بعضی از متغیر ها رو تعریف میکنند<br />
بعضی اوقات به این صورت<br />
<div class="codeblock phpcodeblock"><div class="title"> کد PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #007700">var&nbsp;</span><span style="color: #0000BB">&#36;link&nbsp;<br /></span></code></div></div></div>
و بعضی اوقات<br />
<div class="codeblock phpcodeblock"><div class="title"> کد PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #007700">public&nbsp;</span><span style="color: #0000BB">&#36;link&nbsp;<br /></span></code></div></div></div>
<hr />
ببخشید من یه سوال دیگه دارم که همین جا مطرح می کنم<br />
<div class="codeblock phpcodeblock"><div class="title"> کد PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;register_shutdown_function</span><span style="color: #007700">(array(&amp;</span><span style="color: #0000BB">&#36;this</span><span style="color: #007700">,</span><span style="color: #DD0000">'close'</span><span style="color: #007700">));&nbsp;<br /></span></code></div></div></div>
این &amp; برای چیه؟]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[interface در شی گرایی در کجا بدرد می خورد و عملکردش چیست؟]]></title>
			<link>http://forum.iranphp.org/Thread-interface-%D8%AF%D8%B1-%D8%B4%DB%8C-%DA%AF%D8%B1%D8%A7%DB%8C%DB%8C-%D8%AF%D8%B1-%DA%A9%D8%AC%D8%A7-%D8%A8%D8%AF%D8%B1%D8%AF-%D9%85%DB%8C-%D8%AE%D9%88%D8%B1%D8%AF-%D9%88-%D8%B9%D9%85%D9%84%DA%A9%D8%B1%D8%AF%D8%B4-%DA%86%DB%8C%D8%B3%D8%AA%D8%9F</link>
			<pubDate>Thu, 28 Jan 2010 10:36:12 +0000</pubDate>
			<guid isPermaLink="false">http://forum.iranphp.org/Thread-interface-%D8%AF%D8%B1-%D8%B4%DB%8C-%DA%AF%D8%B1%D8%A7%DB%8C%DB%8C-%D8%AF%D8%B1-%DA%A9%D8%AC%D8%A7-%D8%A8%D8%AF%D8%B1%D8%AF-%D9%85%DB%8C-%D8%AE%D9%88%D8%B1%D8%AF-%D9%88-%D8%B9%D9%85%D9%84%DA%A9%D8%B1%D8%AF%D8%B4-%DA%86%DB%8C%D8%B3%D8%AA%D8%9F</guid>
			<description><![CDATA[من چند مقاله در باره interface خوندم ولی تنها چیزی که متوجه شدم اینه که هر کلاسی که از اینترفیس خاصی impelement می کنه باید از قوانین اینترفیس مربوطه تبعیت کنه مثلا متدهایی که در اینترفیس به کار برده شده اند باید در کلاس هم استفاده بشوند ولی اینترفیس چرا جایگزین ارث بری چندگانه است؟<hr />
اصلا استفاده از اینترفیس در کجاها به کار می آید و دلیل استفاده از آن چیه؟]]></description>
			<content:encoded><![CDATA[من چند مقاله در باره interface خوندم ولی تنها چیزی که متوجه شدم اینه که هر کلاسی که از اینترفیس خاصی impelement می کنه باید از قوانین اینترفیس مربوطه تبعیت کنه مثلا متدهایی که در اینترفیس به کار برده شده اند باید در کلاس هم استفاده بشوند ولی اینترفیس چرا جایگزین ارث بری چندگانه است؟<hr />
اصلا استفاده از اینترفیس در کجاها به کار می آید و دلیل استفاده از آن چیه؟]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[مشکل در کار با داده ها در کلاس]]></title>
			<link>http://forum.iranphp.org/Thread-%D9%85%D8%B4%DA%A9%D9%84-%D8%AF%D8%B1-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7-%D8%AF%D8%B1-%DA%A9%D9%84%D8%A7%D8%B3</link>
			<pubDate>Tue, 19 Jan 2010 04:59:27 +0000</pubDate>
			<guid isPermaLink="false">http://forum.iranphp.org/Thread-%D9%85%D8%B4%DA%A9%D9%84-%D8%AF%D8%B1-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7-%D8%AF%D8%B1-%DA%A9%D9%84%D8%A7%D8%B3</guid>
			<description><![CDATA[سلام<br />
من یه کلاس ساده برای اخبار دارم<br />
<br />
<div class="codeblock phpcodeblock"><div class="title"> کد PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #007700">require_once&nbsp;(</span><span style="color: #DD0000">"db.php"</span><span style="color: #007700">);<br /><br />class&nbsp;</span><span style="color: #0000BB">news&nbsp;</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;</span><span style="color: #0000BB">&#36;id</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;</span><span style="color: #0000BB">&#36;title</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;</span><span style="color: #0000BB">&#36;text</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;</span><span style="color: #0000BB">find_by_sql</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;sql&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;global&nbsp;</span><span style="color: #0000BB">&#36;db</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;result_set&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;db</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;sql&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;object_array&nbsp;</span><span style="color: #007700">=&nbsp;array&nbsp;();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(&nbsp;</span><span style="color: #0000BB">&#36;row&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;db</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">fetch_array&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;result_set&nbsp;</span><span style="color: #007700">)&nbsp;)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;object_array&nbsp;</span><span style="color: #007700">[&#93;&nbsp;=&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">instantiate&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;row&nbsp;</span><span style="color: #007700">,</span><span style="color: #0000BB">&#36;object</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">&#36;object_array</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;static&nbsp;function&nbsp;</span><span style="color: #0000BB">instantiate</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;record&nbsp;</span><span style="color: #007700">,</span><span style="color: #0000BB">&#36;object</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;(&nbsp;</span><span style="color: #0000BB">&#36;record&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">&#36;attribute&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">&#36;value&nbsp;</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">&#36;object</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">has_attribute&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;attribute&nbsp;</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;object</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">&#36;attribute&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;value</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">&#36;object</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;function&nbsp;</span><span style="color: #0000BB">has_attribute</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;attribute</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;object_vars&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">attributes</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">array_key_exists&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;attribute</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;object_vars&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;</span><span style="color: #0000BB">attributes</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">get_object_vars&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;this&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br /></span></code></div></div></div>
<br />
هر وقت یه کد sql اجرا میشه و یه خبر جستجو میشه با استفاده از فانکشن instantiate<br />
مقادیر <div class="codeblock phpcodeblock"><div class="title"> کد PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">public&nbsp;</span><span style="color: #0000BB">&#36;id</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;</span><span style="color: #0000BB">&#36;title</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;</span><span style="color: #0000BB">&#36;text</span><span style="color: #007700">;&nbsp;<br /></span></code></div></div></div>
در کلاس برابر با اون خبر جستجو شده مقدار دهی میشن <br />
مثلا<br />
اگه این قطعه رو اجرا کنم<br />
<div class="codeblock phpcodeblock"><div class="title"> کد PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&#36;news&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">news</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">&#36;news</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">find_by_sql</span><span style="color: #007700">(</span><span style="color: #DD0000">"select&nbsp;*fro&nbsp;news&nbsp;where&nbsp;id=1"</span><span style="color: #007700">);&nbsp;<br /></span></code></div></div></div>
<br />
بعدش  دیتا های کلاس برابر بافیلد های متناظر اون سطری که توی دیتابیس جستجو و استخراج شده مقدار دهی میشن و میشه بهشون دسترسی داشت  <br />
<div class="codeblock phpcodeblock"><div class="title"> کد PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #007700">echo&nbsp;</span><span style="color: #0000BB">&#36;news</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">id</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #0000BB">&#36;news</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">title</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #0000BB">&#36;news</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">text</span><span style="color: #007700">;&nbsp;<br /></span></code></div></div></div>
<br />
حالا سوال من اینه که اگر جواب برگشتی از  find_by_sql دو سطر بود چطور میشه <br />
به دیتا ها اینطوری دست پیدا کرد ؟جوری که سطر بعدی دیتا ها رو رونویسی نکنه و همیشه دیتا های مقدار داده شده برای سطر آخر برگردونده نشه]]></description>
			<content:encoded><![CDATA[سلام<br />
من یه کلاس ساده برای اخبار دارم<br />
<br />
<div class="codeblock phpcodeblock"><div class="title"> کد PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #007700">require_once&nbsp;(</span><span style="color: #DD0000">"db.php"</span><span style="color: #007700">);<br /><br />class&nbsp;</span><span style="color: #0000BB">news&nbsp;</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;</span><span style="color: #0000BB">&#36;id</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;</span><span style="color: #0000BB">&#36;title</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;</span><span style="color: #0000BB">&#36;text</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;</span><span style="color: #0000BB">find_by_sql</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;sql&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">""</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;global&nbsp;</span><span style="color: #0000BB">&#36;db</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;result_set&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;db</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">query&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;sql&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;object_array&nbsp;</span><span style="color: #007700">=&nbsp;array&nbsp;();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(&nbsp;</span><span style="color: #0000BB">&#36;row&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;db</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">fetch_array&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;result_set&nbsp;</span><span style="color: #007700">)&nbsp;)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;object_array&nbsp;</span><span style="color: #007700">[]&nbsp;=&nbsp;</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">instantiate&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;row&nbsp;</span><span style="color: #007700">,</span><span style="color: #0000BB">&#36;object</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">&#36;object_array</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;static&nbsp;function&nbsp;</span><span style="color: #0000BB">instantiate</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;record&nbsp;</span><span style="color: #007700">,</span><span style="color: #0000BB">&#36;object</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;(&nbsp;</span><span style="color: #0000BB">&#36;record&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">&#36;attribute&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">&#36;value&nbsp;</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">&#36;object</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">has_attribute&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;attribute&nbsp;</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;object</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">&#36;attribute&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;value</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">&#36;object</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;function&nbsp;</span><span style="color: #0000BB">has_attribute</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;attribute</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">&#36;object_vars&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">&#36;this</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">attributes</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">array_key_exists&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;attribute</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;object_vars&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;</span><span style="color: #0000BB">attributes</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">get_object_vars&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;this&nbsp;</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br /></span></code></div></div></div>
<br />
هر وقت یه کد sql اجرا میشه و یه خبر جستجو میشه با استفاده از فانکشن instantiate<br />
مقادیر <div class="codeblock phpcodeblock"><div class="title"> کد PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">public&nbsp;</span><span style="color: #0000BB">&#36;id</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;</span><span style="color: #0000BB">&#36;title</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;</span><span style="color: #0000BB">&#36;text</span><span style="color: #007700">;&nbsp;<br /></span></code></div></div></div>
در کلاس برابر با اون خبر جستجو شده مقدار دهی میشن <br />
مثلا<br />
اگه این قطعه رو اجرا کنم<br />
<div class="codeblock phpcodeblock"><div class="title"> کد PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&#36;news&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">news</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">&#36;news</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">find_by_sql</span><span style="color: #007700">(</span><span style="color: #DD0000">"select&nbsp;*fro&nbsp;news&nbsp;where&nbsp;id=1"</span><span style="color: #007700">);&nbsp;<br /></span></code></div></div></div>
<br />
بعدش  دیتا های کلاس برابر بافیلد های متناظر اون سطری که توی دیتابیس جستجو و استخراج شده مقدار دهی میشن و میشه بهشون دسترسی داشت  <br />
<div class="codeblock phpcodeblock"><div class="title"> کد PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #007700">echo&nbsp;</span><span style="color: #0000BB">&#36;news</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">id</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #0000BB">&#36;news</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">title</span><span style="color: #007700">;<br />echo&nbsp;</span><span style="color: #0000BB">&#36;news</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">text</span><span style="color: #007700">;&nbsp;<br /></span></code></div></div></div>
<br />
حالا سوال من اینه که اگر جواب برگشتی از  find_by_sql دو سطر بود چطور میشه <br />
به دیتا ها اینطوری دست پیدا کرد ؟جوری که سطر بعدی دیتا ها رو رونویسی نکنه و همیشه دیتا های مقدار داده شده برای سطر آخر برگردونده نشه]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[یک گالری عکس به روش mvc]]></title>
			<link>http://forum.iranphp.org/Thread-%DB%8C%DA%A9-%DA%AF%D8%A7%D9%84%D8%B1%DB%8C-%D8%B9%DA%A9%D8%B3-%D8%A8%D9%87-%D8%B1%D9%88%D8%B4-mvc</link>
			<pubDate>Mon, 18 Jan 2010 21:15:22 +0000</pubDate>
			<guid isPermaLink="false">http://forum.iranphp.org/Thread-%DB%8C%DA%A9-%DA%AF%D8%A7%D9%84%D8%B1%DB%8C-%D8%B9%DA%A9%D8%B3-%D8%A8%D9%87-%D8%B1%D9%88%D8%B4-mvc</guid>
			<description><![CDATA[اینم یه برنامه مبتنی بر روش mvc که اقا محمد زحمت اموزشش رو دارن می کشن .(محمد جان دست داریم )<br />
<br />
اگه بچه هایی که توانایی دارن برنامه رو تجذیه کنن و نتیجه رو اینجا قرار بدن خیلی عالی میشه .]]></description>
			<content:encoded><![CDATA[اینم یه برنامه مبتنی بر روش mvc که اقا محمد زحمت اموزشش رو دارن می کشن .(محمد جان دست داریم )<br />
<br />
اگه بچه هایی که توانایی دارن برنامه رو تجذیه کنن و نتیجه رو اینجا قرار بدن خیلی عالی میشه .]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[منطق  MVC و ساخت آن]]></title>
			<link>http://forum.iranphp.org/Thread-%D9%85%D9%86%D8%B7%D9%82-MVC-%D9%88-%D8%B3%D8%A7%D8%AE%D8%AA-%D8%A2%D9%86</link>
			<pubDate>Sun, 17 Jan 2010 17:56:33 +0000</pubDate>
			<guid isPermaLink="false">http://forum.iranphp.org/Thread-%D9%85%D9%86%D8%B7%D9%82-MVC-%D9%88-%D8%B3%D8%A7%D8%AE%D8%AA-%D8%A2%D9%86</guid>
			<description><![CDATA[چند روز پیش یکی از بچه ها از من درخواست کرد که یه آموزش در این رابطه بزارم.<br />
اول از همه یه نگاه کلی به ام وی سی می اندازیم.<br />
<br />
<img src="http://www.bhartisoftland.com/technologies-skill-sets/gifs/mvc-php.png" border="0" alt="[تصویر: mvc-php.png&#93;" /><br />
<br />
یکی یکی مراحل رو توضیح میدم.<br />
1. توسط Browser یک در خواست به وب سرور صادر می شه.<br />
2. وب سرور درخواست رو به Routes منتقل می کنه<br />
{ توجه داشته باشید که وظیفه یک Routes این هست که URL رو بررسی کنه  }<br />
3. بعد از بررسی URL برای فراخوانی توابع اطلاعات به Dispatcher انتقال داده می شه<br />
{ وظیفه Dispatcher در ابتدا لود لایبراری های لازم مودل و ... هست }<br />
4. Dispatcher بسته به اطلاعات دریافتی کنترلر مورد نظر رو فراخوانی می کنه.<br />
5. کلاس کنترلر لایبراری ها و مودل های مورد نیاز رو در اختیار برنامه نویس قرار می ده <br />
6. کنترل بعد از تبادل اطلاعات با مودل ( وظیفه مودل برقراری ارتباط با دیتابیس و انجام کوئری هست ) اطلاعات مورد نیاز رو برای VIEW می فرسته. <br />
7. در نهایت بعد اجرا شدن VIEW کلاس کنترلر اطلاعات حاصل شده رو به وب سرور و بعد از اون وب سرور هم اطلاعات رو برای Browser می فرسته.<br />
<br />
شاید اولین سوالی که برای شما پیش این باشه که چرا این همه دردسر بکشیم ، همونجا می نویسیم می ره.<br />
<br />
توجه کنید استفاده از MVC به شما در گسترش برنامه کمک می کنه. انعطاف پذیری رو بیشتر می کنه. خوانایی رو بالا تر می بره. سرعت انجام کار بالا تر می ره و ...<br />
<br />
چرا به شما در گسترش برنامه کمک می کنه ؟<br />
به این دلیل که شما وقتی بصورت Line کد نویسی می کنید مجبور به ترکیب MVC هستید یعنی همه کار هارو یک جا انجام میدید. وقتی پروژه بخواد گسترش پیدا کنه و از شما بخوان یه چیزی رو به پروژه اضافه کنید شما شاید مجبور بشید تمامی فایل ها رو ادیت کنید شاید با استفاده از یک سری ترفند ازاین کار جلوگیری کنید اما نمی تونید برای تکرار کد ها دلیل قانع کننده ای بیارید. مثلا از یک روش برای گرفتن آخرین اطلاعات از دیتابیس استفاده می کنید که این روش توی تمام صفحات استفاده می شه. حالا شاید بگید که این مسئله ای نیست. اما وقتی که به هر دلیلی تغییری در دیتابیس انجام بشه شما باید بشینید تک تک کوئری ها رو درست کنید در حالی که اگر از مودل استفاده می کردید کافی بود فقط یک تابع رو کمی کاستومایز کنید.<br />
<br />
چرا انعطاف پذیری رو بیشتر می کنه ؟<br />
به این دلیل. فرض رو بر این میگیریم که شما نیاز به یک سیستم درختی دارید. یه تابعی که اطلاعات رو به صورت درختی نشون می ده. اگر شما بصورت Line کد نویسی می کنید مجبورید در تمام صفحاتی که به این تابع نیاز دارید فایل مورد نظر رو Include کنید و وای به اون روزی که اسم اون فایل به هر دلیلی نیاز به تغییر داشته باشه حالا یکی یکی تمام صفحات رو باید ادیت کنید. در حالی که در MVC برای گسترش VIEW می تونید Helper بسازید و تعریف کنید که این لودر در تمامی VIEW ها لود بشه و استفاده کنید. در اکثر فریم ورک ها به چنین توابعی هلپر گفته می شه.<br />
<br />
و هزاران دلیل دیگه.<br />
<br />
در آینده با هم یک MVC می سازیم تا بهتر بتونید این مفهوم رو درک کنید.]]></description>
			<content:encoded><![CDATA[چند روز پیش یکی از بچه ها از من درخواست کرد که یه آموزش در این رابطه بزارم.<br />
اول از همه یه نگاه کلی به ام وی سی می اندازیم.<br />
<br />
<img src="http://www.bhartisoftland.com/technologies-skill-sets/gifs/mvc-php.png" border="0" alt="[تصویر: mvc-php.png]" /><br />
<br />
یکی یکی مراحل رو توضیح میدم.<br />
1. توسط Browser یک در خواست به وب سرور صادر می شه.<br />
2. وب سرور درخواست رو به Routes منتقل می کنه<br />
{ توجه داشته باشید که وظیفه یک Routes این هست که URL رو بررسی کنه  }<br />
3. بعد از بررسی URL برای فراخوانی توابع اطلاعات به Dispatcher انتقال داده می شه<br />
{ وظیفه Dispatcher در ابتدا لود لایبراری های لازم مودل و ... هست }<br />
4. Dispatcher بسته به اطلاعات دریافتی کنترلر مورد نظر رو فراخوانی می کنه.<br />
5. کلاس کنترلر لایبراری ها و مودل های مورد نیاز رو در اختیار برنامه نویس قرار می ده <br />
6. کنترل بعد از تبادل اطلاعات با مودل ( وظیفه مودل برقراری ارتباط با دیتابیس و انجام کوئری هست ) اطلاعات مورد نیاز رو برای VIEW می فرسته. <br />
7. در نهایت بعد اجرا شدن VIEW کلاس کنترلر اطلاعات حاصل شده رو به وب سرور و بعد از اون وب سرور هم اطلاعات رو برای Browser می فرسته.<br />
<br />
شاید اولین سوالی که برای شما پیش این باشه که چرا این همه دردسر بکشیم ، همونجا می نویسیم می ره.<br />
<br />
توجه کنید استفاده از MVC به شما در گسترش برنامه کمک می کنه. انعطاف پذیری رو بیشتر می کنه. خوانایی رو بالا تر می بره. سرعت انجام کار بالا تر می ره و ...<br />
<br />
چرا به شما در گسترش برنامه کمک می کنه ؟<br />
به این دلیل که شما وقتی بصورت Line کد نویسی می کنید مجبور به ترکیب MVC هستید یعنی همه کار هارو یک جا انجام میدید. وقتی پروژه بخواد گسترش پیدا کنه و از شما بخوان یه چیزی رو به پروژه اضافه کنید شما شاید مجبور بشید تمامی فایل ها رو ادیت کنید شاید با استفاده از یک سری ترفند ازاین کار جلوگیری کنید اما نمی تونید برای تکرار کد ها دلیل قانع کننده ای بیارید. مثلا از یک روش برای گرفتن آخرین اطلاعات از دیتابیس استفاده می کنید که این روش توی تمام صفحات استفاده می شه. حالا شاید بگید که این مسئله ای نیست. اما وقتی که به هر دلیلی تغییری در دیتابیس انجام بشه شما باید بشینید تک تک کوئری ها رو درست کنید در حالی که اگر از مودل استفاده می کردید کافی بود فقط یک تابع رو کمی کاستومایز کنید.<br />
<br />
چرا انعطاف پذیری رو بیشتر می کنه ؟<br />
به این دلیل. فرض رو بر این میگیریم که شما نیاز به یک سیستم درختی دارید. یه تابعی که اطلاعات رو به صورت درختی نشون می ده. اگر شما بصورت Line کد نویسی می کنید مجبورید در تمام صفحاتی که به این تابع نیاز دارید فایل مورد نظر رو Include کنید و وای به اون روزی که اسم اون فایل به هر دلیلی نیاز به تغییر داشته باشه حالا یکی یکی تمام صفحات رو باید ادیت کنید. در حالی که در MVC برای گسترش VIEW می تونید Helper بسازید و تعریف کنید که این لودر در تمامی VIEW ها لود بشه و استفاده کنید. در اکثر فریم ورک ها به چنین توابعی هلپر گفته می شه.<br />
<br />
و هزاران دلیل دیگه.<br />
<br />
در آینده با هم یک MVC می سازیم تا بهتر بتونید این مفهوم رو درک کنید.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[چند سوال درباره کلاسها]]></title>
			<link>http://forum.iranphp.org/Thread-%DA%86%D9%86%D8%AF-%D8%B3%D9%88%D8%A7%D9%84-%D8%AF%D8%B1%D8%A8%D8%A7%D8%B1%D9%87-%DA%A9%D9%84%D8%A7%D8%B3%D9%87%D8%A7</link>
			<pubDate>Sun, 10 Jan 2010 07:17:06 +0000</pubDate>
			<guid isPermaLink="false">http://forum.iranphp.org/Thread-%DA%86%D9%86%D8%AF-%D8%B3%D9%88%D8%A7%D9%84-%D8%AF%D8%B1%D8%A8%D8%A7%D8%B1%D9%87-%DA%A9%D9%84%D8%A7%D8%B3%D9%87%D8%A7</guid>
			<description><![CDATA[سلام دوستان میبخشید چند وقت نبودم<img src="http://forum.iranphp.org/images/smilies/blush.gif" style="vertical-align: middle;" border="0" alt="Blush" title="Blush" /> حسابی کار داشتم و تو یک سایت مدیر شدم و کار های دیگه اجازه شرکت در این سایتو بهم نمیداد<img src="http://forum.iranphp.org/images/smilies/confused.gif" style="vertical-align: middle;" border="0" alt="Confused" title="Confused" /><br />
دوستان من در مبحث کلاسها چند تا مشکل داشتم گفتم بپرسم .<br />
سوال اول : تابع __construct() در مبحث کلاسها به چه دردی میخوره؟ (میشه با مثال توضیح بدید)<br />
سوال دوم : تابع __get() و __set() به چه دردی میخورن؟<img src="http://forum.iranphp.org/images/smilies/sad.gif" style="vertical-align: middle;" border="0" alt="Sad" title="Sad" />( اینم با مثال باشه بهتره!<img src="http://forum.iranphp.org/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" />)<br />
سوال سوم : تابع __autoload() به چه کاری میاد؟ <img src="http://forum.iranphp.org/images/smilies/undecided.gif" style="vertical-align: middle;" border="0" alt="Undecided" title="Undecided" /> (اینم  با مثال باشه<img src="http://forum.iranphp.org/images/smilies/wink.gif" style="vertical-align: middle;" border="0" alt="Wink" title="Wink" />)<br />
سوال چهارم : تابع __toString() به چه کاری میاد؟ <img src="http://forum.iranphp.org/images/smilies/blush.gif" style="vertical-align: middle;" border="0" alt="Blush" title="Blush" /> ( اینم مثال داشت که بهتر :cool<img src="http://forum.iranphp.org/images/smilies/smile.gif" style="vertical-align: middle;" border="0" alt="Smile" title="Smile" /><br />
<br />
یه سوال دیگم هست که گفتم دیگه تایپک باز نکنم اینه که ما موتور 7 رنگ قالب رو با کلاس بنویسیم سرعت لود بیشتره یا با جایگزینی (str_replace() ) <img src="http://forum.iranphp.org/images/smilies/huh.gif" style="vertical-align: middle;" border="0" alt="Huh" title="Huh" /><br />
<br />
ممنون از این سایت خوبتون...]]></description>
			<content:encoded><![CDATA[سلام دوستان میبخشید چند وقت نبودم<img src="http://forum.iranphp.org/images/smilies/blush.gif" style="vertical-align: middle;" border="0" alt="Blush" title="Blush" /> حسابی کار داشتم و تو یک سایت مدیر شدم و کار های دیگه اجازه شرکت در این سایتو بهم نمیداد<img src="http://forum.iranphp.org/images/smilies/confused.gif" style="vertical-align: middle;" border="0" alt="Confused" title="Confused" /><br />
دوستان من در مبحث کلاسها چند تا مشکل داشتم گفتم بپرسم .<br />
سوال اول : تابع __construct() در مبحث کلاسها به چه دردی میخوره؟ (میشه با مثال توضیح بدید)<br />
سوال دوم : تابع __get() و __set() به چه دردی میخورن؟<img src="http://forum.iranphp.org/images/smilies/sad.gif" style="vertical-align: middle;" border="0" alt="Sad" title="Sad" />( اینم با مثال باشه بهتره!<img src="http://forum.iranphp.org/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" />)<br />
سوال سوم : تابع __autoload() به چه کاری میاد؟ <img src="http://forum.iranphp.org/images/smilies/undecided.gif" style="vertical-align: middle;" border="0" alt="Undecided" title="Undecided" /> (اینم  با مثال باشه<img src="http://forum.iranphp.org/images/smilies/wink.gif" style="vertical-align: middle;" border="0" alt="Wink" title="Wink" />)<br />
سوال چهارم : تابع __toString() به چه کاری میاد؟ <img src="http://forum.iranphp.org/images/smilies/blush.gif" style="vertical-align: middle;" border="0" alt="Blush" title="Blush" /> ( اینم مثال داشت که بهتر :cool<img src="http://forum.iranphp.org/images/smilies/smile.gif" style="vertical-align: middle;" border="0" alt="Smile" title="Smile" /><br />
<br />
یه سوال دیگم هست که گفتم دیگه تایپک باز نکنم اینه که ما موتور 7 رنگ قالب رو با کلاس بنویسیم سرعت لود بیشتره یا با جایگزینی (str_replace() ) <img src="http://forum.iranphp.org/images/smilies/huh.gif" style="vertical-align: middle;" border="0" alt="Huh" title="Huh" /><br />
<br />
ممنون از این سایت خوبتون...]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Object Return Self]]></title>
			<link>http://forum.iranphp.org/Thread-Object-Return-Self</link>
			<pubDate>Wed, 06 Jan 2010 19:11:28 +0000</pubDate>
			<guid isPermaLink="false">http://forum.iranphp.org/Thread-Object-Return-Self</guid>
			<description><![CDATA[سلام دوستان<br />
دیدید بعضی جاها به این صورت کد می نویسند<br />
<div class="codeblock phpcodeblock"><div class="title"> کد PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&#36;MyClass</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">function1</span><span style="color: #007700">(</span><span style="color: #DD0000">'value'</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">function2</span><span style="color: #007700">-()-&gt;</span><span style="color: #0000BB">anotherFunc</span><span style="color: #007700">-&gt;();&nbsp;<br /></span></code></div></div></div>
برای هر کسی این سوال پیش میاد که چطوری می شه اینطوری کد نویسی کرد ؟<br />
از نظر خوانایی ، سرعت تایپ هم بهتر به نظر می یاد تا اینکه هر بار نام کلاس رو فراخوانی کنیم و بعد نام تابع و سمی کالن و بعد دوباره همین کار و بعد دوباره همین کار<br />
<br />
این مثالی که می زنم خیلی سادست <br />
<br />
<div class="codeblock phpcodeblock"><div class="title"> کد PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">MyClass&nbsp;</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;</span><span style="color: #0000BB">func1</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"func1()&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">&#36;this</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;</span><span style="color: #0000BB">func2</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"func2()&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">&#36;this</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;</span><span style="color: #0000BB">func3</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"func3()&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">&#36;this</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;</span><span style="color: #0000BB">func4</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"func4()&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">&#36;this</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></span><span style="color: #0000BB">&#36;obj&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">MyClass</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">//&nbsp;You&nbsp;can&nbsp;do&nbsp;this:<br /></span><span style="color: #0000BB">&#36;obj</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">func1</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">&#36;obj</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">func2</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">&#36;obj</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">func3</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">&#36;obj</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">func4</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">//&nbsp;OR&nbsp;you&nbsp;can&nbsp;do&nbsp;this:<br /></span><span style="color: #0000BB">&#36;obj</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">func1</span><span style="color: #007700">()-&gt;</span><span style="color: #0000BB">func2</span><span style="color: #007700">()-&gt;</span><span style="color: #0000BB">func3</span><span style="color: #007700">()-&gt;</span><span style="color: #0000BB">func4</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">؟</span><span style="color: #007700">&gt;&nbsp;<br /></span></code></div></div></div>
در آینده روی این موضوع بیشتر بحث می کنیم البته بعد از مطرح کردن توابع جادویی]]></description>
			<content:encoded><![CDATA[سلام دوستان<br />
دیدید بعضی جاها به این صورت کد می نویسند<br />
<div class="codeblock phpcodeblock"><div class="title"> کد PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&#36;MyClass</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">function1</span><span style="color: #007700">(</span><span style="color: #DD0000">'value'</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">function2</span><span style="color: #007700">-()-&gt;</span><span style="color: #0000BB">anotherFunc</span><span style="color: #007700">-&gt;();&nbsp;<br /></span></code></div></div></div>
برای هر کسی این سوال پیش میاد که چطوری می شه اینطوری کد نویسی کرد ؟<br />
از نظر خوانایی ، سرعت تایپ هم بهتر به نظر می یاد تا اینکه هر بار نام کلاس رو فراخوانی کنیم و بعد نام تابع و سمی کالن و بعد دوباره همین کار و بعد دوباره همین کار<br />
<br />
این مثالی که می زنم خیلی سادست <br />
<br />
<div class="codeblock phpcodeblock"><div class="title"> کد PHP:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">MyClass&nbsp;</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;</span><span style="color: #0000BB">func1</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"func1()&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">&#36;this</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;</span><span style="color: #0000BB">func2</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"func2()&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">&#36;this</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;</span><span style="color: #0000BB">func3</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"func3()&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">&#36;this</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;</span><span style="color: #0000BB">func4</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"func4()&#092;n"</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;</span><span style="color: #0000BB">&#36;this</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></span><span style="color: #0000BB">&#36;obj&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">MyClass</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">//&nbsp;You&nbsp;can&nbsp;do&nbsp;this:<br /></span><span style="color: #0000BB">&#36;obj</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">func1</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">&#36;obj</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">func2</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">&#36;obj</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">func3</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">&#36;obj</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">func4</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">//&nbsp;OR&nbsp;you&nbsp;can&nbsp;do&nbsp;this:<br /></span><span style="color: #0000BB">&#36;obj</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">func1</span><span style="color: #007700">()-&gt;</span><span style="color: #0000BB">func2</span><span style="color: #007700">()-&gt;</span><span style="color: #0000BB">func3</span><span style="color: #007700">()-&gt;</span><span style="color: #0000BB">func4</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">؟</span><span style="color: #007700">&gt;&nbsp;<br /></span></code></div></div></div>
در آینده روی این موضوع بیشتر بحث می کنیم البته بعد از مطرح کردن توابع جادویی]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[می خوام کلاس درست کنم. کلاس چیه؟....]]></title>
			<link>http://forum.iranphp.org/Thread-%D9%85%DB%8C-%D8%AE%D9%88%D8%A7%D9%85-%DA%A9%D9%84%D8%A7%D8%B3-%D8%AF%D8%B1%D8%B3%D8%AA-%DA%A9%D9%86%D9%85-%DA%A9%D9%84%D8%A7%D8%B3-%DA%86%DB%8C%D9%87%D8%9F</link>
			<pubDate>Tue, 05 Jan 2010 12:22:55 +0000</pubDate>
			<guid isPermaLink="false">http://forum.iranphp.org/Thread-%D9%85%DB%8C-%D8%AE%D9%88%D8%A7%D9%85-%DA%A9%D9%84%D8%A7%D8%B3-%D8%AF%D8%B1%D8%B3%D8%AA-%DA%A9%D9%86%D9%85-%DA%A9%D9%84%D8%A7%D8%B3-%DA%86%DB%8C%D9%87%D8%9F</guid>
			<description><![CDATA[من می خوام با کمک هایدن سافت عزیز یه کلاس بنویسم برای دیتا بیس.<br />
<br />
از کجا شروع کنم؟]]></description>
			<content:encoded><![CDATA[من می خوام با کمک هایدن سافت عزیز یه کلاس بنویسم برای دیتا بیس.<br />
<br />
از کجا شروع کنم؟]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[تاپیک های مهم]]></title>
			<link>http://forum.iranphp.org/Thread-%D8%AA%D8%A7%D9%BE%DB%8C%DA%A9-%D9%87%D8%A7%DB%8C-%D9%85%D9%87%D9%85</link>
			<pubDate>Tue, 05 Jan 2010 12:09:01 +0000</pubDate>
			<guid isPermaLink="false">http://forum.iranphp.org/Thread-%D8%AA%D8%A7%D9%BE%DB%8C%DA%A9-%D9%87%D8%A7%DB%8C-%D9%85%D9%87%D9%85</guid>
			<description><![CDATA[کلیه تاپیک های مهم در اینجا جمع آوری میشوند تا کاربران تازه وارد سریع تر به جواب سوال های خودشون برسند.<br />
<br />
<div style="text-align: center;">( <span style="font-size: large;"><span style="color: #FF0000;">آخرین بروز رسانی در تاریخ 17 / 10 / 1388</span></span> )<br />
<span style="font-weight: bold;"> ( در صورتی که تاپیک خاصی رو مد نظر دارید پیام خصوصی بدید بعد از بررسی در صورت موافقت در اینجا قرار خواهد گرفت )</span></div>]]></description>
			<content:encoded><![CDATA[کلیه تاپیک های مهم در اینجا جمع آوری میشوند تا کاربران تازه وارد سریع تر به جواب سوال های خودشون برسند.<br />
<br />
<div style="text-align: center;">( <span style="font-size: large;"><span style="color: #FF0000;">آخرین بروز رسانی در تاریخ 17 / 10 / 1388</span></span> )<br />
<span style="font-weight: bold;"> ( در صورتی که تاپیک خاصی رو مد نظر دارید پیام خصوصی بدید بعد از بررسی در صورت موافقت در اینجا قرار خواهد گرفت )</span></div>]]></content:encoded>
		</item>
	</channel>
</rss>