<?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://1barnamenevis.ir/category/%d8%a2%d9%85%d9%88%d8%b2%d8%b4/%da%a9%db%8c%da%a9-%d9%be%db%8c%e2%80%8c%d8%a7%da%86%e2%80%8c%d9%be%db%8c/feed/" rel="self" type="application/rss+xml" />
	<link>http://1barnamenevis.ir</link>
	<description>دست نوشته های پراکنده سید مرتضی حسینی</description>
	<lastBuildDate>Thu, 09 Feb 2012 12:04:25 +0000</lastBuildDate>
	<language>fa</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>پروژه ای آزاد به نام QuickApps CMS با قدرت Cakephp2.0</title>
		<link>http://1barnamenevis.ir/1390/08/quickapps-cms-a-free-project-powered-by-cakephp2/</link>
		<comments>http://1barnamenevis.ir/1390/08/quickapps-cms-a-free-project-powered-by-cakephp2/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 23:35:12 +0000</pubDate>
		<dc:creator>مرتضی</dc:creator>
				<category><![CDATA[برنامه های رایگان]]></category>
		<category><![CDATA[خبر]]></category>
		<category><![CDATA[دانلود]]></category>
		<category><![CDATA[فناوری اطلاعات]]></category>
		<category><![CDATA[مقالات]]></category>
		<category><![CDATA[کیک پی‌اچ‌پی]]></category>
		<category><![CDATA[Cakephp2]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[l10n]]></category>
		<category><![CDATA[QuickApps CMS]]></category>
		<category><![CDATA[سیستم مدیریت محتوای رایگان]]></category>
		<category><![CDATA[کیک پی اچ پی]]></category>

		<guid isPermaLink="false">http://1barnamenevis.ir/?p=696</guid>
		<description><![CDATA[تمام کسایی که کارشون طراحی و برنامه نویسی وب هست همیشه به فکر داشتن یک سی ام اس پایه برای خودشون بودن و هستن . البته خیلی ها در مرحله تحلیل توی ذوقشون می خوره و متوقف می شن یا حد اقل موضوع رو موکول می کنن برای وقتی که زمان آزاد بیشتری داشته باشن [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">تمام کسایی که کارشون طراحی و برنامه نویسی وب هست همیشه به فکر داشتن یک <a href="http://fa.wikipedia.org/wiki/%D8%B3%D8%A7%D9%85%D8%A7%D9%86%D9%87%D9%94_%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA_%D9%85%D8%AD%D8%AA%D9%88%D8%A7">سی ام اس</a> پایه برای خودشون بودن و هستن . البته خیلی ها در مرحله تحلیل توی ذوقشون می خوره و متوقف می شن یا حد اقل موضوع رو موکول می کنن برای وقتی که زمان آزاد بیشتری داشته باشن یا تجربه بیشتری کسب کرده باشن . بعضی ها هم روش وقت می ذارن و بارها و بارها می نویسن و پاک می کنن تا به یه چیز قابل قبول می رسن . پروژه ای که امشب باهاش در <a href="http://bakery.cakephp.org">نانوایی رسمی کیک پی اچ پی</a> برخورد کردم برام بسیار جالب بود . یک <a href="http://fa.wikipedia.org/wiki/%D9%86%D8%B1%D9%85_%D8%A7%D9%81%D8%B2%D8%A7%D8%B1_%D8%A2%D8%B2%D8%A7%D8%AF">پروژه ی آزاد</a> که از <a href="http://cakephp.org">کیک پی اچ پی</a> ورژن ۲ قدرت گرفته . اسم این پروژه QuickApps CMS هست . به نظرم توسعه دهنده ش با ذوق و حوصله خوبی روش کار کرده و به جا های خوبی رسونده ش که حد اقل خوندن کد هاش می تونه یک مجموعه آموزشی کامل در زمینه توسعه وب باشه .</p>
<p style="text-align: justify;"><img class="aligncenter size-full wp-image-700" title="1_spa" src="http://1barnamenevis.ir/wp-content/uploads/2011/11/1_spa1.jpg" alt="" width="974" height="302" /></p>
<p style="text-align: justify;">در ادامه مطلب با من همراه باشید .</p>
<p><span id="more-696"></span></p>
<p style="text-align: justify;">محیط کاربری زیبای این سی ام اس باعث شد تا سرک دقیق تری به محیط مدیریت و کد پروژه بکشم . واقعا پروژه ی خوبی بود و همونطور که خود توسعه دهنده ش هم اشاره کرده یک الهام از روی <a href="http://drupal.org/">سی ام اس دروپال</a> هست . نکته ای برای گفتن نمونده جز اینکه این سیستم مدیریت محتوا به صورت پیش فرض زبان اسپانیولی داره ، ولی با پشتیبانی خوب کیک پی اچ پی و این پروژه از <a href="http://fa.wikipedia.org/wiki/%D8%AC%D9%87%D8%A7%D9%86%DB%8C%E2%80%8C%D8%B3%D8%A7%D8%B2%DB%8C_%D9%88_%D8%A8%D9%88%D9%85%DB%8C%E2%80%8C%D8%B3%D8%A7%D8%B2%DB%8C">I18n</a> می شه خیلی راحت اون رو به انگلیسی و یه شاید یه ذره سخت تر ( به خاطر راست به چپ بودن فارسی ) اون رو به فارسی ترجمه کرد .</p>
<p style="text-align: justify;">بیشتر از این توضیح نمی دم و گشت و گذار و کشف و کاوش رو به خودتون واگذار می کنم تا از این کار قوی لذت ببرید .</p>
<blockquote>
<p style="text-align: justify;"><span style="color: #ff0000;">به روز رسانی :</span></p>
<p style="text-align: justify;"><span style="color: #ff0000;">طبق توضیحاتی توسعه دهنده پروژه در بخش نظرات برای من ارسال کردند ظاهرا زبان دیفالت پروژه اسپانیولی نیست و من زمانی پروژه رو بررسی کردم که یک نفر توی تنظیمات نسخه ی آزمایشی زبان پروژه رو اسپانیولی تنظیم کرده</span></p>
</blockquote>
<blockquote>
<p style="text-align: left;">Download from Github : https://github.com/quickapps/QuickApps-CMS</p>
<p style="text-align: left;">Demo : http://demo.quickapps.es/admin</p>
<p style="text-align: left;">username : admin</p>
<p style="text-align: left;">password : demo123</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://1barnamenevis.ir/1390/08/quickapps-cms-a-free-project-powered-by-cakephp2/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>تعریف قالب در کیک پی اچ پی در یک دقیقه</title>
		<link>http://1barnamenevis.ir/1390/08/define-theme-for-cakephp-in-a-minute/</link>
		<comments>http://1barnamenevis.ir/1390/08/define-theme-for-cakephp-in-a-minute/#comments</comments>
		<pubDate>Wed, 26 Oct 2011 00:15:42 +0000</pubDate>
		<dc:creator>مرتضی</dc:creator>
				<category><![CDATA[آموزش]]></category>
		<category><![CDATA[ترفند]]></category>
		<category><![CDATA[فناوری اطلاعات]]></category>
		<category><![CDATA[مقالات]]></category>
		<category><![CDATA[کیک پی‌اچ‌پی]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[crud]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[قالب]]></category>
		<category><![CDATA[کیک پی اچ پی]]></category>

		<guid isPermaLink="false">http://1barnamenevis.ir/?p=667</guid>
		<description><![CDATA[من چون آموزش حضوری کیک پی اچ پی هم برگزار می کنم خیلی برام پیش اومده که یک نفر به محض اینکه سر از این در میاره که چطور CRUD بنویسه اولین سوالی که می پرسه اینه : &#8220;چطور حالا قالب درست کنم ؟&#8221; . و بسیار سوال خوبی هم هست . اگر بگم برای [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">من چون آموزش حضوری کیک پی اچ پی هم برگزار می کنم خیلی برام پیش اومده که یک نفر به محض اینکه سر از این در میاره که چطور <a title="CRUD" href="http://en.wikipedia.org/wiki/Create,_read,_update_and_delete" target="_blank">CRUD </a>بنویسه اولین سوالی که می پرسه اینه : &#8220;چطور حالا قالب درست کنم ؟&#8221; . و بسیار سوال خوبی هم هست .</p>
<p style="text-align: justify;">اگر بگم برای تعریف قالب در کیک پی اچ پی خیلی کم تر از یک دقیقه زمان لازم دارید چی می گید ؟</p>
<p style="text-align: justify;">نه &#8230; اصلا شوخی نیست فقط در کمتر از یک دقیق . چطور ؟ اینطوری :</p>
<p style="text-align: justify;">اول در کلاس AppController این کد رو بنویسید :</p>
<blockquote>
<p style="text-align: left; direction: ltr;">var $view = &#8216;Theme&#8217;;</p>
</blockquote>
<p style="text-align: justify;">مجددا در همون کلاس AppController این کد رو اضافه کنید :</p>
<blockquote>
<p style="direction: ltr; text-align: left;">var $theme = &#8216;blue&#8217;;</p>
</blockquote>
<p style="text-align: justify;">این تمام کاری بود که باید انجام می دادید . الان مسیر قالب شما اینجاست :</p>
<blockquote>
<p style="direction: ltr; text-align: left;">app/views/themed/blue/</p>
</blockquote>
<p style="text-align: justify;">حالا باید ویو ها و لایوت ها تون رو توی این مسیر بسازید :</p>
<blockquote>
<p style="direction: ltr; text-align: left;">layouts : app/views/themed/blue/layouts</p>
<p style="text-align: left;">elements : app/views/themed/blue/elements</p>
<p style="text-align: left;">&#8230;</p>
</blockquote>
<p style="text-align: justify;">اگر تمی که تعریف کردید مسیرش وجود داشته باشه ازش استفاده میشه در غیر اینصورت کیک پی اچ پی روی تم دیفالت خودش سوئیچ می کنه .</p>
<p style="text-align: justify;">شما حتا می تونید برای قالب تون استایل ، جاوا اسکریپت و &#8230; اختصاصی تعریف کنید :</p>
<blockquote>
<p style="direction: ltr; text-align: left;">app/webroot/themed/blue/css</p>
<p style="direction: ltr; text-align: left;">app/webroot/blue/js</p>
<p style="direction: ltr; text-align: left;">&#8230;</p>
</blockquote>
<p style="text-align: justify;">خیلی آسون بود ! مگه نه ؟</p>
<p style="text-align: justify;">پ.ن : شاید این مسائل برای خیلی از دوستان ساده و پیش پا افتاده به نظر بیاد اما خوبه که با صرف نیم ساعت وقت همین مسائل ساده رو توضیح بدیم توی وبلاگ ها مون تا به گسترش منابع فارسی کمک کنیم .</p>
<p style="text-align: justify;">موفق باشید</p>
]]></content:encoded>
			<wfw:commentRss>http://1barnamenevis.ir/1390/08/define-theme-for-cakephp-in-a-minute/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>نگاهی به تغییرات نسخه ۲ پایدار CakePHP + پادکست</title>
		<link>http://1barnamenevis.ir/1390/08/take-a-look-at-cakephp-2-stable-changeslog/</link>
		<comments>http://1barnamenevis.ir/1390/08/take-a-look-at-cakephp-2-stable-changeslog/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 03:27:58 +0000</pubDate>
		<dc:creator>مرتضی</dc:creator>
				<category><![CDATA[برنامه های رایگان]]></category>
		<category><![CDATA[خبر]]></category>
		<category><![CDATA[فناوری اطلاعات]]></category>
		<category><![CDATA[مقالات]]></category>
		<category><![CDATA[پادکست ها]]></category>
		<category><![CDATA[کیک پی‌اچ‌پی]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[انتشار کیک]]></category>
		<category><![CDATA[فریم ورک]]></category>
		<category><![CDATA[پادکست]]></category>
		<category><![CDATA[کیک پی اچ پی]]></category>

		<guid isPermaLink="false">http://1barnamenevis.ir/?p=644</guid>
		<description><![CDATA[سلام خبر خوشحال کننده ای که این روز ها بین کسایی که می شناسمشون رد و بدل می شه انتشار نسخه پایدار CakePHP 2.0.0 هست . توی جمع های تخصصی تر صحبت های زیادی از این نسخه هست که چه تغییراتی داشته . بعضی منابع گفتن که حدود ۲۰ الی ۴۰ درصد سریع تر شده [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">سلام</p>
<p style="text-align: justify;">خبر خوشحال کننده ای که این روز ها بین کسایی که می شناسمشون رد و بدل می شه انتشار نسخه پایدار CakePHP 2.0.0 هست .</p>
<p style="text-align: justify;"><img class="aligncenter size-full wp-image-650" title="cake.logo" src="http://1barnamenevis.ir/wp-content/uploads/2011/10/cake.logo_.png" alt="" width="316" height="120" /></p>
<p style="text-align: justify;">توی جمع های تخصصی تر صحبت های زیادی از این نسخه هست که چه تغییراتی داشته . <a href="http://www.dereuromark.de/2011/10/18/more-great-news-cake2-0-stable-is-out/" target="_blank">بعضی منابع گفتن که حدود ۲۰ الی ۴۰ درصد سریع تر شده</a> . البته این چندان هم دور از ذهن نیست .</p>
<p style="text-align: justify;">سری به <a href="http://cakephp.org" target="_blank">سایت رسمی کیک پی اچ پی</a> زدم و بصورت عامیانه <a href="http://bakery.cakephp.org/articles/lorenzo/2011/10/16/cakephp_2_0_released" target="_blank">لیست تغییرات این نسخه</a> رو ترجمه کردم تا اطلاعات موثق و دقیق تری در این باره کسب کنم و فکر کردم خوبه که اینجا هم منتشر کنم تا شما هم به اندازه من لذت ببرید از این ویژگیها .</p>
<p style="text-align: justify;">برای خودم هم خیلی جالب بود این لیست .</p>
<p style="text-align: justify;">توجه شما رو به لیست تغییرات مهم CakePHP 2.0.0  جلب می کنم . در ادامه مطلب با من همراه باشید . (پادکست و متن تکمیلی در ادامه)</p>
<p style="text-align: justify;"><span id="more-644"></span></p>
<p style="text-align: justify;">اگر حوصله خوندن متن رو ندارید می تونید پادکست متن رو گوش کنید یا از <a href="http://1barnamenevis.ir/wp-content/uploads/2011/10/Cake2.mp3" target="_blank">این لینک</a> دانلودش کنید :</p>
<p><object width="295" height="24" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://parsig.persiangig.com/Download/player.swf" /><param name="quality" value="high" /><param name="pluginspage" value="http://www.macromedia.com/go/getflashplayer" /><param name="flashvars" value="width=290&amp;height=24&amp;autostart=no&amp;bg=0xCCCCCC&amp;leftbg=0xFFBF00&amp;border=0xddddd&amp;text=0x000000&amp;soundFile=http://1barnamenevis.ir/wp-content/uploads/2011/10/Cake2.mp3" /><embed width="295" height="24" type="application/x-shockwave-flash" src="http://parsig.persiangig.com/Download/player.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="width=290&amp;height=24&amp;autostart=no&amp;bg=0xCCCCCC&amp;leftbg=0xFFBF00&amp;border=0xddddd&amp;text=0x000000&amp;soundFile=http://1barnamenevis.ir/wp-content/uploads/2011/10/Cake2.mp3" /></object></p>
<p style="text-align: justify;">از تغییرات مهم کیک پی اچ پی در نسخه ۲ می توان به موارد زیر اشاره کرد :</p>
<ul style="text-align: justify;">
<li>پشتیبانی از php 4 متوقف شد و تمام کد ها به شدت با php 5.2 به بالا سازگار شده .</li>
<li>از ویژگی های بومی مانند استثناء ها ، PDO ، SPL ، json_encode و &#8230; استفاده شده .</li>
<li>برای نام گذاری فایل ها از <a href="http://www.phphatesme.com/blog/php/psr-0-namespaces-richtig-auflosen/" target="_blank">استاندارد PSR-0</a> استفاده شده و الآن تمام کلاس های شما از یک الگوی نام گذاری مشابه استفاده می کنه و باعث می شه مجبور نباشید چیزهای زیادی رو حفظ کنید .</li>
<li>سیستم مدیریت استثناء ها و خطا های جدید انجام تنظیمات رو آسون تر کرده و راحت تر می تونید با خطا هایی مثل &#8221; صفحه مورد نظر پیدا نشد&#8221; ، &#8220;دسترسی غیر مجاز&#8221; و &#8230; کار کنید .</li>
<li>توابع I18n (جهانی سازی) برای توسیعه چند زبانه بهبود پیدا کرده .</li>
<li>می تونید اشیائی که خودتون ایجاد کردید رو به کیک تزریق کنید تا مثل کتاب خونه های کیک پی اچ پی عمل کنن ، مثل کامپوننت ها ، کمک کننده ها و رفتار کننده ها . دیگه هیچ بهانه ای ندارید برای دستکاری هسته کیک پی اچ پی .</li>
<li>کتابخانه های کنسول از ابتدا بازسازی شدن .</li>
<li>دو شی جدید به نام های Request و Response به کیک اضافه شدن تا بتونن آسون تر درخواست های HTTP رو هندل کنن .</li>
<li>سیستم مدیریت نشست ها ( session ) برای استفاده با موتور شخصی سازی شده بهتر شده .نشست ها رو می تونید توی فضاهایی مثل Memcache ذخیره کنید با تلاش و زحمت کم تری .</li>
<li>سیستم Auth کاملا بازسازی شده . تنظیم و افزودن این قسمت به پروژه شما برای سرویس لاگین خارجی یا سیستم سطوح دسترسی آسون تر شده .</li>
<li>یک کتابخانه جدید برای ایمیل اضافه شده که از انتقالات چندگانه پشتیبانی می کنه .</li>
<li>واحد تست SimpleUnit حذف شده و به جای اون PHPUnit جایگزین شده . PHPUnit یک فریم ورک واحد آزمایش برای پی اچ پی هست با پشتیبانی امکانات بیشتر ، اشیاء تقلیدی بهتر و خروجی کنسول بهبود یافته تر .</li>
<li>مجددا روی کامپوننت Security کار شده . الآن شما می تونید آسون تر از برنامه هاتون در برابر CSRF و حملات دستکاری حفاظت کنید .</li>
<li>پشتیبانی از PostgreSql ، SQLite و SQLServer بهتر شده .</li>
<li>یک خبر خوب اینکه input های HTML 5 در کمک کننده form پشتیبانی می شه .</li>
<li>به صورت پیشفرض نگاه جذاب تری به استفاده از ویژگی های CSS 3 شده .</li>
<li>خیلی سریع تر شده . تقریبا همه چیز الان به صورت lazy-loaded هست . و حتا در حالت دیباگ (Debug mode) شما احساس خواهید کرد که برنامه تون پرواز می کنه .</li>
</ul>
<p style="text-align: justify;">می تونید نسخه اصلی این متن رو در <a href="http://bakery.cakephp.org/articles/lorenzo/2011/10/16/cakephp_2_0_released" target="_blank">CakePHP 2.0 released</a> در سایت رسمی <a href="http://cakephp.org" target="_blank">CakePHP</a> مطالعه کنید .</p>
<p style="text-align: justify;">امیدوارم این مطلب برای شما مفید بوده باشه .</p>
<p style="text-align: justify;">پیروز باشید</p>
]]></content:encoded>
			<wfw:commentRss>http://1barnamenevis.ir/1390/08/take-a-look-at-cakephp-2-stable-changeslog/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
<enclosure url="http://1barnamenevis.ir/wp-content/uploads/2011/10/Cake2.mp3" length="5103827" type="audio/mpeg" />
		</item>
		<item>
		<title>کیک پی اچ پی » ذخیره‌سازی خودکار ، درد سر ، راه حل</title>
		<link>http://1barnamenevis.ir/1389/10/save-method-problem-solution-in-cakephp/</link>
		<comments>http://1barnamenevis.ir/1389/10/save-method-problem-solution-in-cakephp/#comments</comments>
		<pubDate>Sat, 15 Jan 2011 12:17:02 +0000</pubDate>
		<dc:creator>مرتضی</dc:creator>
				<category><![CDATA[آموزش]]></category>
		<category><![CDATA[فناوری اطلاعات]]></category>
		<category><![CDATA[مقالات]]></category>
		<category><![CDATA[کیک پی‌اچ‌پی]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[امنیت]]></category>
		<category><![CDATA[باگ]]></category>
		<category><![CDATA[کیک پی اچ پی]]></category>

		<guid isPermaLink="false">http://1barnamenevis.ir/1389/10/</guid>
		<description><![CDATA[سلام امیدوارم حال‌تون خوب باشه و ایام به کام‌تون باشه . تصمیم گرفتم مطالبم کوتاه باشه ولی در عوض اینجا رو زود به زود به روز کنم . برای همین خیلی سریع می رم سراغ یکی از قابلیت های کیک پی اچ پی که در اول کار خیلی شیرینه و سرعت کار رو خیلی بالا [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="cake book" src="http://1barnamenevis.ir/wp-content/uploads/2010/04/cake-book.png" alt="" width="147" height="129" /></p>
<p style="text-align: justify;">سلام</p>
<p style="text-align: justify;">امیدوارم حال‌تون خوب باشه و ایام به کام‌تون باشه .</p>
<p style="text-align: justify;">تصمیم گرفتم مطالبم کوتاه باشه ولی در عوض اینجا رو زود به زود به روز کنم .</p>
<p style="text-align: justify;">برای همین خیلی سریع می رم سراغ یکی از قابلیت های کیک پی اچ پی که در اول کار خیلی شیرینه و سرعت کار رو خیلی بالا می بره ، اما یک مشکل امنیتی برای ما به وجود میاره و نهایتا هم بگیم چه‌کار باید کرد برای رفع این مشکل !</p>
<p><span id="more-597"></span></p>
<p style="text-align: justify;">حالا این قابلیت چیه ؟ الان می‌گم . کد زیر رو ببینید :</p>
<pre class="brush:php" style="text-align: justify;">$this-&gt;Model-&gt;save($this-&gt;data);
</pre>
<p style="text-align: justify;">هر فیلد و مقداری که از به کنترلر پست بشه ، در مدل ذخیره می شه . خب این خیلی خوبه و کار رو راحت می‌کنه . دیگه این‌طوری لازم نیست دونه‌دونه هر فیلد و مقدارش رو تعریف کنیم .<br />
اما کجا مشکل به وجود میاره ؟ جدول زیر رو در نظر بگیرید :</p>
<pre class="brush:sql" style="text-align: justify;">CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
  `password` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
  `email` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
  `status` tinyint(4) DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
</pre>
<p style="text-align: justify;">فرض کنید می‌خوایم یک اکشن ثبت‌نام بنویسیم . همون‌طور که می‌بینید فیلد status بصورت دیفالت اگر بهش مقداری پاس نشه &#8220;صفر&#8221; خواهد بود و چون این فیلد در فرم مربوط به ثبت نمیاد قائدتا مقدارش صفر ثبت می‌شه تا کاربر از طریق مدیر یا ایمیل فعال‌سازی این فیلد به مقدار &#8220;یک&#8221; تغییر پیدا کنه !</p>
<p style="text-align: justify;">تا اینجا مشکلی نیست ، پس به روش زیر عمل می کنیم :</p>
<pre class="brush:php" style="text-align: justify;">function register(){
	if(!empty($this-&gt;data)){
		$this-&gt;User-&gt;save($this-&gt;data);
	}
}
</pre>
<p style="text-align: justify;">اما یک سوسکِ فضول و قدرتمندی وجود داره به اسم Firebug که می‌تونه در کد‌های HTML و CSS سایت دست ببره !</p>
<p style="text-align: justify;">خب حالا اگر یک آدم بیکار و البته خوش‌فکری پیدا شد و در view مربوط به عملیات ثبت‌نام یک فیلد به اسم status ایجاد کرد و موقع ثبت نام مقدارش رو &#8220;۱&#8243;  قرار داد چه اتفاقی می‌افته ؟ آفرین درسته ! پس مقدار اون فیلد هم به مدل پاس می‌شه و بدون اینکه نیاز باشه مدیر تایید کنه یا ایمیل فعال‌سازی رو کلیک کنه اکانتش در همون ابتدای ایجاد فعال خواهد بود ! خیلی اوضاع ناجور شد ! مگه نه !؟ <img src='http://1barnamenevis.ir/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p style="text-align: justify;">حالا چه‌کار کنیم با این مصیبت ؟ نگران نباشید ! دو تا راه حل ساده داره !</p>
<p style="text-align: justify;">راه حل من‌در‌آوردی ( <img src='http://1barnamenevis.ir/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ) اول :</p>
<pre class="brush:php" style="text-align: justify;">function register(){
	if(!empty($this-&gt;data)){
		unset($this-&gt;data['User']['status']);
		$this-&gt;User-&gt;save($this-&gt;data);
	}
}
</pre>
<p style="text-align: justify;">این که خیلی ساده‌ست و نیاز به توضیح نداره ! اما از اونجایی که معمولا خود برنامه‌نویس های کیک پی اچ پی فکر همه‌جا رو کردن یک راه حل منطقی و جالب هم اونا واسه ما گذاشتن :</p>
<pre class="brush:php" style="text-align: justify;">function register(){
	if(!empty($this-&gt;data)){
		$this-&gt;User-&gt;save($this-&gt;data, true, array('username', 'password', 'email'));
	}
}
</pre>
<p style="text-align: justify;">یک توضیح مختصر :</p>
<p style="text-align: justify;">متد save سه تا آرگومان می‌تونه بگیره . آرگومان اول آرایه‌ای از فیلد ها و مقادیر ، آرگومان دوم وضعیتِ فعال بودن validation (اعتبارسنجی) و آرگومان سوم که موضوع بحث ما هست آرایه‌ای از فیلد های مجاز !</p>
<p style="text-align: justify;">به همین سادگی ، به همین خوشمزگی .</p>
<p style="text-align: justify;">اگر هنوز هم برای شما سوالی وجود داشت می‌تونید در نظرات همین وبلاگ و یا در <a href="http://forum.cakephp.ir" target="_blank">انجمن پشتیبانی و توسعه فارسی CakePHP</a> مطرح کنید تا اگر بلد باشم به شما پاسخ بدم .</p>
<p style="text-align: justify;">موفق باشید</p>
]]></content:encoded>
			<wfw:commentRss>http://1barnamenevis.ir/1389/10/save-method-problem-solution-in-cakephp/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>مختصر و مفید » واکشی اطلاعات در کیک پی اچ پی</title>
		<link>http://1barnamenevis.ir/1389/10/retrieving-data-in-cakephp/</link>
		<comments>http://1barnamenevis.ir/1389/10/retrieving-data-in-cakephp/#comments</comments>
		<pubDate>Thu, 13 Jan 2011 08:09:26 +0000</pubDate>
		<dc:creator>مرتضی</dc:creator>
				<category><![CDATA[آموزش]]></category>
		<category><![CDATA[فناوری اطلاعات]]></category>
		<category><![CDATA[مقالات]]></category>
		<category><![CDATA[کیک پی‌اچ‌پی]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[retrieving]]></category>
		<category><![CDATA[پی اچ پی]]></category>
		<category><![CDATA[کیک پی اچ پی]]></category>

		<guid isPermaLink="false">http://1barnamenevis.ir/1389/10/</guid>
		<description><![CDATA[سلام همون‌طور که می‌دونید در کیک پی اچ پی برای واکشی اطلاعات از جداول از متد find استفاده می‌کنیم که شاید بشه گفت از پر‌کاربرد‌ترین دستورات کیک هست . برای اینکه بتونیم کوئری خوبی با استفاده از این متد بگیریم باید آپشن‌هایی که این متد قبول می‌کنه رو خوب بشناسیم و درست ازشون استفاده کنیم [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="cake book" src="http://1barnamenevis.ir/wp-content/uploads/2010/04/cake-book.png" alt="" width="147" height="129" /></p>
<p style="text-align: justify;">سلام</p>
<p style="text-align: justify;">همون‌طور که می‌دونید در <a href="http://cakephp.org" target="_blank">کیک پی اچ پی</a> برای واکشی اطلاعات از جداول از متد <a href="http://book.cakephp.org/view/1018/find" target="_blank">find</a> استفاده می‌کنیم که شاید بشه گفت از پر‌کاربرد‌ترین دستورات کیک هست . برای اینکه بتونیم کوئری خوبی با استفاده از این متد بگیریم باید آپشن‌هایی که این متد قبول می‌کنه رو خوب بشناسیم و درست ازشون استفاده کنیم .</p>
<p style="text-align: justify;">در این مطلب تصمیم دارم خیلی مختصر و مفید در مورد آپشن‌هایی که در یک <a href="http://book.cakephp.org/view/1018/find" target="_blank">find</a> خوشمزه در <a href="http://cakephp.org/" target="_blank">کیک پی اچ پی</a> می‌شه داشت صحبت کنم . اصلا هم حاشیه نمی‌رم . بریم سر اصل مطلب !<br />
<span id="more-588"></span><br />
این متد در ساده‌ترین حالت بصورت زیر نوشته می‌شه :</p>
<pre class="brush:php" style="text-align: justify;">$data = $this-&gt;Article-&gt;find('all');
</pre>
<p style="text-align: justify;">دستور فوق همه‌ی رکورد‌های جدول articles رو بصورت یک آرایه در متغیر data ذخیره می‌کنه .</p>
<p style="text-align: justify;">اما نکات مهم‌تر اون بر می‌گرده به بعد از عبارت &#8220;all&#8221; ! ما می‌تونیم در قالب یک آرایه آپشن‌ها رو به این متد بدیم و خروجی بگیریم .</p>
<p style="text-align: justify;">در کد زیز اسم آپشن‌ها و نوع و الگوی مقداری که می‌تونه بگیره رو می‌بینید :</p>
<pre class="brush:php" style="text-align: justify;">array(
'conditions' =&gt; array('Model.field' =&gt; $thisValue), // آرایه‌ای از شرط‌ها
'recursive' =&gt; 1, // یک مقدار عددی
'fields' =&gt; array('Model.field1', 'DISTINCT Model.field2'), // آرایه‌ای از لیست فیلد‌ها
'order' =&gt; array('Model.created', 'Model.field3 DESC'), // یک رشته یا یک آرایه از فیلد و الگوی مرتب‌سازی
'joins' =&gt; array(), // آرایه یا آرایه‌هایی از عملگر‌های جوین
'group' =&gt; array('Model.field'), // فیلد‌های گروه‌بندی
'limit' =&gt; n, // یک مقدار عددی
'page' =&gt; n, // یک مقدار عددی
'offset'=&gt; n, // یک مقدار عددی
'callbacks' =&gt; true // مقادیر false یا 'before' یا 'after'
)
</pre>
<p style="text-align: justify;">تمام این مقادیر بر می گرده به کوئری و معمولا با اون ها آشنایی دارید ، به غیر از آخری که ربطی به کوئری نداره ، بلکه تاثیر خودش رو توی مدل می‌ذاره .</p>
<p style="text-align: justify;">مقدار callbacks کارش مدیریت callback های قبل و بعد از find هست (afterFind, BeforeFind) . چهار مقدار می‌تونه داشته‌باشه :</p>
<ul>
<li>حالت true : این حالت ، حالت پیشفرض هست و اگر کلید callbacks رو مقدار‌دهی نکنید true هست . در این حالت afterFind و beforeFind فعال هستند .</li>
<li>حالت false : اگر مقدار callbacks حالت false باشه هر دو متد afterFind و beforeFind از کار می‌افتن .</li>
<li>حالت afterFind : این حالت callback مربوط به afterFind رو از کار میندازه .</li>
<li>حالت beforeFind : این حالت هم خب قائدتا beforeFind رو از کار میندازه .</li>
</ul>
<p style="text-align: justify;">انصافا این callbacks برا خودم هم جالب بود <img src='http://1barnamenevis.ir/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p style="text-align: justify;">خب ، این آرایه رو بر حسب نیاز تولید می‌کنیم و بصورت زیر به خورد متد find می‌دیم</p>
<p style="text-align: justify;">$this-&gt;Article-&gt;find(&#8216;all&#8217;, array( &#8230;. ));</p>
<p style="text-align: justify;">کافیه دیگه ! نه !؟</p>
<p style="text-align: justify;">سعی کردم این مطلب کوتاه باشه و به مخاطب سرنخ بده فقط ، اگر به توضیح بیشتر احتیاج داشتید می‌تونید به <a href="http://book.cakephp.org" target="_blank">کتاب آشپزی رسمی سایت کیک پی اچ پی</a> سری بزنید یا سوال‌های خودتون رو در <a href="http://forum.cakephp.ir" target="_blank">انجمن پشتیبانی و توسعه فارسی CakePHP</a> مطرح کنید .</p>
<p style="text-align: justify;">امیدوارم این پست برای شما مفید واقع شده باشه !</p>
]]></content:encoded>
			<wfw:commentRss>http://1barnamenevis.ir/1389/10/retrieving-data-in-cakephp/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>آموزش نصب کیک پی اچ پی ۱.۳ بر روی اوبوتو</title>
		<link>http://1barnamenevis.ir/1389/03/install-cakephp-1-3-on-ubuntu/</link>
		<comments>http://1barnamenevis.ir/1389/03/install-cakephp-1-3-on-ubuntu/#comments</comments>
		<pubDate>Sun, 30 May 2010 00:21:13 +0000</pubDate>
		<dc:creator>مرتضی</dc:creator>
				<category><![CDATA[آموزش]]></category>
		<category><![CDATA[ابزار های آنلاین]]></category>
		<category><![CDATA[اوبونتو]]></category>
		<category><![CDATA[برنامه های رایگان]]></category>
		<category><![CDATA[دانلود]]></category>
		<category><![CDATA[فناوری اطلاعات]]></category>
		<category><![CDATA[لینوکس]]></category>
		<category><![CDATA[مقالات]]></category>
		<category><![CDATA[کیک پی‌اچ‌پی]]></category>
		<category><![CDATA[aptitude]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[أموزش]]></category>
		<category><![CDATA[نصب]]></category>
		<category><![CDATA[پی اچ پی]]></category>
		<category><![CDATA[کیک]]></category>

		<guid isPermaLink="false">http://1barnamenevis.ir/?p=533</guid>
		<description><![CDATA[بعد از مهاجرت کامل به لینوکس ( اوبنتو ۱۰.۰۴ ) باید برنامه ها و ابزار های مورد نیازم رو هم منتقل می کردم . یکی از مهم ترین اون ها کیک پی اچ پی بود . نسخه ۱.۲ راحت نصب شد ولی برای ارتقاء به ۱.۳ چند تا کار اضافه هم باید می کردم که [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">بعد از مهاجرت کامل به لینوکس ( اوبنتو ۱۰.۰۴ ) باید برنامه ها و ابزار های مورد نیازم رو هم منتقل می کردم .</p>
<p style="text-align: justify;">یکی از مهم ترین اون ها کیک پی اچ پی بود . نسخه ۱.۲ راحت نصب شد ولی برای ارتقاء به ۱.۳ چند تا کار اضافه هم باید می کردم که اون ها رو اینجا هم می نویسم تا شاید به درد دیگران هم بخوره .</p>
<p style="text-align: justify;">دلیل این مسئله این بود که نسخه موجود بر روی مخزن ۱.۲ بود . یعنی نسخه قبلی .</p>
<p style="text-align: justify;">همون طور که برای نصب بقیه نرم افزار ها از دستور دوست داشتنی aptitude استفاده میکنیم برای کیک پی اچ پی هم به طریق زیر عمل می کنیم .</p>
<blockquote>
<p style="text-align: left;">sudo aptitude install cakephp</p>
</blockquote>
<p style="text-align: justify;">بعد از به پایان رسیدن نصب در همان محیط ترمینال دستور cake را اجرا می کنم . بعد از اجرا دستور با توضیحاتی درباره کیک پی اچ پی رو به رو خواهیم شد .</p>
<blockquote>
<p style="text-align: left;">Welcome to CakePHP v1.2.0 Console</p>
</blockquote>
<p style="text-align: justify;">اما این نسخه قدیمی شده و ما به نسخه ۱.۳ احتیاج داریم .</p>
<p style="text-align: justify;">برای حل این مسئله به <a href="http://cakephp.org" target="_blank">وبسایت رسمی کیک پی اچ پی</a> مراجعه می کنیم و آخرین نسخه کیک  که cakephp 1.3 stable هست رو دانلود می کنیم .</p>
<p style="text-align: justify;">فایل دانلود شده رو روی دسکتاپ ( در این مثال فرض بر اینه که فایل ها روی دسکتاپه ) از حالت فشرده خارج می کنیم و پوشه رو به cakephp تغییر نام می دیم .</p>
<p style="text-align: justify;">حالت دستور زیر رو اجرا می کنیم :</p>
<blockquote>
<p style="text-align: left;">sudo cp -R ~/Desktop/cakephp/cake* /usr/share/php</p>
</blockquote>
<p style="text-align: justify;">حالا اگر دستور cake رو در ترمینال اجرا کنیم باید کیک با نسخه ۱.۳ به ما خوش آمد بگه .</p>
<p style="text-align: justify;">امیدوارم این آموزش کوتاه مفید واقع بشه .</p>
<p style="text-align: justify;">موفق باشید .</p>
]]></content:encoded>
			<wfw:commentRss>http://1barnamenevis.ir/1389/03/install-cakephp-1-3-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>تعاملات شکلاتی در کیک سه طبقه -&gt; نگاهی به عملکرد CakePHP با معماری MVC</title>
		<link>http://1barnamenevis.ir/1389/01/chocolate-interactions-in-triple-decker-cake-mvc-in-cakephp/</link>
		<comments>http://1barnamenevis.ir/1389/01/chocolate-interactions-in-triple-decker-cake-mvc-in-cakephp/#comments</comments>
		<pubDate>Sat, 17 Apr 2010 10:38:12 +0000</pubDate>
		<dc:creator>مرتضی</dc:creator>
				<category><![CDATA[آموزش]]></category>
		<category><![CDATA[ابزار های آنلاین]]></category>
		<category><![CDATA[برنامه های رایگان]]></category>
		<category><![CDATA[فناوری اطلاعات]]></category>
		<category><![CDATA[مقالات]]></category>
		<category><![CDATA[کیک پی‌اچ‌پی]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[طراحی وب]]></category>
		<category><![CDATA[فریم ورک]]></category>
		<category><![CDATA[مدل-ویو-کنترلر]]></category>
		<category><![CDATA[پی اچ پی]]></category>
		<category><![CDATA[کیک پی اچ پی]]></category>

		<guid isPermaLink="false">http://1barnamenevis.ir/?p=506</guid>
		<description><![CDATA[قبل از هر چیز ، بابتِ توقفِ مجموعه‌ی آموزشیِ &#8220; پی‌اچ‌پی با طعمِ کیک &#8221; از شما عذر خواهی می‌کنم . شاید بزودی این آموزش‌ها را نیز دنبال کردم . اما در حالِ حاضر ، به دلیلِ کمبودِ وقت تصمیم دارم به بررسی زوایایِ مختلفِ کیک بپردازم و گاهی در موردِ نکته‌ها و ترفند‌هایش چیزی [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="cake book" src="http://1barnamenevis.ir/wp-content/uploads/2010/04/cake-book.png" alt="" width="147" height="129" /></p>
<p style="text-align: justify;">قبل از هر چیز ، بابتِ توقفِ مجموعه‌ی آموزشیِ &#8220;<a href="http://1barnamenevis.ir/category/%d8%a2%d9%85%d9%88%d8%b2%d8%b4/%da%a9%db%8c%da%a9-%d9%be%db%8c%e2%80%8c%d8%a7%da%86%e2%80%8c%d9%be%db%8c/" target="_blank"> پی‌اچ‌پی با طعمِ کیک</a> &#8221; از شما عذر خواهی می‌کنم . شاید بزودی <a href="http://1barnamenevis.ir/category/%d8%a2%d9%85%d9%88%d8%b2%d8%b4/%da%a9%db%8c%da%a9-%d9%be%db%8c%e2%80%8c%d8%a7%da%86%e2%80%8c%d9%be%db%8c/" target="_blank">این آموزش‌ها</a> را نیز دنبال کردم . اما در حالِ حاضر ، به دلیلِ کمبودِ وقت تصمیم دارم به بررسی زوایایِ مختلفِ <a href="http://en.wikipedia.org/wiki/Cakephp" target="_blank">کیک</a> بپردازم و گاهی در موردِ نکته‌ها و ترفند‌هایش چیزی بنویسم .</p>
<p style="text-align: justify;">همان‌طور که می‌دانید کیک از معماری <a href="http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller" target="_blank">MVC (مدل &#8211; ویو &#8211; کنترلر) </a>پیروی می‌کند . در پستِ کوتاهِ امروز ، قصد دارم با یک نمودارِ ساده ، نحوه‌ی تعاملِ این سه لایه در <a href="http://en.wikipedia.org/wiki/Cakephp" target="_blank">کیک</a> را به شما نشان دهم .</p>
<p style="text-align: justify;">
<p style="text-align: justify;">با ما همراه باشید<br />
<span id="more-506"></span><br />
<img class="alignnone size-full wp-image-508" title="CakePHP Diagram" src="http://1barnamenevis.ir/wp-content/uploads/2010/04/CakePHP-Diagram.jpg" alt="" width="500" height="500" /></p>
<p style="text-align: justify;">۱ &#8211; همانطور که می‌بینید کاربر تقاضایی را به وب سرور ارسال می‌کند .<br />
۲ &#8211; همانطور که از آدرسِ درخواستیِ کاربر پیداست این درخواست به کنترلر Tasks رفته و متد index را فراخوانی می‌کند .<br />
۳ &#8211; اطلاعاتِ درخواستیِ کاربر توسط کنترلر از مدل درخواست می‌شود .<br />
۴ &#8211; مدل ، پاسخ را به کنترلر بر می‌گرداند .<br />
۵ &#8211; ویوی مربوط به ایندکس گزینش می‌شود .<br />
۶ &#8211; ویوی انتخاب شده‌ی ایندکس در قالب کلی سایت قرار گرفته و آماده نمایش می‌شود .<br />
۷ &#8211; نتیجه‌ی عملیات به کاربر برگردانده می شود . اینجاست که کاربر بدون اینکه بداند در حال خوردن یک کیک خوشمزه‌ی سه طبقه است .</p>
<p style="text-align: justify;">نکته : طراحی این دیاگرام را من انجام نداده‌ام . تنها فارسی نویسی روی دیاگرام و نوشتن این توضیح مختصر در این وبلاگ توسط من انجام شده است .</p>
<p style="text-align: justify;">امیدوارم این پست برای شما مفید بوده باشد .</p>
]]></content:encoded>
			<wfw:commentRss>http://1barnamenevis.ir/1389/01/chocolate-interactions-in-triple-decker-cake-mvc-in-cakephp/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>معرفی دو کتاب در زمینه کیک پی اچ پی</title>
		<link>http://1barnamenevis.ir/1389/01/two-books-about-cakephp/</link>
		<comments>http://1barnamenevis.ir/1389/01/two-books-about-cakephp/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 16:37:57 +0000</pubDate>
		<dc:creator>مرتضی</dc:creator>
				<category><![CDATA[آموزش]]></category>
		<category><![CDATA[حرف های دوستانه]]></category>
		<category><![CDATA[دانلود]]></category>
		<category><![CDATA[فناوری اطلاعات]]></category>
		<category><![CDATA[مقالات]]></category>
		<category><![CDATA[کیک پی‌اچ‌پی]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[google books]]></category>
		<category><![CDATA[معرفی کتاب]]></category>
		<category><![CDATA[کتاب]]></category>
		<category><![CDATA[کتاب الکترونیکی]]></category>
		<category><![CDATA[کیک پی اچ پی]]></category>

		<guid isPermaLink="false">http://1barnamenevis.ir/?p=488</guid>
		<description><![CDATA[همان‌طور که می‌دانید این روز‌ها واقعا فرصت برای کار‌های روزمره کم می‌آید چه رسد به وبلاگ‌نویسی &#8230; ! اما در این پستِ کوتاه قصد دارم دو کتابِ ارزشمند در زمینه‌ی کیک پی‌اچ‌پی به شما معرفی کنم تا تاخیر در انتشارِ قسمتِ پنجم از مجموعه آموزش‌های کیک پی‌اچ‌پی جبران شود . کتاب های Beginning CakePHP From [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: right;">همان‌طور که می‌دانید این روز‌ها واقعا فرصت برای کار‌های روزمره کم می‌آید چه رسد به وبلاگ‌نویسی &#8230; ! اما در این پستِ کوتاه قصد دارم دو کتابِ ارزشمند در زمینه‌ی کیک پی‌اچ‌پی به شما معرفی کنم تا تاخیر در انتشارِ قسمتِ پنجم از <a href="http://1barnamenevis.ir/category/%d8%a2%d9%85%d9%88%d8%b2%d8%b4/%da%a9%db%8c%da%a9-%d9%be%db%8c%e2%80%8c%d8%a7%da%86%e2%80%8c%d9%be%db%8c/" target="_blank">مجموعه آموزش‌های کیک پی‌اچ‌پی</a> جبران شود .</p>
<p style="text-align: center;"><img title="http://1barnamenevis.ir/wp-content/uploads/2010/03/practical.jpg" src="http://1barnamenevis.ir/wp-content/uploads/2010/03/practical.jpg" alt="" /> <img title="Beginning CakePHP From Novice to Professional" src="http://1barnamenevis.ir/wp-content/uploads/2010/03/ntop.jpg" alt="" /></p>
<p style="text-align: center;">
<p><span id="more-488"></span></p>
<p style="text-align: justify;">کتاب های Beginning CakePHP From Novice to Professional و Practical CakePHP Projects از جمله کتاب های مفید در زمینه فریم‌ورک کیک پی‌اچ‌پی است .</p>
<p style="text-align: justify;">این دو کتاب را می‌توانید در <a href="http://books.google.com" target="_blank">گوگل‌کتاب (Google Books)</a> مشاهده کنید و بصورت آنلاین بخوانید و یا خریداری کنید (<a href="http://books.google.com/books?id=Zaqqcku8GEgC&amp;lpg=PP1&amp;dq=Beginning%20CakePHP%20From%20Novice%20to%20Professional&amp;pg=PP1#v=onepage&amp;q=&amp;f=false" target="_blank">لینک </a>و<a href="http://books.google.com/books?id=3S0O6Egf-_4C&amp;lpg=PP1&amp;dq=Practical%20CakePHP%20Projects&amp;pg=PP1#v=onepage&amp;q=&amp;f=false" target="_blank"> لینک</a>) . البته این راهی است که من برای تهیه‌ی این کتاب به شما توصیه می‌کنم . اما می‌توانید این کتاب ها را رایگان از لینک های زیر دریافت نمایید .</p>
<blockquote>
<p style="text-align: justify;">دانلود</p>
<p style="text-align: left;"><a href="http://1barnamenevis.ir/wp-content/uploads/2010/03/CakePHP.From_.Novice.to_.Professional.Jul_.2008.pdf" target="_blank">Beginning CakePHP From Novice to Professional</a></p>
<p style="text-align: left;"><a href="http://1barnamenevis.ir/wp-content/uploads/2010/03/Practical-CakePHP-Projects.pdf" target="_blank">Practical CakePHP Projects</a></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://1barnamenevis.ir/1389/01/two-books-about-cakephp/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>پی‌اچ‌پی با طعم کیک – قسمت چهارم</title>
		<link>http://1barnamenevis.ir/1389/01/php-with-cake-taste-cakephp-04/</link>
		<comments>http://1barnamenevis.ir/1389/01/php-with-cake-taste-cakephp-04/#comments</comments>
		<pubDate>Sun, 21 Mar 2010 13:37:01 +0000</pubDate>
		<dc:creator>مرتضی</dc:creator>
				<category><![CDATA[آموزش]]></category>
		<category><![CDATA[برنامه های رایگان]]></category>
		<category><![CDATA[فناوری اطلاعات]]></category>
		<category><![CDATA[مقالات]]></category>
		<category><![CDATA[کیک پی‌اچ‌پی]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[cake]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[بانک اطلاعاتی]]></category>
		<category><![CDATA[برنامه‌نویسی]]></category>
		<category><![CDATA[فریم‌ورک]]></category>
		<category><![CDATA[مای‌اس‌کیو‌ال]]></category>
		<category><![CDATA[وبلاگ]]></category>
		<category><![CDATA[پی‌اچ‌پی]]></category>
		<category><![CDATA[کیک]]></category>

		<guid isPermaLink="false">http://1barnamenevis.ir/?p=472</guid>
		<description><![CDATA[اولین روزِ سالِ ۸۹ را با یک قسمتِ دیگر از آموزش‌های &#8221; پی‌اچ‌پی با طعم کیک &#8221; شروع می‌کنم . امیدوارم این سال برای من و همه سالی سرشار از آموخته‌های سودمند باشد . در قسمت‌های گذشته چیز‌هایی بصورت تئوری و کمی عملی درباره‌ی کیک آموختیم . برای دیدنِ آموزش‌های قبلی می توانید به اینجا [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="alignright size-full wp-image-373" title="cake-logo" src="http://1barnamenevis.ir/wp-content/uploads/2010/01/cake-logo.png" alt="" width="200" height="200" />اولین روزِ سالِ ۸۹ را با یک قسمتِ دیگر از آموزش‌های &#8221; <a href="http://1barnamenevis.ir/category/%d8%a2%d9%85%d9%88%d8%b2%d8%b4/%da%a9%db%8c%da%a9-%d9%be%db%8c%e2%80%8c%d8%a7%da%86%e2%80%8c%d9%be%db%8c/" target="_blank">پی‌اچ‌پی با طعم کیک</a> &#8221; شروع می‌کنم . ا<a href="http://1barnamenevis.ir/1388/12/1389/" target="_blank">میدوارم این سال برای من و همه سالی سرشار از آموخته‌های سودمند باشد</a> . در <a href="http://1barnamenevis.ir/category/%d8%a2%d9%85%d9%88%d8%b2%d8%b4/%da%a9%db%8c%da%a9-%d9%be%db%8c%e2%80%8c%d8%a7%da%86%e2%80%8c%d9%be%db%8c/" target="_blank">قسمت‌های گذشته</a> چیز‌هایی بصورت تئوری و کمی عملی درباره‌ی کیک آموختیم . برای دیدنِ آموزش‌های قبلی می توانید به <a href="http://1barnamenevis.ir/category/%d8%a2%d9%85%d9%88%d8%b2%d8%b4/%da%a9%db%8c%da%a9-%d9%be%db%8c%e2%80%8c%d8%a7%da%86%e2%80%8c%d9%be%db%8c/" target="_blank">اینجا</a> سری بزنید . در این قسمت قصد داریم شما را با تنظیماتِ بانک اطلاعاتی در کیک آشنا کنیم . نکته‌ای که از اینجا به بعد مهم می‌شود این است که مطالب را حفظ نکنید . بلکه با منطقِ کیک آشنا شوید تا بتوانید آن را به ابعادِ مختلفِ پروژه‌ی خود تعمیم دهید .</p>
<p style="text-align: justify;">بعد از این مقدمه‌ی کوتاه به سراغِ این قسمت از مجموعه‌ی آموزشیِ &#8220;<a href="http://1barnamenevis.ir/category/%d8%a2%d9%85%d9%88%d8%b2%d8%b4/%da%a9%db%8c%da%a9-%d9%be%db%8c%e2%80%8c%d8%a7%da%86%e2%80%8c%d9%be%db%8c/" target="_blank"> پی اچ پی با طعم کیک </a>&#8221; می‌رویم .</p>
<p style="text-align: justify;">با ما همراه باشید .</p>
<p style="text-align: justify;"><span id="more-472"></span></p>
<p style="text-align: justify;"><strong>انجامِ تنظیماتِ بانکِ اطلاعاتی در کیک</strong></p>
<p style="text-align: justify;">بیایید برایِ کیک مشخص کنیم که از کجا و چطور به بانک اطلاعاتیِ ما متصل شود . در اکثر پروژه‌ها این اولین و آخرین باری است که این کار را انجام می‌دهیم .</p>
<p style="text-align: justify;">از فایل تنظیماتِ دیتا‌بیسِ کیک ، که در آدرس زیر قرار دارد یک کپی در همان‌جا تهیه کنید و نامش را به database.php تغییر دهید . در واقع کلمه‌ی default را از انتهایِ نامِ فایل حذف کنید .</p>
<pre class="brush:php" style="text-align: justify;">/app/config/database.php.default
</pre>
<p style="text-align: justify;">فایلِ مذکور را باز کنید . فایل تنظیمات باید برایتان جالب باشد . فقط در آرایه‌ی defualt تنظیماتِ خود را جایگزین کنید . یک نمونه‌ی تکمیل شده از فایل تنظیمات را می‌توانید در پایین ببینید .</p>
<pre class="brush:php" style="text-align: justify;">var $default = array(
	'driver' =&gt; 'mysql',
	'persistent' =&gt; 'false',
	'host' =&gt; 'localhost',
	'port' =&gt; '',
	'login' =&gt; 'cakeBlog',
	'password' =&gt; 'c4k3-rUl3Z',
	'database' =&gt; 'cake_blog_tutorial',
	'schema' =&gt; '',
	'prefix' =&gt; '',
	'encoding' =&gt; ''
);
</pre>
<p style="text-align: justify;">بعد از اینکه فایل database.php را ذخیره کردید شما باید بتوانید در مروگر صفحه‌ی &#8221; خوش آمد گویی &#8221; کیک را ببینید . این صفحه باید به شما بگوید که اطلاعات و ارتباطات دیتا بیس شما را پیدا کرده است و کیک می‌تواند با موفقیت با دیتا‌بیس ارتباط برقرار کند .</p>
<p style="text-align: justify;">این قسمت هم به پایان رسید . امیدوارم از این قسمت از آموزش استفاده کافی برده باشید .<br />
سال خوبی را برای شما آرزو می‌کنم .</p>
<p style="text-align: left;">Reference : <a href="http://book.cakephp.org/view/331/Cake-Database-Configuration" target="_blank">http://book.cakephp.org/view/331/Cake-Database-Configuration</a></p>
<p style="text-align: justify;">یادآوری می‌کنم این مطلب انحصارا برای <a href="http://1barnamenevis.ir" target="_blank">این وبلاگ </a>و <a href="http://forum.cakephp.ir/" target="_blank">انجمن پشتیبانی و توسعه فارسی کیک پی‎اچ‌پی</a> نوشته شده است و استفاده از آن تنها با ذکر منبع مجاز است .</p>
<blockquote>
<p style="text-align: justify;">آنچه گذشت</p>
<p style="text-align: justify;"><a href="../1388/12/php-with-cake-taste-cakephp-01/" target="_blank">پی‌اچ‌پی با طعم کیک – قسمت اول</a></p>
<p style="text-align: justify;"><a href="../1388/12/php-with-cake-taste-cakephp-02/" target="_blank">پی‌اچ‌پی با طعم کیک – قسمت دوم</a></p>
<p style="text-align: justify;"><a href="http://1barnamenevis.ir/1388/12/php-with-cake-taste-cakephp-03/" target="_blank">پی‌اچ‌پی با طعم کیک – قسمت سوم</a></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://1barnamenevis.ir/1389/01/php-with-cake-taste-cakephp-04/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>پی‌اچ‌پی با طعم کیک – قسمت سوم</title>
		<link>http://1barnamenevis.ir/1388/12/php-with-cake-taste-cakephp-03/</link>
		<comments>http://1barnamenevis.ir/1388/12/php-with-cake-taste-cakephp-03/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 00:30:21 +0000</pubDate>
		<dc:creator>مرتضی</dc:creator>
				<category><![CDATA[آموزش]]></category>
		<category><![CDATA[برنامه های رایگان]]></category>
		<category><![CDATA[فناوری اطلاعات]]></category>
		<category><![CDATA[مقالات]]></category>
		<category><![CDATA[کیک پی‌اچ‌پی]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[cake]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[بانک اطلاعاتی]]></category>
		<category><![CDATA[برنامه‌نویسی]]></category>
		<category><![CDATA[فریم‌ورک]]></category>
		<category><![CDATA[مای‌اس‌کیو‌ال]]></category>
		<category><![CDATA[وبلاگ]]></category>
		<category><![CDATA[پی‌اچ‌پی]]></category>
		<category><![CDATA[کیک]]></category>

		<guid isPermaLink="false">http://1barnamenevis.ir/?p=444</guid>
		<description><![CDATA[قصد داشتم برای تبریکِ عیدِ نوروز مطلبی را آماده کنم . اما دیدم مفید‌تر خواهد بود اگر به عنوانِ تبریک و عیدی قسمت دیگری از سلسله آموزش‌های &#8221; پی‌اچ‌پی با طعم کیک &#8221; را خدمتِ شما عزیزان ارائه نمایم . البته شاید در روز‌های آینده مطلبی اختصاصی برای تبریک سال نو نوشتم . اما فعلا [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">قصد داشتم برای تبریکِ عیدِ نوروز مطلبی را آماده کنم . اما دیدم مفید‌تر خواهد بود اگر به عنوانِ تبریک و عیدی قسمت دیگری از سلسله آموزش‌های &#8221; <a href="http://1barnamenevis.ir/category/%D8%A2%D9%85%D9%88%D8%B2%D8%B4/%DA%A9%DB%8C%DA%A9-%D9%BE%DB%8C%E2%80%8C%D8%A7%DA%86%E2%80%8C%D9%BE%DB%8C/" target="_blank">پی‌اچ‌پی با طعم کیک</a> &#8221; را خدمتِ شما عزیزان ارائه نمایم . البته شاید در روز‌های آینده مطلبی اختصاصی برای تبریک سال نو نوشتم . اما فعلا ترجیه می‌دهم به کیک بپردازم .</p>
<p><img src="http://1barnamenevis.ir/wp-content/uploads/2010/01/cake-logo.png" alt="" align="right" /></p>
<p style="text-align: justify;">همان‌طور که خاطرتان هست با ماهیت کیک پی‌اچ‌پی در <a href="http://1barnamenevis.ir/1388/12/php-with-cake-taste-cakephp-01/" target="_blank">قسمت اول</a> آشنا شدیم و در <a href="http://1barnamenevis.ir/1388/12/php-with-cake-taste-cakephp-02/" target="_blank">قسمت دوم</a> به ساختار فایل‌ها و پوشه‌ها و نحوه‌ی دانلودِ کیک اشاره کردیم .</p>
<p style="text-align: justify;">در این قسمت قصد داریم به ارائه‌ی نکاتی چند درباره‌ی ساختارِ دیتا‌بیس‌ها و قوانین نامگذاری جداول و کلاس‌ها بپردازیم . بدیهیست که این آموزش تنها اشاره‌ای به این ساختار و قوانین دارد و به قولِ معروف :</p>
<blockquote>
<p style="text-align: justify;">تو خود حدیث مفصل بخوان از این مجمل !</p>
</blockquote>
<p style="text-align: justify;">اگر واقعا طالب یادگیری کیک باشید باید وقت صرف کرده و <a href="http://book.cakephp.org/" target="_self">مستنداتِ کیک را از سایت اصلی</a> با دقت مطالعه کنید .  اما این آموزش جرقه و شروع خوبیست . با ما همراه باشید با این قسمت</p>
<p><span id="more-444"></span></p>
<p style="text-align: justify;"><strong>ایجادِ دیتا‌بیسِ وبلاگ</strong></p>
<p style="text-align: justify;">اکنون ما باید بانک اطلاعاتی وبلاگ خود را ایجاد کنیم . اگر با این کار آشنایی دارید یک نام برای بانک اطلاعاتی خود انتخاب کنید و یک پایگاه داده‌ی خالی با نام مورد نظر خود ایجاد کنید . فعلا فقط یک جدول ایجاد می‌کنیم تا بتوانیم اطلاعات مطالب ( پست‌ها ) را درون آن نگهداری کنیم . همچنین می‌خواهیم چند رکورد آزمایشی به این جدول اضافه کنیم  .<br />
برای ایجاد جدول از کدِ اس‌کیو‌ال زیر استفاده کنید :</p>
<pre class="brush:sql" style="text-align: justify;">/* First, create our posts table: */
CREATE TABLE posts (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(50),
    body TEXT,
    created DATETIME DEFAULT NULL,
    modified DATETIME DEFAULT NULL
);

/* Then insert some posts for testing: */
INSERT INTO posts (title,body,created)
    VALUES ('The title', 'This is the post body.', NOW());
INSERT INTO posts (title,body,created)
    VALUES ('A title once again', 'And the post body follows.', NOW());
INSERT INTO posts (title,body,created)
    VALUES ('Title strikes back', 'This is really exciting! Not.', NOW());
</pre>
<p style="text-align: justify;">نام جداول و نام فیلد‌ها نباید خودسرانه باشد . اگر شما از قوانین نامگذاری دیتا‌بیس و قوانین نامگذاری کلاس‌ها ( <a href="http://book.cakephp.org/view/22" target="_blank">هر دو در اینجا توضیح داده شده است </a>) پیروی کنید قادر خواهید بود تا از بسیاری از قابلیت ها و عملکرد های استاندارد کیک استفاده کنید ، بدون اینکه مجبور باشید به صورت اختصاصی تنظیمات خاصی انجام دهید .</p>
<p style="text-align: justify;">کیک از انعطاف‌پذیری خوبی برخوردار است و حتی با بد ترین ساختار دیتا‌بیسی قابل اجرا است . اما رعایت استاندارد‌ها و قوانین در وقت شما صرفه‌جویی می کند .</p>
<p style="text-align: justify;">برای کسب اطلاعات بیشتر درباره‌ی قوانینِ کیک به صفحه‌ی  &#8221; <a href="http://book.cakephp.org/view/22" target="_blank">CakePHP Conventions</a> &#8221; مراجعه کنید . اما همین کافیست که بدانید هنگامی که اسم جدول‌مان را &#8216;posts&#8217; در نظر می گیریم ، کیک به صورت خودکار جدول را به مدل متصل می‌کند و در این صورت کیک بصورت خودکار فعالیت‌های دیتابیس را مدیریت می‌کند .</p>
<p style="text-align: justify;">خب این قسمت هم به پایان رسید . کم‌کم آموزش به جا‌های خوبی نزدیک می‌شود .  در قسمت بعدی به تنظیماتِ دیتابیس در کیک می‌پردازیم .</p>
<p style="text-align: left;">Reference : <a href="http://book.cakephp.org/view/330/Creating-the-Blog-Database" target="_blank">http://book.cakephp.org/view/330/Creating-the-Blog-Database</a></p>
<p style="text-align: justify;">بار دیگر یادآوری می‌کنم که این آموزش انحصارا برای <a href="http://1barnamenevis.ir" target="_blank">این وبلاگ</a> و <a href="http://forum.cakephp.ir/" target="_blank">انجمنِ پشتیبانی و توسعه‌ی فارسی کیک پی‌اچ‌پی</a> نوشته شده است و استفاده از مطالب تنها با ذکر منبع مجاز است .</p>
<p style="text-align: justify;">امیدوارم از این آموزش استفاده کافی برده باشید .</p>
<blockquote>
<p style="text-align: justify;">آنچه گذشت :</p>
<p style="text-align: justify;"><a href="http://1barnamenevis.ir/1388/12/php-with-cake-taste-cakephp-01/" target="_blank">پی‌اچ‌پی با طعم کیک – قسمت اول</a></p>
<p style="text-align: justify;"><a href="http://1barnamenevis.ir/1388/12/php-with-cake-taste-cakephp-02/" target="_blank">پی‌اچ‌پی با طعم کیک – قسمت دوم<br />
</a></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://1barnamenevis.ir/1388/12/php-with-cake-taste-cakephp-03/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

