<?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://webnevis.net/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://webnevis.net</link>
	<description>وب نوشته های يك دانشجوی كامپیوتر</description>
	<lastBuildDate>Tue, 11 May 2010 12:03:57 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>fa</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>اعتبارسنجی اطلاعات در کیک پی اچ پی</title>
		<link>http://webnevis.net/1389/01/29/cakephp-validation/</link>
		<comments>http://webnevis.net/1389/01/29/cakephp-validation/#comments</comments>
		<pubDate>Sun, 18 Apr 2010 11:29:03 +0000</pubDate>
		<dc:creator>پیام</dc:creator>
				<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[پی اچ پی - php]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[آموزش php]]></category>
		<category><![CDATA[آموزش کیک پی اچ پی]]></category>

		<guid isPermaLink="false">http://webnevis.net/?p=209</guid>
		<description><![CDATA[یکی از مهم ترین بخش های هر برنامه بررسی و اعتبارسنجی اطلاعات دریافتی از کاربر هست در واقع با این کار برنامه نویس مطمئن خواهد شد که کاربر داده ای را که مد نظر اوست وارد کرده و با خیال راحت این اطلاعات را مورد استفاده قرار می دهد .
برای چک کردن مقادیر در کیک [...]]]></description>
			<content:encoded><![CDATA[<p>یکی از مهم ترین بخش های هر برنامه بررسی و اعتبارسنجی اطلاعات دریافتی از کاربر هست در واقع با این کار برنامه نویس مطمئن خواهد شد که کاربر داده ای را که مد نظر اوست وارد کرده و با خیال راحت این اطلاعات را مورد استفاده قرار می دهد .<br />
برای چک کردن مقادیر در کیک پی اچ پی باید تسلط و آشنایی خوبی با آرایه ها داشته باشید تا هنگام اعتبارسنجی های پیچیده مغزتون هنگ نکنه و به راحتی بتونید کارتون رو جلو ببرید . کدهای مربوط به اعتبارسنجی اطلاعات را باید در کلاس مربوط به  model بنوسید و با تعریف یک خصوصیت به نام validate و اختصاص دادن یک آرایه چند بعدی به آن ، نوع داده های مورد نظرتان را مشخص  نمایید  .</p>
<p>در ساده ترین حالت می تونید برای فیلدهای موردنظرتون که توی جدول تعریف کردید و مقدارش براتون مهم هست یک نوع رو مشخص نمایید</p>
<pre class="brush:php">class User extends AppModel{

	var $name='User';

	var $validate=array(
	'username'=&gt;'alphaNumeric',
	'password'=&gt;'alphaNumeric',
	'email'=&gt;'email'
	);
}</pre>
<p>در این حالت هنگام ذخیره و یا بروز رسانی اطلاعات مقادیر تعیین شده چک می شوند و در صورت مغایرت پیغام مناسب نمایش داده می شود .</p>
<p><span id="more-209"></span></p>
<p>همچنین شما می تونید پیغام هایی که برای هر قسمت نمایش داده می شوند رو تعیین کنید ، برای این کار به شکل زیر عمل کنید</p>
<pre class="brush:php">class User extends AppModel{

	var $name='User';

	var $validate=array(
	'username'=&gt;array('rule'=&gt;'alphaNumeric','message'=&gt;'نام کاربری معتبر نیست'),
	'password'=&gt;array('rule'=&gt;'alphaNumeric','message'=&gt;'رمز عبور معتبر نیست'),
	'email'=&gt;array('rule'=&gt;'email','message'=&gt;'پست الکترونیکی معتبر نیست')
	);
}</pre>
<p>کیک پی اچ پی به صورت پیش فرض یکسری pattern برای چک کردن ایمیل ، ip، تاریخ ،زمان ، کد پستی ، آدرس اینترنتی و سایر مقادیر داره که برای مشاهده کامل این pattern ها می تونید <a href="http://book.cakephp.org/view/134/Core-Validation-Rules" target="_blank">اینجا </a>رو ببینید.</p>
<p>در کیک پی اچ پی این امکان هم وجود داره که شما خودتون یک pattern خاص بنویسید تا مقدار فیلد بر اساس اون چک بشه برای این کار کافیه که فقط pattern دلخواه تون رو به فیلد مورد نظر نسبت بدید</p>
<pre class="brush:php">class User extends AppModel
{
	var $name='User';
	var $useTable='users';
	var $validate=array(
	'username'=&gt;array('rule'=&gt;'/[a-z0-9\-]{3,15}/i','message'=&gt;'نام کاربری معتبر نیست'),
	'password'=&gt;array('rule'=&gt;'/[a-z0-9\-]{6,20}/i','message'=&gt;'رمز عبور معتبر نیست'),
	'email'=&gt;array('rule'=&gt;'/[a-z0-9._\-+]+@[a-zA-Z0-9.\-]+.[a-zA-Z.]+/i','message'=&gt;'پست الکترونیکی معتبر نیست')
	);
}</pre>
<p>برای اینکه یک فیلد رو از چند نظر مورد بررسی قرار بدید کافیه که یک آرایه چند بعدی برای اون فیلد تعریف کنید</p>
<pre class="brush:php">class User extends AppModel
{
	var $name='User';
	var $validate=array(
		'username'=&gt;array(
			'alphaNumeric'=&gt;array('rule'=&gt;'alphaNumeric','message'=&gt;'نام کاربری معتبر نیست'),
			'maxLength'=&gt;array('rule'=&gt;array('maxLength',5),'message'=&gt;'حداکثر طول نام کاربری باید ۵ کاراکتر باشد')
		),
		'password'=&gt;array('rule'=&gt;'alphaNumeric','message'=&gt;'رمز عبور معتبر نیست'),
		'email'=&gt;array('rule'=&gt;'email','message'=&gt;'پست الکترونیکی معتبر نیست')
	);
}</pre>
<p>برای اطلاعات بیشتر در این مورد <a href="http://book.cakephp.org/view/133/Multiple-Rules-per-Field" target="_blank">این </a>صفحه رو بخونید.</p>
<p>همچنین برای تعیین اینکه یک الگو یا pattern در زمان افزودن رکورد چک بشه یا بروزرسانی رکورد می تونید به شکل زیر عمل کنید</p>
<pre class="brush:php">
class User extends AppModel
{
	var $name='User';
	var $validate=array(
		'username'=&gt;array(
			'alphaNumeric'=&gt;array('rule'=&gt;'alphaNumeric','message'=&gt;'نام کاربری معتبر نیست','on'=&gt;'create'),
			'maxLength'=&gt;array('rule'=&gt;array('maxLength',5),'message'=&gt;'حداکثر طول نام کاربری باید ۵ کاراکتر باشد','on'=&gt;'update')
		),
		'password'=&gt;array('rule'=&gt;'alphaNumeric','message'=&gt;'رمز عبور معتبر نیست','on'=&gt;'update'),
		'email'=&gt;array('rule'=&gt;'email','message'=&gt;'پست الکترونیکی معتبر نیست')
	);
}
</pre>
<p>این ها فقط چند مثال برای آشنایی شما با نحوه اعتبار سنجی اطلاعات در کیک پی اچ پی بود و بیشتر سعی کردم مهم ترین موارد رو بگم ، برای اینکه تسلط کاملی بر این موضوع پیدا کنید توصیه می کنم که حتما <a href="http://book.cakephp.org/view/125/Data-Validation" target="_blank">مستندات </a>خود کیک که کامل و گویا هست رو بخونید و <a href="http://lemoncake.wordpress.com/2007/07/03/all-about-validation-in-cakephp-12/" target="_blank">اینجا </a>رو هم یه نگاه بندازید .</p>
<p>موفق باشید</p>
]]></content:encoded>
			<wfw:commentRss>http://webnevis.net/1389/01/29/cakephp-validation/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>اصول نام گذاری در CakePHP</title>
		<link>http://webnevis.net/1389/01/07/cakephp-conventions/</link>
		<comments>http://webnevis.net/1389/01/07/cakephp-conventions/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 23:09:26 +0000</pubDate>
		<dc:creator>پیام</dc:creator>
				<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[پی اچ پی - php]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[آموزش کیک پی اچ پی]]></category>

		<guid isPermaLink="false">http://webnevis.net/?p=205</guid>
		<description><![CDATA[کیک پی اچ پی یکی از فریم ورک های محبوب پی اچ پی هست که امکان توسعه سریع برنامه های تحت وب رو به یک توسعه دهنده میده و کلا کار کردن با این فریم ورک خیلی لذت بخش و دوست داشتنی هست به این شرط که توسعه دهنده تسلط تقریبا کاملی بر روی این [...]]]></description>
			<content:encoded><![CDATA[<p>کیک پی اچ پی یکی از فریم ورک های محبوب پی اچ پی هست که امکان توسعه سریع برنامه های تحت وب رو به یک توسعه دهنده میده و کلا کار کردن با این فریم ورک خیلی لذت بخش و دوست داشتنی هست به این شرط که توسعه دهنده تسلط تقریبا کاملی بر روی این فریم ورک داشته باشه .<br />
برای آشنایی بیشتر و شروع کار با این فریم ورک سایت خود <a href="http://cakephp.org/" target="_blank">CakePHP</a> مستندات خوبی رو ارائه کرده همچنین توصیه می کنم که <a href="http://www.google.com/url?sa=t&amp;source=web&amp;ct=res&amp;cd=3&amp;ved=0CBEQFjAC&amp;url=http%3A%2F%2Fnet.tutsplus.com%2Ftutorials%2Fphp%2Fgetting-started-with-cakephp%2F&amp;ei=qV2sS82gBsmr4Qb3kM2vDw&amp;usg=AFQjCNGcZwASfUxdTN-uEaSrP5SK7BlYKg&amp;sig2=uHh2cbN1T5PL7aQtkOkx2Q" target="_blank">این</a> آموزش از سایت <a href="http://net.tutsplus.com/" target="_blank">tutsplus </a>رو هم بخونید ، متاسفانه منبع فارسی تو این زمینه خیلی کم هست و اگر دنبال منابع فارسی برای شروع یادگیری کیک هستید وبلاگ <a href="http://1barnamenevis.ir/" target="_blank">یک برنامه نویس</a> به تازگی یک دوره آموزشی کیک رو شروع کرده ، وبلاگ <a href="http://weblog.alvanweb.com/" target="_blank">الوان وب</a> هم آموزش های خوبی رو تو این زمینه داره و توی <a href="http://forum.cakephp.ir/index.php" target="_blank">انجمن فارسی توسعه کیک</a> هم می تونید مطالب مفیدی رو پیدا کنید .<br />
بعد از نصب و راه اندازی کیک و آشنایی با ساختار اون ، مهم ترین چیزی که باید بدونید اصول نام گذاری کلاس ها و فایل ها توی این فریم ورک هست پس به ادامه مطلب توجه کنید .</p>
<p><strong> Controller  :<br />
</strong>نام controller  باید به صورت جمع باشد و برای نام گذاری کلاس کنترلر کلمه controller رو باید در انتهای نام کلاس اضافه کنید ، برای مثال ProductsController ، اگر تعداد کلمات نام کلاستون بیشتر از یک کلمه باشد باید حرف اول هر کلمه رو به صورت بزرگ بنویسید برای مثال OnlineProductsController  .<br />
فایلی که کلاس کنترلر را در آن می نویسیم همنام با نام کلاس کنترلر هست با این تفاوت که کلمه controller با یک underline از نام کلاس جدا می شود برای مثال اگر اسم کلاس مون ProductsController باشه نام فایل باید products_controller.php باشه و برای نام هایی که بیش از یک کلمه دارند کلمات با یک underline از هم جدا می شوند مثلا اگر اسم کلاسمون به صورت OnlineProductsController باشه اسم فایل کنترلر باید online_products_controller.php باشه ، همچنین توجه داشته باشید که تمام حروف نام فایل به صورت کوچک نوشته می شوند .</p>
<p>فایل : app/controllers/products_controller.php</p>
<pre class="brush:php">class ProductsController extends AppController {
 var $name="Products";
}</pre>
<p><span id="more-205"></span><strong>Model :</strong><br />
نام کلاس model به صورت مفرد نوشته می شود برای مثال Product و اگر تعداد کلمات بیش از یک کلمه باشد حرف اول هر کلمه به صورت بزرگ نوشته می شود برای مثال OnlineProduct ، فایل model همنام با نام کلاس model هست با این تفاوت که اگر تعداد کلمات زیاد باشد باید کلمات با underline از هم جدا شوند برای مثال online_product.php .</p>
<p>فایل : app/models/product.php</p>
<pre class="brush:php">class Product extends AppModel {
 var $name="Product";
}</pre>
<p><strong>Database Table :<br />
</strong>نام جداول دیتابیستون هم باید به صورت جمع باشه و کلمات با استفاده از underline از هم جدا شوند . برای مثال اگر نام model شما product باشه نام جدول باید products باشه .<br />
البته شما می تونید نام جدولتون رو به صورت دلخواه انتخاب کنید که در این صورت باید در کلاس model این موضوع رو مشخص نمایید برای مثال اگر اسم جدول تون رو mytable  انتخاب کنید در این صورت در کلاس model باید خصوصیت useTable رو برابر با mytable قرار بدید.</p>
<pre class="brush:php">class Product extends AppModel {
 var $name="Product";
 var $useTable='mytable';
}</pre>
<p><strong>View :</strong><br />
فایل های مربوط به بخش view در مسیر app/views قرار می گیرند و برای هر controller باید یک پوشه با نام controller ایجاد کنید و سپس برای متد موردنظرتون فایل view رو ایجاد نمایید ، برای مثال اگر نام controller ما ProductsController باشه که دارای متد index  هست ابتدا باید یک پوشه با نام products در مسیر app/views ایجاد نماییم و سپس برای متد مورد نظرمون فایل view رو ایجاد کنیم که در اینجا index.ctp هست ، توجه داشته باشید که فرمت فایل های view باید ctp. باشه .</p>
<p>امیدوارم که براتون مفید باشه ، موفق باشید</p>
]]></content:encoded>
			<wfw:commentRss>http://webnevis.net/1389/01/07/cakephp-conventions/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>سال نو &#8230;</title>
		<link>http://webnevis.net/1388/12/28/new-year-89/</link>
		<comments>http://webnevis.net/1388/12/28/new-year-89/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 15:30:17 +0000</pubDate>
		<dc:creator>پیام</dc:creator>
				<category><![CDATA[یادداشت ها]]></category>

		<guid isPermaLink="false">http://webnevis.net/?p=202</guid>
		<description><![CDATA[خیلی وقته که وبلاگ رو به روز نکردم و مطالب جدید نذاشتم ، چند باری هم خواستم یه مطلبی بنویسم اما موضوع مناسب پیدا نکردم ، حالا هم که دم عیده گفتم بد نیست تا به این بهونه یه مطلب کوتاه بنویسم ، همچینین سعی می کنم توی این تعطیلات نوروز مطالب آموزشی بیشتری رو [...]]]></description>
			<content:encoded><![CDATA[<p>خیلی وقته که وبلاگ رو به روز نکردم و مطالب جدید نذاشتم ، چند باری هم خواستم یه مطلبی بنویسم اما موضوع مناسب پیدا نکردم ، حالا هم که دم عیده گفتم بد نیست تا به این بهونه یه مطلب کوتاه بنویسم ، همچینین سعی می کنم توی این تعطیلات نوروز مطالب آموزشی بیشتری رو قرار بدم .<br />
سال ۸۸ هم مثله همه سال ها هم خوبی داشت هم بدی ، اما در کل بد نبود و خدا رو شکر که تونستم بیشتر به اهدافم نزدیک بشم . سال جدید و عید باستانی نوروز رو هم به تموم دوستان عزیز تبریک عرض می کنم و امیدوارم که سال خوبی برای همه باشه و آرزو می کنم که هیچ وقت از یاد خدا غافل نشیم تا بتونیم توی زندگی موفق باشیم .</p>
]]></content:encoded>
			<wfw:commentRss>http://webnevis.net/1388/12/28/new-year-89/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>ساخت صفحات وب به کمک تابع include در PHP</title>
		<link>http://webnevis.net/1388/09/14/build-web-pages-with-include-in-php/</link>
		<comments>http://webnevis.net/1388/09/14/build-web-pages-with-include-in-php/#comments</comments>
		<pubDate>Sat, 05 Dec 2009 15:31:44 +0000</pubDate>
		<dc:creator>پیام</dc:creator>
				<category><![CDATA[پی اچ پی - php]]></category>
		<category><![CDATA[آموزش php]]></category>
		<category><![CDATA[برنامه نویسی]]></category>

		<guid isPermaLink="false">http://webnevis.net/?p=199</guid>
		<description><![CDATA[توی این پست قصد دارم نحوه ساخت راحت تر صفحات وب رو برای وب سایت هایی که با استفاده از PHP ایجاد می کنیم آموزش بدم .
توی اکثر صفحاتی که برای یک وب سایت ایجاد می کنیم معمولا فقط بخش وسط صفحه تغییر میکنه و header و footer و sidebar به صورت ثابت توی بقیه [...]]]></description>
			<content:encoded><![CDATA[<p>توی این پست قصد دارم نحوه ساخت راحت تر صفحات وب رو برای وب سایت هایی که با استفاده از PHP ایجاد می کنیم آموزش بدم .<br />
توی اکثر صفحاتی که برای یک وب سایت ایجاد می کنیم معمولا فقط بخش وسط صفحه تغییر میکنه و header و footer و sidebar به صورت ثابت توی بقیه صفحه ها تکرار میشن به همین خاطر می تونیم این سه قسمت رو توی سه تا فایل جداگانه قرار بدیم و توی هر صفحه ای که ایجاد می کنیم این فایل ها رو include کنیم و سرعت انجام کار رو بالا ببریم و وقتی هم که می خوایم تم سایت رو تغییر بدیم کارمون راحت تر میشه .</p>
<p><span id="more-199"></span></p>
<p>بر فرض اگه کد تمپلیت ما به صورت زیر باشه</p>
<pre class="brush:php">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;
    &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
    &lt;link type="text/css" rel="stylesheet" href="style.css" media="screen"  /&gt;
    &lt;title&gt;Site Title&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id="main" &gt;
    	&lt;!-- header --&gt;
    	&lt;div id="header" &gt;&lt;/div&gt;
        &lt;div id="menu" &gt;
     		&lt;a href="home.php" &gt;Home&lt;/a&gt;|
            &lt;a href="About.php" &gt;About&lt;/a&gt;|
            &lt;a href="Contact.php" &gt;Contact&lt;/a&gt;
        &lt;/div&gt;
        &lt;!-- /header --&gt;

        &lt;div id="content" &gt;&lt;/div&gt;

        &lt;!-- sidebar --&gt;
        &lt;div id="sidebar" &gt;&lt;/div&gt;
        &lt;!-- /sidebar --&gt;

        &lt;div class="clear" &gt;&lt;/div&gt;

        &lt;!-- footer --&gt;
    	&lt;div id="footer" &gt;&lt;/div&gt;
        &lt;!-- /footer --&gt;
    &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>کد های زیر رو از تمپلیت اصلی سایت جدا کرده و با نام header.php ذخیره می کنیم .</p>
<pre class="brush:php">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;
    &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
    &lt;link type="text/css" rel="stylesheet" href="style.css" media="screen"  /&gt;
    &lt;title&gt;Site Title&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id="main" &gt;
    	&lt;!-- header --&gt;
    	&lt;div id="header" &gt;&lt;/div&gt;
        &lt;div id="menu" &gt;
     		&lt;a href="home.php" &gt;Home&lt;/a&gt;|
            &lt;a href="About.php" &gt;About&lt;/a&gt;|
            &lt;a href="Contact.php" &gt;Contact&lt;/a&gt;
        &lt;/div&gt;
        &lt;!-- /header --&gt;</pre>
<p>کدهای زیر رو هم با نام sidebar.php ذخیره می کنیم</p>
<pre class="brush:php">        &lt;!-- sidebar --&gt;
        &lt;div id="sidebar" &gt;&lt;/div&gt;
        &lt;!-- /sidebar --&gt;</pre>
<p>و کدهای زیر رو با نام footer.php ذخیره می کنیم</p>
<pre class="brush:php">        &lt;div class="clear" &gt;&lt;/div&gt;

        &lt;!-- footer --&gt;
    	&lt;div id="footer" &gt;&lt;/div&gt;
        &lt;!-- /footer --&gt;
    &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>حالا وقتی میخوایم یک صفحه جدید ایجاد کنیم فقط کافیه که این سه تا فایل رو include کنیم و اطلاعات مربوط به صفحه جدید رو وارد کنیم .</p>
<pre class="brush:php">&lt;?php include_once('header.php'); ?&gt;
&lt;div id="content" &gt; Content  &lt;/div&gt;
&lt;?php include_once('sidebar.php'); ?&gt;
&lt;?php include_once('footer.php'); ?&gt;</pre>
<p>برای اینکه بتونیم عنوان هر صفحه رو هم  مشخص کنیم تگ مربوط به عنوان صفحه رو توی فایل header.php به صورت زیر تغییر میدیم</p>
<pre class="brush:php">&lt;title&gt; &lt;?php echo $pagetitle; ?&gt; &lt;/title&gt;</pre>
<p>و توی هر صفحه ای که ایجاد می کنیم قبل از include کردن فایل header.php این متغیر رو مقداردهی می کنیم تا به عنوان title صفحه قرار بگیرد .</p>
<pre class="brush:php">&lt;?php
$pagetitle='Contact';
include_once('header.php');
?&gt;
&lt;div id="content" &gt; Contact Form  &lt;/div&gt;
&lt;?php include_once('sidebar.php'); ?&gt;
&lt;?php include_once('footer.php'); ?&gt;</pre>
<p>موفق باشید</p>
]]></content:encoded>
			<wfw:commentRss>http://webnevis.net/1388/09/14/build-web-pages-with-include-in-php/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>معرفی کلاس TableGear</title>
		<link>http://webnevis.net/1388/09/03/introduction-class-tablegear/</link>
		<comments>http://webnevis.net/1388/09/03/introduction-class-tablegear/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 16:50:40 +0000</pubDate>
		<dc:creator>پیام</dc:creator>
				<category><![CDATA[پی اچ پی - php]]></category>

		<guid isPermaLink="false">http://webnevis.net/?p=192</guid>
		<description><![CDATA[TbleGear یک کلاس فوق العاده قوی برای نمایش اطلاعات جدول های دیتابیس  و انجام عملیات روی رکوردهاست که کار کردن باهاش خیلی راحته و باعث میشه تا سرعت انجام کارتون بالا بره و کد کمتری بزنید این کلاس امکان ویرایش و حذف رکوردهای جدول رو به صورت کاملا ای جکسی به شما میده و [...]]]></description>
			<content:encoded><![CDATA[<p>TbleGear یک کلاس فوق العاده قوی برای نمایش اطلاعات جدول های دیتابیس  و انجام عملیات روی رکوردهاست که کار کردن باهاش خیلی راحته و باعث میشه تا سرعت انجام کارتون بالا بره و کد کمتری بزنید این کلاس امکان ویرایش و حذف رکوردهای جدول رو به صورت کاملا ای جکسی به شما میده و کاربر می تونه با کلیک روی هر فیلد از جدول،اطلاعات اون فیلد رو ویرایش کنه همچنین امکانات زیاد دیگه ای مثل صفحه بندی کردن ، validate کردن اطلاعات دریافتی از کاربر و&#8230; رو به شما میده که اگه یه سر به <a href="http://andrewplummer.com/demos/tablegear/" target="_blank">دمویی</a> که <a href="http://andrewplummer.com" target="_self"><a href="http://andrewplummer.com/code/tablegear/" target="_blank">سایتش</a> </a>ارائه داده بزنید متوجه این امکانات میشید،توی <a href="http://andrewplummer.com/code/tablegear/" target="_blank">سایت</a> رسمی این کلاس هم توضیحات کاملی  در مورد نحوه استفاده ازش وجود داره .<br />
برای کار کردن با اطلاعات فارسی باید توی فایل اصلی کلاس که توی پوشه src قرار داره داخل متد connect دو تا کوئری زیر رو بعد از دستور mysql_connect قرار بدید تا اطلاعات فارسی رو به صورت درست ذخیره کنه و نمایش بده .</p>
<pre class="brush: php">		mysql_query("SET CHARACTER SET utf8;",$this-&gt;connection);
		mysql_query("SET SESSION collation_connection = 'utf8_persian_ci'",$this-&gt;connection);</pre>
]]></content:encoded>
			<wfw:commentRss>http://webnevis.net/1388/09/03/introduction-class-tablegear/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>خدایا</title>
		<link>http://webnevis.net/1388/07/26/%d8%ae%d8%af%d8%a7%d9%8a%d8%a7/</link>
		<comments>http://webnevis.net/1388/07/26/%d8%ae%d8%af%d8%a7%d9%8a%d8%a7/#comments</comments>
		<pubDate>Sun, 18 Oct 2009 14:01:11 +0000</pubDate>
		<dc:creator>پیام</dc:creator>
				<category><![CDATA[یادداشت ها]]></category>

		<guid isPermaLink="false">http://webnevis.net/?p=187</guid>
		<description><![CDATA[می خوام عاشق بشم اما تب دنیا نمی ذاره
سر راه بهشت من ، درخت سیب می کاره
لینک دانلود تیتراژ (۲) سریال دلنوازان
]]></description>
			<content:encoded><![CDATA[<p>می خوام عاشق بشم اما تب دنیا نمی ذاره<br />
سر راه بهشت من ، درخت سیب می کاره</p>
<p><a href="http://payamsp.persiangig.com/audio/AliLohrasbi_Khodaya.zip" target="_blank">لینک دانلود تیتراژ (۲) سریال دلنوازان</a></p>
]]></content:encoded>
			<wfw:commentRss>http://webnevis.net/1388/07/26/%d8%ae%d8%af%d8%a7%d9%8a%d8%a7/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>پایان تابستان و شروع ترم جدید</title>
		<link>http://webnevis.net/1388/06/31/%d9%be%d8%a7%d9%8a%d8%a7%d9%86-%d8%aa%d8%a7%d8%a8%d8%b3%d8%aa%d8%a7%d9%86-%d9%88-%d8%b4%d8%b1%d9%88%d8%b9-%d8%aa%d8%b1%d9%85-%d8%ac%d8%af%d9%8a%d8%af/</link>
		<comments>http://webnevis.net/1388/06/31/%d9%be%d8%a7%d9%8a%d8%a7%d9%86-%d8%aa%d8%a7%d8%a8%d8%b3%d8%aa%d8%a7%d9%86-%d9%88-%d8%b4%d8%b1%d9%88%d8%b9-%d8%aa%d8%b1%d9%85-%d8%ac%d8%af%d9%8a%d8%af/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 03:16:31 +0000</pubDate>
		<dc:creator>پیام</dc:creator>
				<category><![CDATA[یادداشت ها]]></category>
		<category><![CDATA[تابستان 88]]></category>
		<category><![CDATA[خاطرات]]></category>
		<category><![CDATA[ماه رمضان]]></category>

		<guid isPermaLink="false">http://webnevis.net/?p=181</guid>
		<description><![CDATA[تابستون امسال هم خیلی زود گذشت و با تموم اتفاق های خوب و بدش  رفت توی آرشیو خاطراتم یکی از تفاوت های تابستون امسال با سالهای قبل این بود که ماه رمضون کامل توی تابستون بود اولش  فکر میکردم سخته اما خیلی هم  راحت بود و اصلا نفهمیدم چطور گذشت . کلاس های ترم جدید [...]]]></description>
			<content:encoded><![CDATA[<p>تابستون امسال هم خیلی زود گذشت و با تموم اتفاق های خوب و بدش  رفت توی آرشیو خاطراتم یکی از تفاوت های تابستون امسال با سالهای قبل این بود که ماه رمضون کامل توی تابستون بود اولش  فکر میکردم سخته اما خیلی هم  راحت بود و اصلا نفهمیدم چطور گذشت . کلاس های ترم جدید  قرار بود که از ۲۸ شهریور شروع بشه من که هنوز نرفتم اما اون طور که من از بچه های کامپیوتر شناخت دارم احتمالا صبح ۲۸ شهریور رفتن ردیف اول جا گرفتنو استاد هم اومده خوشحال کلی درس داده . این ترم ۱۹ واحد انتخاب کردم که باید درست وحسابی بخونم تا بتونم نتیجه بگیرم همیشه هم همین حرفو میزنم اما نمی خونم و درسا میمونه واسه آخر ترم انشاء الله که این ترم این طور نباشه و راحت درس ها رو پاس کنم .<br />
تنها مشکلی که الان دارم این استاد ریاضی هست که هنوز نمره ترم تابسون رو نذاشته و من موندم که چیکار کنم چون پیش نیازه و اگه تا حذف و اضافه که چند روزه دیگست نذاره کارم سخت میشه .<br />
یه مطلبی هم هست که دوست نداشتم توی این پست مطرح کنم اما بهتره بگم تا خواننده های وبلاگ برداشت اشتباهی از این وبلاگ نکنن ، توی بعضی از کامنتها  برخی دوستان  لطف کردن و هرچی دوست داشتن نوشتن و به من توهین کردن و ادعا کردن  که از فلان شخص سیاسی حمایت میکنی اولا بر فرض اگر من چنین کاری کرده باشم با توهین  کاری درست میشه؟ جز این که شخصیت ، ادب و سطح درک نویسنده کامنت رو به من نشون بده؟ ثانیا من اصلا با سیاست کاری ندارم و خوشم هم نمیاد که در این باره بنویسم اگر هم قبلا پستی نوشتم و از کسی انتقاد کردم نظر شخصیم بوده و بس ، پس لطف کنید در مورد مسایل سیاسی برای من کامنت نزارید.</p>
<p>عید فطر رو هم اگرچه گذشته تبریک میگم .</p>
]]></content:encoded>
			<wfw:commentRss>http://webnevis.net/1388/06/31/%d9%be%d8%a7%d9%8a%d8%a7%d9%86-%d8%aa%d8%a7%d8%a8%d8%b3%d8%aa%d8%a7%d9%86-%d9%88-%d8%b4%d8%b1%d9%88%d8%b9-%d8%aa%d8%b1%d9%85-%d8%ac%d8%af%d9%8a%d8%af/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>بیست سالگی</title>
		<link>http://webnevis.net/1388/05/04/twenty-years-old/</link>
		<comments>http://webnevis.net/1388/05/04/twenty-years-old/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 15:18:37 +0000</pubDate>
		<dc:creator>پیام</dc:creator>
				<category><![CDATA[یادداشت ها]]></category>

		<guid isPermaLink="false">http://webnevis.net/1388/05/04/%d8%a8%d9%8a%d8%b3%d8%aa-%d8%b3%d8%a7%d9%84%da%af%db%8c/</guid>
		<description><![CDATA[امروز ۴ مرداد سال ۱۳۸۸ هست و ۱۹ سال از ۴ مرداد سال ۱۳۶۹  میگذره ، توی این سال ها خاطرات خوب و بد زیادی داشتم و امیدوارم که بیست سالگی بهتر از سال های گذشته باشه و بتونم بیشتر به اهدافم نزدیک بشم و توی درس و رشته تحصیلیم موفق تر باشم و [...]]]></description>
			<content:encoded><![CDATA[<p>امروز ۴ مرداد سال ۱۳۸۸ هست و ۱۹ سال از ۴ مرداد سال ۱۳۶۹  میگذره ، توی این سال ها خاطرات خوب و بد زیادی داشتم و امیدوارم که بیست سالگی بهتر از سال های گذشته باشه و بتونم بیشتر به اهدافم نزدیک بشم و توی درس و رشته تحصیلیم موفق تر باشم و شکر نعمت های خداوند رو به جا بیارم .<br />
از تمام دوستانی هم که برام پیغام گذاشتن ممنونم .</p>
<p>همین &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://webnevis.net/1388/05/04/twenty-years-old/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>چند نکته در برنامه نویسی به زبان php &#8211; قسمت دوم</title>
		<link>http://webnevis.net/1388/04/27/few-tips-in-php-programing-part-2/</link>
		<comments>http://webnevis.net/1388/04/27/few-tips-in-php-programing-part-2/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 02:23:18 +0000</pubDate>
		<dc:creator>پیام</dc:creator>
				<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[پی اچ پی - php]]></category>
		<category><![CDATA[آموزش php]]></category>

		<guid isPermaLink="false">http://webnevis.net/1388/04/27/%da%86%d9%86%d8%af-%d9%86%d9%83%d8%aa%d9%87-%d8%af%d8%b1-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%d9%8a%d8%b3%d9%8a-%d8%a8%d9%87-%d8%b2%d8%a8%d8%a7%d9%86-php-%d9%82%d8%b3%d9%85%d8%aa-%d8%af/</guid>
		<description><![CDATA[- سرعت پردازش تابع echo در مقایسه با تابع print بیشتر هست و خودم  هم همیشه از این تابع استفاده می کنم در ضمن  بهتره که به جای استفاده از تابع echo به شکل زیر

echo 'my'.'name'.'is'.$name;

از این تابع به صورت زیر استفاده کنید
echo 'my','name','is',$name;
همچنین در مورادی  به شکل زیر
echo 'string 1';
echo 'string [...]]]></description>
			<content:encoded><![CDATA[<p>- سرعت پردازش تابع echo در مقایسه با تابع print بیشتر هست و خودم  هم همیشه از این تابع استفاده می کنم در ضمن  بهتره که به جای استفاده از تابع echo به شکل زیر</p>
<pre class="brush: php" >
echo 'my'.'name'.'is'.$name;
</pre>
<p>از این تابع به صورت زیر استفاده کنید</p>
<pre class="brush: php">echo 'my','name','is',$name;</pre>
<p>همچنین در مورادی  به شکل زیر</p>
<pre class="brush: php">echo 'string 1';
echo 'string 2';
echo 'string 3';
</pre>
<p>برای بالا بردن سرعت اجرای برنامه بهتره که این رشته ها یا خروجی ها را در یک متغیر بریزید و تنها همون متغیر رو چاپ کنید</p>
<pre class="brush: php">$output='string 1';
$output.='string 2';
$output.='string 3';
echo $output;
</pre>
<p><span id="more-149"></span></p>
<p>- در مواردی مثل  زیر</p>
<pre class="brush: php">$a=array('a','b','c','d','e','f','g','h','i');
for($i=0;$i&lt;count($a);$i++)
echo $a[$i];
</pre>
<p>برای جلوگیری از اجرا شدن مکرر تابع count بهتره که این تابع رو یکبار صدا بزنیم و مقدار اون رو داخل یک متغیر برزیم</p>
<pre class="brush: php">$a=array('a','b','c','d','e','f','g','h','i');
$len=count($a);
for($i=0;$i&lt;$len;$i++)
echo $a [$i];
</pre>
<p>- برای بالا بردن قابلیت حمل برنامه تون بهتره که از  php?&gt; به جای  ?&gt; استفاده کنید چون ممکنه که در برخی سرورها این امکان غیر فعال باشه .</p>
<p>- استفاده از @ برای جلوگیری از نمایش خطا باعث کاهش سرعت اجرای برنامه می شه .</p>
<p>- پس از استفاده از آرایه های بزرگ و متغیرهای سراسری برای آزاد سازی حافظه بهتره که اونها رو unset کنید ، با این کار سرعت پردازش بالا میره .</p>
<p>نکاتی که توی این پست و <a href="http://webnevis.net/1388/04/21/few-tips-in-php-programing/" target="_blank">پست قبلی</a> نوشتم بیشتر برای بالا بردن سرعت اجرای برنامه و بهینه کردن کدها بود امیدوارم که مفید باشه .</p>
]]></content:encoded>
			<wfw:commentRss>http://webnevis.net/1388/04/27/few-tips-in-php-programing-part-2/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>چند نکته در برنامه نویسی به زبان php</title>
		<link>http://webnevis.net/1388/04/21/few-tips-in-php-programing/</link>
		<comments>http://webnevis.net/1388/04/21/few-tips-in-php-programing/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 19:33:28 +0000</pubDate>
		<dc:creator>پیام</dc:creator>
				<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[پی اچ پی - php]]></category>
		<category><![CDATA[آموزش php]]></category>

		<guid isPermaLink="false">http://webnevis.net/1388/04/21/%da%86%d9%86%d8%af-%d9%86%da%a9%d8%aa%d9%87-%d8%af%d8%b1-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%d8%a8%d9%87-%d8%b2%d8%a8%d8%a7%d9%86-php/</guid>
		<description><![CDATA[- عبارات و مقدار هایی که بین دابل کوتیشن قرار می گیرند به هنگام اجرای برنامه بر روی آنها پردازش انجام می شود ، بنابراین بهتر است  مقدار هایی که فقط شامل  متن هستند رو بین سینگل کوتیشن قرار دهیم مخصوصا در مواردی که رشته مورد نظرمون طولانی هست.
پس به جای استفاده از [...]]]></description>
			<content:encoded><![CDATA[<p>- عبارات و مقدار هایی که بین دابل کوتیشن قرار می گیرند به هنگام اجرای برنامه بر روی آنها پردازش انجام می شود ، بنابراین بهتر است  مقدار هایی که فقط شامل  متن هستند رو بین سینگل کوتیشن قرار دهیم مخصوصا در مواردی که رشته مورد نظرمون طولانی هست.<br />
پس به جای استفاده از حالت زیر</p>
<pre class="brush: php">$msg="please enter all fields";</pre>
<p>بهتره که به شکل زیر عمل کنید</p>
<pre class="brush: php">$msg='please enter all fileds';</pre>
<p>- اگر بخواهیم مقادیر موجود در یک آرایه رو داخل دیتابیس وارد کنیم به جای استفاده از روش زیر</p>
<pre class="brush: php">$arr=array('ali','mohammad','pouya');
foreach($arr as $val)
mysql_query("insert into my_tbl values('$val')");</pre>
<p><span id="more-141"></span><br />
بهتره که از دستورهای زیر استفاده کنید</p>
<pre class="brush: php">$arr=array('ali','mohammad','pouya');
$values=array();
foraech($arr as $val)
$values[]='("'.$val.'")';
$query='insert into my_tbl values'.implode(',' ,$values);
mysql_query($query);</pre>
<p>اگر از حالت اول استفاده کنید با هر بار چرخش حلقه یک کوئری اجرا میشه و مقدار مورد نظر از آرایه به جدولمون وارد میشه اما در روش دوم دستور اس کیو ال مون رو به صورت پویا می نویسم و تنها با اجرای یک کوئری مقادیر مورد نظرمون رو وارد جدول می کنیم که باعث میشه تا سرعت برنامه بالا بره .</p>
<p>- مقادیری که از کاربر دریافت می کنید رو بی دلیل در متغیر اضافی قرار ندید یا آن را در داخل چند متغیر کپی نکنید تا حافظه کمتری مورد استفاده قرار بگیرد و برنامه با سرعت بیش تری اجرا شود .<br />
بنابراین به جای استفاده از روش زیر</p>
<pre class="brush: php">$a=htmlspecialchars($_GET['name']);
echo 'your name is'.$a;</pre>
<p>بهتره که از دستور زیر استفاده کنیم</p>
<pre class="brush: php">echo 'your name is'.htmlspecialchars($_GET['name']);</pre>
]]></content:encoded>
			<wfw:commentRss>http://webnevis.net/1388/04/21/few-tips-in-php-programing/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
