loading...
read more
سینا خرسند بازدید : 208 دوشنبه 08 تیر 1394 نظرات (0)

درس اول- سینتکس و متغیرها

 

نحوه کار زبان پی اچ پی
پی اچ پی زبانی است که در داخل اچ تی ام ال قرار داده می شود. برای آشنایی با نحوه کار این زبان ما این مهم را قدم به قدم با کدنویسی ساده انجام می دهیم. ابتدایی ترین چیز در استفاده کردن از این زبان قرار دادن کدهای خود در داخل برچسب (تگ یا Tag) زیر در ادامه مطلب است:

<?php
محل قرار گرفتن کد
?>

هر کدی که در میان این دو برچسب قرار دهید به عنوان کد پی اچ پی قلمداد می شود. نکته بعدی پسوند فایل شما است که در زبان کدنویسی پی اچ پی بهتر آن است که از پسوند .php استفاده کنید.

به طور مثال نام  index.php را برای ابتدایی ترین فایل خود برگزینید. البته برای نمایش یک برگه دارای کد پی اچ پی ما کماکان باید از برچسب های اچ تی ام ال هم استفاده کنیم. به مثال زیر توجه کنید:

همانطور که می بینید برچسب پی اچ پی در داخل برچسب های اچ تی ام ال قرار گرفته است. تابع echo مورد نوشته شده را برای شما چاپ می کند. حال دست به کار شوید و فایلی با نام index.php درست کرده و برچسب های بالا را در آن بگذارید. این کار را با یک فایل متنی و تغییر پسوند آن انجام دهید. test.txt را به index.php تغییر دهید.

نکته: فراموش نکنید که برای نمایش کد در مرورگر خود حتما فایل مورد نظر را در پوشه www که توسط برنامه wamp server  ایجاد شده قرار دهید. نشانی این پوشه می تواند چیزی مانند این باشد:

I:wampwww

البته :I می تواند نام درایو محل نصب برنامه باشد. در داخل  www پوشه ای به نام PHP  ایجاد کنید و فایل را در آن قرار دهید. برنامه wamp را اجرا کرده و بر روی آیکون این برنامه در قسمت راست نوار وظیفه کلیک کرده و مطابق عکس زیر Localhost را انتخاب کنید.

حال شما کلمه «درود» را در مرورگر خود مشاهده می کنید. شما ابتدایی ترین کد خود را در پی اچ پی نوشتید٬ به همین سادگی.

از این به بعد ما تمرین های این درس را در همین فایل انجام می دهیم و خروجی را در مرورگر می بینیم.

البته راه های بیشتری برای نوشتن برچسب پی اچ پی وجود دارد مانند:

<?  ?> و یا <script language="php"> </script>

که همان ابتدایی بهترین است و پیشنهاد می شود. برای دسترسی مستقیم هم می توانید در محل نشانی مرورگر نشانی http://127.0.0.1/php/index.php را هم وارد کنید. php نام پوشه ای است که شما در پوشه www ساخته اید.

 

فرستادن داده ها به مرورگر
در بخش قبل دیدید که ما کلمه «درود» را در مرورگر نوشتیم. این کار را با کمک دستور echo انجام دادیم. برای فرستادن داده ها به مرورگر تابع های متفاوتی وجود دارد که معروف ترین آنها echo و  print است. برای مثال می توانید به این طریق عمل کنید:

echo 'درود';   print "درود";

شما این کار را می توانید با کمک ' ' و یا " " انجام دهید که تفاوتی هم با یکدیگر دارند که در دروس بعدی آنها را ذکر خواهیم کرد.

نکته بعدی این است که در آخر تمام کدهای پی اچ پی باید علامت ; یا سمی کالن (Semicolon) قرار بگیرد. مورد مهم بعدی این است که دستورات پی اچ پی را می توانید با حروف بزرگ ECHO یا کوچک  echo بنویسید که فرقی برای پی اچ پی نمی کند و همه را یکی در نظر می گیرد ولی بهتر آن است که از همین ابتدا یاد بگیرید که از حروف کوچک استفاده کنید.

