توضیحاتی اجمالی در مورد php
@BotSorceدر این پست ، طبق درخواست برخی از اعضای کانال در مورد مباحث زیر بحث خواهیم کرد :
- آشنایی با چگونگی ساختار PHP
- جاسازی PHP درون یک صفحه وب
- ذخیره داده ها در متغیرها
- نمایش خروجی PHP
- نحوه تعریف انواع آرایه
- انواع قلمرو های متغیرها در PHP
اگر شما جز افرادی هستید که از کد نوشتن می ترسید ، ممکن است این مطلب کمی برای شما لذت بخش نباشد ، ولی این مطلب جز مهمترین و اگر بهتر بخواهم بگویم Base زبان برنامه نویسی PHP است ، البته سعی خواهم کرد که تا حد ممکن آن را برای شما ساده کنم.
بخش اول : آشنایی با چگونگی ساختار PHP :
در هر صفحه PHP باید المان های زیر را رعایت نمائید :
- پسوند قابل پردازش باید PHP باشد مانند Index.php
- وجود تگ های باز <?php در هر شرایطی اجباری ولی تگ بسته ؟> را می توان در شرایطی حذف کرد.
- کد های php را می توانید با html ترکیب نمائید ولی دقت کنید که کدهای php حتما باید درون تگ های باز و بسته باشند همانند دستور زیر :
© <?php echo date('Y'); ?> botsorce.66ghz.com
- می توانید از چندین قسمت کد php روی یک صفحه استفاده کنید (یعنی چندین مورد تگ های باز و بسته php) ولی نمی توانید آنها را درون یکدیگر قرار دهید.
- زمانی که شما ترجیح می دهید که کد php خود در یک فایل جداگانه ذخیره نمائید ، تگ <?php اجباری بوده ولی تگ ?> اختیاری می باشد ، در حقیقت بهتر است که تگ بسته را وارد نکنید ، اما اگر کد شما حاوی کد html نیز هست حتما باید از تگ پایان استفاده نمائید.
اضافه کردن توضیحات یا Comment به کدهای PHP خود :
هر کدی که بین تگ های باز و بسته PHP قرار گیرد ، به عنوان دستور اطلاق می شود و آن دستر پردازش می گردد ، مگر اینکه با استفاده از علامت گذاری های خاصی آن خط(ها) دستور را به توضیح (Comment) تبدیل نمائید ، که در این صورت کد مورد نظر پردازش نمی شود ، کامنت گذاری برای دستورات فایده های بسیار زیادی در راهنمایی داره :
- برای قرار دادن یک توضیح کوتاه برای عملکرد قطعه کد خود
- برای غیر فعال کردن موقت قسمتی از کد
- برای مشخص کردن کاربرد متغیر ها و...
برای اضافه کردن توضیحات در PHP چند روش وجود دارد :
توضیحات تک خطی :
این روش متداول ترین روش اضافه کردن یک توضیح برای کد تک خطی است ، یعنی قرار دادن دو اسلش در ابتدای آن ، همانند این :
//this is a comment
$book = ‘php’ ; //This is a variable
توضیحات چند خطی :
اما اگر توضیحی می خواهید استفاده کنید که چند خط را اشغال می کند با از روش زیر استفاده نمائید :
/*
This is
a comment
block
*/
متغیر ها در PHP :
متغیر ها اسمی هستتند که به چیزی داده می شوند ، که ممکن است مقدار آن (همان چیز!) تغییر کند ولی همیشه نام متغیر یکی است ، مانند نام یک انسان ، کلمه نامهمیشه یکی است ولی دارای مقادیر متفاوتی است مانند علی ، امیر ، محمد و ...
بهتر است برای درک مفهوم متغیر مثالی دیگر بزنم :
حساب بانکی خود را در نظر بگیرید که دارای گردش حساب هست یعنی پعنی پول هم پس انداز می شوند ، هم دریافت می شود ، اما مهم نیست که چقدر پس انداز کردید یا چقدر برداشت کرده اید ، بلکه مهم این است که همیشه آن را موجودی می نامند.
نکته: متغیر ها در زبان PHP همیشه با یک علامت $ شروع می شوند .
نمونه ای از تعریف متغیر :
<?php
$profile;
$book;
?>
نکاتی که باید در انتخاب و نام گذاری متغیر ها رعایت نمائید :
- متغیر ها در php همیشه با علامت $ شروع می شوند.
- اولین کاراکتر بعد از علامت $ نمی تواند یک عدد باشد.
- هیچ فاصله یا علامتی در نامگذاری متغیر مجاز نیست به جز علامت (_).
- زبان php به حروف بزرگ و کوچک حساس است یعنی بین $book و $BOOK تفاوت قائل است .
نکته : سعی کنید در انتخاب نام متغیر دقت نمائید ، شما وقتی برنامه را می نویسید و به نام متغیر ها توجه نمی کنید ، همان لحظه می دانید که چه کرده اید و متغیر هایی که ایجاد نموده اید ، برای چه کاری هستند ولی اگر همان برنامه را چند هفته دیگر دوباره مشاهده کنید ، به احتمال بسیار زیاد فراموش خواهید کرد که متغیر مورد نظر چه کاربردی دارد!؟
نکته : برای انتخاب نام یک متغیر ، شما آزادی کامل دارید ولی یک استثنا وجود دارد و ان هم نام $this است ، این نام متغیر از نسخه 3 بعد زبان php یک نام رزرو شده است برای کلاس ها ، چون از نسخه 3 به بعد php ، قابلیت شی گرایی به این زبان افزوده شد.
مثال زیر را مشاهده نمائید :
<?php
$sum=10;
$average=20;
$name='amir';
?>
همانطور که قطعه کد فوق را مشاهده می نمائید ، در دستور اول ، در متغیر sum ، مقدار 10 قرار میگیرد ، دستور دوم مقدار 20 در average قرار میگیرد و در دستور سوم مقدار name برابر با نام امیر می شود .
نکته : همانطور که در مثال بالا مشاهده نمودید ، برای مقدار دهی دو متغیر sum و average از علامت کوتیشن استفاده نکردم ولی برای مقدار دهی به متغیر name از کوتیشن استفاده کردم ، برای مقدار دهی یک کلمه ، یک حرف ، یک جمله یا بهتر بگویم یک رشته از کوتیشن استفاده می کنند.
خاتمه دادن به دستورات در php :
هر دستور در php با یک علامت (;) خاتمه می یابد ، همانطور که در کد های فوق ملاحظه کردید ، پس از تعریف متغیرها از علامت ; استفاده نمودیم.
نمایش خروجی در PHP :
تمام کارهایی که شما در پشت صحنه PHP انجام می دهید ، فقط وقتی معنی پیدا می کنند که بتوانید آنها را مشاهده نمائید ، دو روش برای نمایش نتایج در PHP وجود داره :
- استفاده از دستور echo
- استفاده از دستور print
نکته :این دو دستور دقیقا کاربرد یکسانی دارند با این تفاوت که مقدار print ، مقادیر true و false بر می گرداند.
می توانید از echo به همراه متغیرها ، اعداد و رشته های متنی استفاده کنید ، طریقه استفاده این دستور به صورت زیر می باشد :
<?php
$name='amir';
echo $name;
echo 5;
echo 'David';
?>
در قطعه کد بالا ، ابتدا یک متغیر به نام name تعریف کرده ایم ، سپس این متغیر را چاپ نموده ایم ، همچنین می توان مقدار مستقیم برای چاپ در نظر گرفت مانند کد بالا.
وصل کردن رشته های متنی به یکدیگر :
php هم مانند زبان های برنامه نویسی دیگر ، دارای قابلیت الحاق کردن دو یا چند رشته را با یکدیگر دارد که برای اینکار از یک نقطه (.) استفاده می نماید :
<?php
$firstname='amir';
$lastname='admin';
echo $firstname . $lastname; // output : amiradmin
?>
همان طور که ملاحظه نمودید ، دو رشته را در دو متغیر جداگانه قرار دادیم ، ولی در بخش دستور echo از عملکرد الحاقی (.) استفاده نمودیم.
برای نمایش یک فاصله در خروجی (یعنی دو کلمه amir و admin با فاصله چاپ شوند) می توانیم از کوتیشن استفاده نمائیم :
<?php
$firstname='amir';
$lastname='admin';
echo $firstname . ' ' . $lastname; // output : milad heydari
?>
همانطور که ملاحظه نمودید ، متغیر firstname را با کوتیشن الحاق کرد و همچنین متغیر lastname را با کوتیشن الحاق نمود ، حال در خروجی ما بین دو کلمه یک فاصله چاپ می شود.
نکته مهم :حتما کد زیر را در پوشه xampp ایجاد کنید و خروجی آنها را مشاهده نمائید.
انواع داده پشتیبانی شده توسط PHP
انواع داده ها در PHP شامل بولین ، عدد صحیح ، عدد اعشاری ، رشته های متنی و آرایه ها می باشند.
بولین ( Boolean) :
این نوع داده ای فقط شامل دو مقدار می باشد (درست و غلط )یعنی TRUE و FALSE ، برای TRUE مقدار 1 و برای FALSE مقدار 0 در نظر گرفته شده است :
</p>
<p style="text-align: left;"><?php
$value = false; // is false
$value = 1; // is true
$value = -1; //is false
$value = 5; //is true
value = ; //is false
?>
استثنا: برای با این که رشته ها باید در داخل کوتیشن قرار گیرند ، اما مقادیر true و falseنباید در کوتیشن قرار گیرند ، همانطور که در کد بالا ملاحظه می نمائید مقدار false را در کوتیشن قرار نداده ایم ، اگر این مقادیر را در داخل کوتیشن قرار دهید ، آنها تبدیل به رشته false و true می شوند.
اعداد صحیح (Integer ) :
یک عدد صحیح به صورت یک عدد کامل نمایش داده می شود ، یا به عبارتی دیگر شامل هیچ قسمت اعشاری نیست مانند :
<?php
$value = 50;
$book = 100;
?>
اعداد اعشاری (Double) :
اعداد اعشاری دارای نقطه اعشار هستند ، که به شما اجازه می دهند قسمت کسری را مشخس نمائید :
<?php
$value = 2.5;
$book = 5.75;
?>
رشته های متنی (String) :
رشته های متنی می توانند حاوی یک کاراکتر ، یک کلمه یا یک جمله باشند که باید حتما آن ها را در داخل کوتیشن قرار داد:
<?php
$name="admin";
$book="php";
$email="yahoo";
?>
آرایه ها (Arrays) :
اگر بخواهم در وصف آرایه بگویم ، آرایه مجموعه ای از متغیر های مربوط به یکدیگر است مثلا شما شهر تهران را یک آرایه در نظر بگیرید و مناطق 22 گانه آن را مقادیر آرایه در نظر بگیرید.
آرایه ها در زبان php به 3 صورت نوشته می شوند :
- آرایه ایندکسی ( شاخص عددی) :
<?php
$tehran = array('m1' , 'm2' , 'm3' , 'm4');
?>
همانگونه که ملاحظه نمودید ، ما آرایه را با 4 مقدار تعریف کردیم و هر کدام از این 4 مقدار دارای یک ایندکس یا شماره هستند ، همچنین آرایه ایندکسی را به صورت شاخصی می توانید تعریف نمائید ، دقیقا کاربرد همان بالایی را دارد :
<?php
$tehran[] = 'm1';
$tehran[1] = 'm2';
$tehran[2] = 'm3';
$tehran[3] = 'm4';
?>
- آرایه شاخص رشته ای :
شما می توانید به جای شاخص گذاری عددی ، از رشته ای استفاده کنید به بدین صورت می باشد :
<?php
$ages['Peter'] = "32";
$ages['Quagmire'] = "30";
$ages['Joe'] = "34";
echo "Peter is " . $ages['Peter'] . " years old.";
?>
در مثال بالا ، مثلا شاخص peter دارای مقدار 32 است .
شاخص گذاری رشته ای را به گونه ی دیگری نیز می توانید تعریف نمائید :
<?php
$ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34);
?>
اگر آرایه شاخص گذاری رشته ای خود را همانند قسمت بالا تعریف نمائید ، برای مقدار دهی به شاخص ها از علامت "یک مساوی و یک فلش" استفاده می شود.
- آرایه آرایه ها:
شما آرایه آرایه ها را همانند یک جعبه ای در نظر بگیرید که درون آن تعداد زیادی پاکت وجود وجود دارد ، این نوع آرایه را نیز می توانید به دو صورت تعریف نمائید :
- نوع اول (شاخص گذاری عددی)
<?php
$families = array
(
"Griffin"=>array
(
"Peter",
"Lois",
"Megan"
),
"Quagmire"=>array
(
"Glenn"
),
"Brown"=>array
(
"Cleveland",
"Loretta",
"Junior"
)
);
?>
حال اگر بخواهیم یک مقدار مشخص را چاپ نمائیم ، اینگونه مشخص می نمائید :
<?php
echo "Is " . $families['Griffin'][2] ." a part of the Griffin family?";
// OutPut : Is Megan a part of the Griffin family?
?>
- نوع دوم (شاخص گذاری رشته ای ) :
<?php
$image= array(
array('file' => '1' , 'alt' => "amir"),
array('file' => '2' , 'alt '=> "hossein"),
array('file'=> '3' , 'alt' => "ahmad"),
array('file' => '4' , 'alt' => "reza"),
array('file'=>'5' , 'alt' => "not")
);
?>
در قسمت فوق ، یک آرایه به نام image تعریف کرده ایم که همان جعبه ما می باشد ، هر پاکت شامل دو بخش است یکی بخش file و دیگری بخش alt قسمت آرایه آرایه ها در php کاربر بسیار زیادی دارد ، ان شاءالله در بخش پروژه عملی ، مثال تصاویر تصادفی را خواهیم زد که از آرایه آرایه ها استفاده می شود. در حال حاضر از شما انتظار نمی رود که به کاربرد آرایه ها مسلط باشید ، فقط کافیست نحوه تعریف کردن آن ها را یاد گرفته باشد ، در قسمت های بعدی مثال های خواهیم زد که کاربرد های آرایه ها را درک خواهید کرد.
نکته ای قابل توجه برای استفاده از کوتیشن ها :
در ابتدا قطعه کد زیر ملاحظه نمائید :
<?php
$book = 'this is amir's learn on the Botsorce . ';
?>
در نگاه اول که ملاحظه می نمائید ، مشکلی وجود ندارد اما php فکری دیگر می کند . همانطور که شما ملاحظه کردید ما از کوتیشن منفرد استفاده کرده ایم ولی بخش amir's نیز دارای یک کوتیشن است ، php فقط تا کلمه amir's را پردازش می کند و ادامه جمله را پردازش نمی کند:
برای حل این مشکل می توانید یکی از راه های زیر را انتخاب نمائید :
<?php
$book = "this is amir's learn on the Botsorce . ";
$book = 'this is amir\'s learn on the Botsorce . ';
?>
همانطور که ملاحظه نمودید ، ما قبل از آپستروف amir یک علامت \ (بک اسلش) استفاده کردیم ، پس در مواقع اینگونه می توانید از بک اسلش استفاده نمائید.
قلمرو متغیر :
با این که بهتر است متغیرهای مورد نیاز اسکریپت خود را در ابتدای برنامه خود معرفی کنید، اما می توانید آن ها را در هر جای اسکریپت خود معرفی نمائید ، مکان معرفی کردن یک متغیر ، تاثیر بسیار زیادی برای دسترسی به آن را دارد ، در این قسمت با محدوده یا قلمرو متغیر آشنا خواهیم شد .
متغیرها در php از لحاظ قلمرو ، چهار نوع هستند :
- متغیرهای محلی (Local Variable)
- پارامترهای تابع
- متغیرهای عمومی (Global Variable)
- متغیرهای استاتیک (Static Variable)