phpمطالب ویژه
آموزش php جلسه ی دوم
متغیرها
هر زمان صحبت از زبانهای برنامه نویسی به میان آید، بدون شک اولین مفهومی که مطرح میشود، متغیر است. متغیر به مکانی از حافظه میگویند که دارای نام است. توسط نام متغیر میتوان آنرا مورد دستیابی قرار داد و درصورت لزوم، آنرا تغییر داد. در PHP متغیرها با استفاده از علامت دلار
$
تعریف میشوند. مثلاً $myVariable یک متغیر به نام myVariable است. نام متغیرها در PHP نسبت به بزرگی و کوچکی حروف حساس است. برای مثال، دو متغیر $var و $VAR در PHP با هم متفاوت هستند. برای نامگذاری متغیرها در PHP باید از قوانین زیر پیروی کنید:
نام متغیر فقط میتواند شامل اعداد، حروف کوچک و بزرگ الفبای انگلیسی و کارکتر Underscore
_
باشد.
نام متغیر نمیتواند با عدد شروع شود.
مثلا از بین نام های زیر سه نام اول صحیح میباشد چون نام چهرم با عدد شروع شده است:
$name //ok
$_Name20 //ok
$my_1st_Name //ok
$۲_name //error
در زبان پی اچ پی نیاز به تعیین نوع متغیر نیست و نوع متغیر به طور خودکار در هنگام مقدار دهی مشخص میشود
دستور echo:
این دستور، هرچه که بعنوان پارامتر دریافت کند را در محل قرارگرفتن مکان نما در فایل HTML خروجی (که تحویل مرورگر کاربر داده خواهد شد)، مینویسد. برای مثال، دستورات زیر را درنظر بگیرید:
<!doctype html>
<html>
<head>
<title>echo DEMO</title>
<meta charset="utf-8" />
</head>
<body>
<?php
$x = 5;
$y = 6;
$z = $x + $y;
echo $z . '<br />' . PHP_EOL;
?>
</body>
</html>
کد فوق را با نام ۲٫php در مسیر اکسپلور در برنامه easyphp خود ذخیره کنید و با واردکردن نشانی localhost/2.php در مرورگر، آنرا اجرا کنید. با مشاهده کد منبع صفحه، خواهید دید که این کد به مرورگر تحویل داده شده است:(برای مشاهده ی کد منبع میبایست پس از اجرای کد در مرورگر کلیک های ctrl +u را زده تا کد html کهدبه مرورگر تحویل داده شده و مرورگر آن را اجرا کرده را ببینیم)
<!doctype html>
<html>
<head>
<title>echo DEMO</title>
<meta charset="utf-8" />
</head>
<body>
۱۱<br />
</body>
</html>
حال اجازه دهید بررسی کنیم که دقیقاً چه اتفاقی رخ داده است که این خروجی برای مرورگر ارسال میشود؟
کاربر در مرورگر نشانی localhost/2.php را وارد میکند.
درخواست به سرویس دهنده وب نصب شده روی Server میرسد (در اینجا، Server و Client هر دو، کامپیوتر شما است).
سرویس دهنده وب با بررسی آدرس متوجه میشود که فایل درخواستی از نوع .php است و درنتیجه مفسر PHP را فراخوانی کرده و فایل را برای تفسیر، تحویل آن میدهد.
مفسر PHP در حافظه محلی را برای نگه داشتن محتوایی که باید برای درخواست کننده، ارسال شود، ایجاد میکند و شروع به تفسیر فایل بصورت خط به خط مینماید.
هر بخش از فایل که خارج از تگهای PHP قرار دارد (محتوای HTML که در اینجا، از ابتدای فایل تا پایان خط ۷ است) عیناً در حافظه در محلی که در مرحله قبل ایجاد شده و به آن بافر (Buffer) میگوییم، نوشته میشود.
با رسیدن به تگ شروع PHP مفسر وارد فاز عملیاتی میشود و شروع به پردازش دستورات PHP میکند. در فاز عملیاتی، هیچ چیزی در بافر نوشته نمیشود، مگر آنکه صراحتاً توسط دستور echo از مفسر بخواهیم.
ابتدا یک متغیر به نام $x تعریف شده و مقدار ۵ در آن قرار میگیرد.
سپس یک متغیر دیگر به نام $y تعریف شده و مقدار ۶ در آن قرار میگیرد.
در ادامه یک متغیر دیگر به نام $z تعریف شده و حاصل جمع مقدار متغیرهای $x و $y یعنی ۱۱ در آن قرار میگیرد.
توسط دستور echo مقدار متغیر $z و سپس تگ
<br />
و سپس یک ثابت خاص در PHP بنام PHP_EOL که معادل کارکتر رفتن به سطر بعد است، در ادامه محتوای بافر (بعد از
<body>
) درج میشود.
با رسیدن به علامت بستن تگ PHP، مفسر از فاز عملیاتی خارج و مجدداً وارد فاز نوشتن میشود و بقیه محتوای فایل در انتهای بافر خروجی درج شده و کار پردازش فایل تمام میشود.
با پایان یافتن پردازش فایل، مفسر محتوای بافر خروجی را برای سرویس دهنده وب ارسال میکند تا بعنوان نتیجه پردازش، تحویل مرورگر کاربر دهد.
سرویس دهنده وب نتیجه دریافت شده از مفسر را برای مرورگر کاربر ارسال میکند و مرورگر آنرا نمایش میدهد.
کار با رشته ها:
رشته ها در PHP مجموعه ای از کارکترهای متوالی هستند که بین دو گیومه (کوتِیشِن) تک ‘ ‘ یا جفت ” ” قرار میگیرند. مثال:
$a = 'This is a fanavari-novin.';
$b = "This is also a text.";
درصورتی که بخواهید از خود کارکتر گیومه (تک یا جفت) در وسط رشته ای که ابتدا و انتهای آن توسط همان نوع گیومه مشخص شده است، استفاده کنید، باید قبل از گیومه میان رشته، کارکتر \ استفاده کنید.
echo 'It\'s mine. My name is "salman safari"';
echo "My friend's name is \"Ali\".";
به کارکتر \ اصطلاحاً Escape (فرار) میگویند؛ زیرا برای فرار از معنای اصلی کارکترهای بعد از آن و ایجاد معنای دیگری برای آنها بکار میرود. بدیهی است که کارکتر گیومه تک در داخل رشته محصور به گیومه جفت و همچنین کارکتر گیومه جفت در داخل رشته محصور به گیومه تک نیاز به Escape ندارد. در جدول زیر، تعدادی از کدهای Escape متداول را در PHP مشاهده میکنید:
کد Escape | نتیجه |
---|---|
\n | حرکت به سطر بعد |
\r | حرکت به ابتدای سطر جاری |
\t | کارکتر Tab (معادل ۸ کارکتر Space) |
\\ | کارکتر \ |
\’ | کارکتر ‘ (در رشته های محصور به گیومه تک) |
\” | کارکتر ” (در رشته های محصور به گیومه جفت) |
\$ | کارکتر $ |
\[۰-۷] | کارکتری که کد ASCII آن در مبنای ۸ در جلوی \ نوشته شده است |
\x[0-F] | کارکتری که کد ASCII آن در مبنای ۱۶ در جلوی \x نوشته شده است |
اگر بخاطر داشته باشید، در برخی از کدها از یک ثابت خاص به نام
PHP_EOL
استفاده شده بود. این ثابت، بطور خودکار تبدیل به کارکتر رفتن به سطر جدید میشود. در سیستم عامل ویندوز، برای رفتن به سطر بعد، باید از ترکیب دو کارکتر \r\n استفاده نمود، درحالی که در سایر سیستمهای عامل، کارکتر \n به تنهایی این وظیفه را انجام میدهد و استفاده از ترکیب دو کارکتری فوق، موجب رفتن به دو سطر بعد خواهد شد که ظاهر نازیبایی به کدها خواهد داد. برای جلوگیری از این مشکل، ثابت PHP_EOL در PHP درنظر گرفته شده است که بطور خودکار برحسب نوع سیستم عامل Server، ترکیب مناسب را برای کارکتر رفتن به ابتدای سطر جدید انتخاب میکند. الته باید به این نکته نیز دقت کنید که این علائم فقط در کد منبع درج میشوند و نحوه تفسیر آنها بستگی به محل قرارگیری آنها در داخل کد منبع دارد. برای مثال، درج کارکتر رفتن به ابتدای سطر جدید، در HTML موجب رفتن به سطر جدید نمیشود و برای اینکه در خروجی، به سطر جدید برویم، باید تگ
<br />
را بکار ببریم. البته همین کارکتر (رفتن به ابتدای سطر جدید) اگر درون تگهای خاصی مثل pre و xmp و… مورد استفاده قرار گیرد، در خروجی نیز موجب رفتن به سطر جدید خواهد شد.
برای متصل کردن یک یا چند رشته به یک دیگر از نقطه استفاده میشود:
$a = 'PHP';
$b = 'Programming';
echo $a . ' ' . $b . ' is full of enjoy.<br />' . PHP_EOL;
خروجی:
PHP Programming is full of enjoy.<br />
امکان اتصال اعداد با نوشته ها نیز وجود دارد
$num = 5;
echo 'Test' . $num; //output: Test5
ادامه در قسمت بعد…
با سلام
اول تشکر میکنم بخاطر خاطر آموزش ها و خواستم بینم آیا اموزش css رو هم میزارین یا نه؟
با تشک راز سایت خوبتون
سلام دوست عزیز ، آموزش css مستلزم آموزش html هست ، بله ان شاءلله در نظر داریم از html شروع کنیم و سپس css و بعد از اون جاوا اسکریپت (js) رو هم آموزش بدیم و در نهایت همین بخش php رو هم تکمیل کنیم تا فرصت بشه و سراغ زبانهای برنامه نویسی سیستم مثل c ، c++ ، c# ، Lua ، پاسکال ، vb و … بریم
آموزش html از این پس هر روز یک جلسه بهش اضافه میشه و همچنین آموزش css رو هم به زودی آغاز میکنیم.
سلام علیکم دوست عزیز خسته نباشد
سایت خیلی خوبی دارین
یک سوال داشتم چند ماه یا سالی بروز میکنید؟
سلام دوست عزیز
، متاسفانه مدیر سایت مسافرت هستن و فرصت بروزرسانی فعلا کمه
خود بنده هم بیشتر فعالیتم روی پشتیبانی سایر سایتها هست و مدیریت سایت هواشناسی کازرون و بروز رسانی اون سایت با بنده هست و هر از گاهی در این سایت هم پاسخ سوالات رو مینویسم
با این حال از حدود ۲۵ آبان ماه مدیر اصلی سایت تشریف میارن و سایت رو بیشتر بروز خواهیم کرد.