نکته: شما نمی توانید از علامت ' '  یا " " در داخلی یکدیگر به طور تکراری استفاده کنید. مثلا این مورد به شما خطا می دهد:

echo "٬ درود" حال شما چطور است؟"";  ویا  echo '٬ درود' حال شما چطور است؟'';

برای نوشتن دستور بالا شما باید به این صورت عمل کنید:

echo '٬ درود" حال شما چطور است؟" ';  ویا  echo "٬ درود' حال شما چطور است؟' ";

در صورت تمایل برای استفاده کردن علامت های یکسان، باید یک علامت قبل از هر " که در داخل " قرار می دهید استفاده کنید. مانند:

echo "٬ درود" حال شما چطور است؟"";  ویا  echo '٬ درود' حال شما چطور است؟'';

 

فضای خالی
پی اچ پی اصولا فضای خالی را در نظر نمی گیرد و اگر شما می خواهید به طور مثال یک فاصله یا یک خط فاصله بی اندازید، باید از کدهای اچ تی ام ال در کد پی اچ پی استفاده کنید. به طور مثال:

echo  'درود'  .  '<br />'  . 'حال شما چطور است' ;

همانطور که می بینید ما از برچسب اچ تی ام ال <br /> در داخل پی اچ پی برای انداختن خط فاصله استفاده کردیم.

نکته: برای چسباندن دو یا چند عبارت باید از علامت نقطه . بین هر عبارت استفاده کنید.

 

دیدگاه یا  Comment
یکی از مهمترین اصول کدنویسی قرار دادن توضیحات یا دیدگاه در مورد کد نوشته شده است تا اگر در آینده خودتان و یا هر کس دیگری که از کد شما استفاده می کند به سراغ آن رفت، به راحتی با دیدن این توضیحات از نحوه عملکرد آن با خبر و در صورت لازم اقدامات مورد نظر خود را انجام دهد.

فرض کنید شما تابعی نوشته اید که یک عملیات ریاضی را انجام می دهد٬ حال بعد از چند ماه به سراغ آن می روید تا تغییراتی را اعمال کنید. چه اتفاقی خواهد افتاد اگر توضیحی وجود نداشته باشد؟

شما باید دوباره زمان زیادی را صرف فهمیدن و چگونگی رفتار آن کنید. حال فرض کنید شخص دیگری بخواهد این کار را انجام دهد٬ آن وقت اوضاع بدتر هم می شود. در صورتی که اگر توضیحات باشد یک راهنمای خوب برای ادامه کار می شود.

در پی اچ پی به چند صورت می توانید توضیحات یا دیدگاه بگذارید:

  • استفاده از دو علامت //  قبل از توضیح. این روش برای زمانی است که می خواهید تنها یک خط را از چشم برنامه دور کنید و به صورت دیدگاه قرار دهید.

print 'درود'; //کلمه درود را چاپ می کند
//کلمه درود را چاپ می کند
print 'درود';

  • استفاده از علامت #: درست مانند نمونه قبلی عمل می کند.

print '';  # کلمه درود را چاپ می کند

  • نوع سوم که با /* آغاز و با */ خاتمه می یابد برای گذاشتن توضیح در چند سطر است.

/*  این نوشته برای
توضیح این کد است
*/

 

متغیرها
متغیرها در اصطلاح فضاهایی هستند که مقداری را برای مدت کوتاهی در خود نگهداری می کنند که در صورت لازم از آن در طول مرحله اجرای کد استفاده شود. مقادیر داخل متغیرها می توانند اعداد٬ متن٬ کاراکتر و صورت های دیگری از مقدار باشند.

در زبان های برنامه نویسی دیگر مانند جاوا در هنگام تعریف متغیر نیاز است که نوع آن هم مشخص شود در صورتی که در پی اچ پی نیازی به این کار نیست. اما این متغیرها باید از قوانین ویژه ای پیروی کنند که شامل:

۱- یک متغییر باید با علامت $ آغاز گردد. مثلا $name

۲- نامی که برای متغیر انتخاب می کنید می تواند شامل حروف٬ اعداد و خط فاصله زیرین باشد. مانند $my_name

۳- کاراکتر ابتدایی نمی تواند عدد باشد. به همین دلیل این دو مثال خطا هستند: $3_name یا $5name

۴- در مورد نام متغیرها بزرگی و یا کوچکی حروف در پی اچ پی مهم و با هم متفاوت هستند. پس $NAME با $name با $Name متفاوت است.

نکته ۱: برای مقدار دادن به متغیرها از علامت '=' استفاده می کنیم. مانند $name = 'darsameh' و برای چاپ نیازی به علامت ' '  یا " " نیست. مانند  echo $name ; که کلمه  darsnameh را چاپ می کند.

نکته ۲: در زمان قرار دادن یک متغیر در بین کلمات و یا با کلمات نمی توانید از علامت ' ' استفاده کنید و باید حتما از علامت " " استفاده کرد. خروجی این کد:

echo 'درود $name' ;

برابر با:

درود $name

می شود که حتما خواسته نویسنده کد نیست. حالت درست به شکل زیر است:

echo " درود$name  ";

که خروجی آن می شود:

درود darsameh

حال بیاید یک مثال کامل برای متغیرها درست کنیم. یک برنامه کوچک که نام٬ نام خانوادگی و سن ما را چاپ می کند. برای این کار سه متغییر نیاز داریم. کد را به شکل زیر می نویسم:

<?php
$first_name = 'پیمان';
$last_name  = 'ایرانی';
$age        = ۲۵ ;
print " درود $first_name  $last_name $age ساله ";
?>

خروجی می شود:

درود پیمان ایرانی ۲۵ ساله

با یک مثال دیگر چطورید؟

حالا می خوایم مشخصات مرورگر و آدرس فایل مورد استفاده شما را کشف کنیم. به کدهای زیر دقت کنید. لطفا شما هم این کار را در فایل خود بنویسید. دقت کنید که به هیچ وجه این نوشته ها را رونویسی و بازنویسی نکنید چرا که با نوشتن این کدها دست شما با برنامه نویسی آشنا می شود. خوب ما هم همین را می خوایم نه!

<?php
$file = $_SERVER['SCRIPT_FILENAME'];
$user = $_SERVER['HTTP_USER_AGENT'];
echo "<p>نشانی فایل شما در:<br/><b>$file</b>.</p> ";
// چاپ اطلاعات مرورگر
echo "<p>شما از مرورگر زیر استفاده می کنید:
<br /><b>$user</b></p> ";
?>

ما در این دو مثال از متغیرها استفاده کردیم و بعد آنها را چاپ نمودیم.

 

کار با رشته ها یا String
رشته در اصل همان مجموعه ای از کاراکترها است. به طور مثال نام شما یک رشته است. اما ارقام هم می توانند رشته باشند، مثلا '12345'. وقتی یک مقدار رشته ای را به متغیر می دهید، آن متغیر رشته ای می شود و آن مقدار را برای شما نگهداری می کند.

نکته این است که اگر می خواهید یک عدد را به طور رشته در متغیر قرار دهید، باید آنرا در داخل علامت '' یا "" قرار دهید. برای چاپ رشته هم باید از همان تابع های echo() و  print() استفاده کنید. در قسمت قبلی شما با رشته کار کردید پس در اینجا نیازی به مثال نیست.

نکته: در زمانی که به یک متغیر مقداری داده اید، اگر دوباره مقدار دیگری در آن قرار دهید، متغیر مقدار جدید را نگهداری می کند.

نکته: شما هیچ محدودیتی در طول رشته ندارید.

 

اتصال رشته
برای اتصال دو رشته به هم  از علامت ' .  ' استفاده می کنیم. به طور مثال فرض کنید ما دو مقدار رشته داریم و می خواهیم آنها را در کنار هم نمایش دهیم.

$f_name = ' پیمان ';
$l_name = ' ایرانی ' ;
$full_name = $f_name  . ' , ' . $l_name ;
print $full_name ;

خروجی این کد خواهد شد:

پیمان , ایرانی

 

مقدار عددی
از آنجا که در پی اچ پی نیاز ندارید نوع مقدار در متغیر را تعبین کنید، کار با اعداد و به طور کلی متغیرها بسیار آسان است. شما می توانید یک مقدار صحیح یا اعشاری در یک متغیر قرار داده و از آن استفاده کنید.

از جمله کارهایی که شما با اعداد می توانید انجام دهید گرد کردن عدد و یا دادن فرمت خاصی به آن است که از توابع round() و number_format()  استفاده می شود.برای فهم این موضوع به مثال زیر توجه کنید:

$number = 2050.169 ;
$number = round ($number);
echo $number . "<br />"; // => 2050

$number = 2050.169 ;

$number = round ($number, 2) ;
echo $number . "<br />";// => 2050.17

$number = 2050.169 ;
$number = number_format($number);
echo $number . "<br />";// => 2,050

$number = 2050.169 ;
$number = number_format($number, 2);
echo $number . "<br />";// => 2,050.17​

در این مثال ها چند نکته قابل توجه است

ابتدا که هر بار که به متغیر مقدار می دهیم، متغیر مقدار جدید را نگه می دارد.

دوم تاثیر توابع بر روی اعداد است که با توجه به اینکه پارامتری را به آن اضافه کنیم یا نه، این عملکرد متفاوت است. مثلا تابع  round() بدون پارامتر یک عدد صحیح باز می گرداند در صورتی که همراه با پارامتر، بسته به مقدار پارامتر آن عدد را به طور اعشاری بر می گرداند.

تابع  number_format() دو کار را همزمان انجام می دهد: ‍۱) به عدد از روی تعداد رقم ها سروسامانی می دهد و عدد را سه رقم سه رقم از هم جدا می کند. ۲) با وجود پارامتر، عدد با توجه به مقدار پارامتر اعشاری باز می گردد.

 

ثابت ها
ثابت ها در اصل همان متغیر هستند با این فرق که یک بار مقدار می گیرند و این مقدار تغییر نمی کند. همان طور که از نامش پیداست، ثابت است؛ یعنی در طول عملیات کد شما، این مقدار در ثابت ها تغییری نمی کند. برای تعریف کردن ثابت به مثال زیر توجه کنید:

define ( '  نام ثابت' , '  مقدار ثابت' );
define ( '  NAME' , '  پیمان' );

همانطور که می بینید ثابت ها نیاز به علامت $ ندارند و نکته بعدی این است که معمولا برای تعریف ثابت از حروف بزرگ استفاده می شود.

نکته: برای نمایش و چاپ ثابت نباید آن را در علامت های  ' ' و یا " " قرار دهید. به مثال زیر توجه کنید:

نادرست: echo ' درود NAME'; // => درودNAME 
درست: echo ' درود ' . NAME; // => درود پیمان 

 

تفاوت علامت های ' '  و  " "
در طول این درس ما از این دو علامت استفاده کردیم. حتما تا به حال متوجه فرق بین آنها شده اید. مورد اصلی تفاوت بین این دو طرز برخورد مقادیر در داخل این علامت ها است.

اگر مقداری را در بین علامت ' ' قرار دهید، پی اچ پی این مقدار را یک مقدار متنی در نظر می گیرد در صورتی که مقدار بین علامت " " مقداری است که پی اچ پی آن را ترجمه می کند.

در مثال های قبلی دیدیم که شما توانستید یک متغیر را در میان علامت " "  قرار داده و مقدار داخل آن را چاپ کنید اما متغیر داخل ' ' به صورت همان نام متغیر چاپ شد.

نکته: با توجه به تفاوت ذکر شده، پیشنهاد می شود که اگر برای چاپ یک مقدار از متغیر استفاده نکردید، از علامت ' ' استفاده کنید زیرا با این کار به برنامه گفته اید که این یک مقدار متنی است و نیاز به ترجمه ندارد. پس برنامه شما دارای سرعت بیشتری خواهد شد چرا که عملیات ترجمه را انجام نخواهد داد و دنبال متغیر نخواهد گشت.

در درس بعدی ما از پی اچ پی برای ساختن فرم های انتقال داده HTML استفاده خواهیم کرد. پس تا درس بعدی بدرود.

سوالات خود را در نظرات بپرسید

مطالب مرتبط
ارسال نظر برای این مطلب

کد امنیتی رفرش
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آرشیو