جلسه دوم PHP : آموزش کامل زبان برنامه نویسی پی اچ پی مقدماتی تا پیشرفته
مقدمه
در این مقاله از آموزش پی اچ پی با جلسه دوم PHP در خدمت شما هستیم . در قسمت قبل در جلسه اول PHP ابزار های مورد نیاز برای شروع کار را بررسی کردیم و کار خود را با Xampp و PhpStorm جلو بردیم و یا به اختصار نحوه ی اجرای کد های PHP را مورد بررسی قرار دادیم، که سرانجام موفق به نوشتن برنامه ی کوتاهی در آن شدیم. با ما باشید تا در جلسه دوم PHP به مباحث زیر بپردازیم.
- متغییرها در PHP
- انواع داده در پی اچ پی
- محدودهی متغیرها
- تفاوت تککوتیشن و دابلکوتیشن در PHP
- ادغام کدهای HTML با PHP
- تفاوت Print و echo
متغیرها در PHP
در این قسمت از جلسه دوم PHP شمارا با متغیرها در پی اچ پی آشنا میکنیم. متغیر ها همانند یک ظرف عمل میکنند که میتوانند درون ِ خود اطلاعاتی را ذخیره نمایند.
قوانین در تعریف متغیر ها در پی اچ پی
- متغیر ها با علامت $ شروع میشوند.
- متغیرها میتوانند حروفی کوچک و بزرگ باشند که البته زبان برنامه نویسی PHP به بزرگ و کوچک بودن حروف حساس است. بنابراین $NAME و $name و همچنین $Name سه متغیر ِ مختلف میباشند.
- اما توجه کنید که متغیرها در پی اچ پی نباید با اعداد شروع شوند. برای مثال Variable درست و 22Variable نادرست است.
- در متغیرها نباید فاصله وجود داشته باشد.
- متغیر ها میتوانند کاراکترهایی مابین A-z و 0-9 و همچنین علامت آندرلاین (_) باشند.
در کل متغیرها را میتوان به دو دستهی کلی تقسیم کرد.
- دستهی اول متغیرهایی که در طول برنامه ممکن است تغییراتی کنند.
- اما در دستهی دوم متغیرهایی وجود دارند که در طول برنامه ثابت میمانند.
این دسته از متغیرها با دستور پیشفرض define تعریف میشوند و شامل سه قسمت میباشند که در قسمت اول نام متغیر و در قسمت دوم مقدار متغیر و در قسمت سوم دستور false و یا true قرار میگیرد. حتماً توجه به این نکته دارید که قسمت اول و دوم دستور define تا آخر برنامهی شما ثابت میمانند.
بنابراین فرمت ِ تعریف ِ ثابتها به این شکل است.
1 |
define(name, value, case-insensitive) |
حال برای جمعبندی به قطعه کد زیر دقت کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php // variavles $x = 10; $txt = "codepaz.com"; $age = 24; define("name", "sajjad"); define("family", "hosseinzadeh", true); // output with echo echo "I love $txt!"; echo "<hr>"; echo name; echo $age; echo "<br>"; echo family; |
خروجی کد بالا:
- نکته 1: قسمت سوم دستور define حالت پیشفرض false را دارد.
- نکته 2: دستور ;”<echo “<hr برای کشیدن یک خط در صفحه است. و دستور ;”<echo “<br برای رفتن به خط بعد میباشد.
- نکته 3: دقت کنید که در مثال ِ فوق، ما به زبان ِ پی اچ پی چیزی در خصوص ِ نوع ِ متغیرها نگفتهایم. بنابراین زبان برنامه نویسی پی اچ پی با توجه به محتوای ِ درون متغیر، نوع و یا type آن را تعیین میکند.
- نکته 4: برای فراخوانی ثابت ها نیازی به قرار دادن علامت $ نیست.
حال به قطعه کد زیر دقت کنید. دو رشتهی empty1 $ و empty2 $ را تولید کردهایم.
1 2 3 4 5 6 |
<?php $empty1 = ''; $empty2 = null; echo gettype($empty1); echo "<br>"; echo gettype($empty2); |
- نکته1: توجه داشته باشید که رشتهی empty1 رشتهای خالی است اما در رشتهی empty2 هیچچیز وجود ندارد و این دو نیز متفاوت هستند.
- نکته2: تابع (gettype($var برای بررسی نوع داده میباشد. مقدار ورودی آن باید از نوع یک استرینگ باشد.
انواع داده در پی اچ پی (Data Types)
متغیر ها میتوانند انواع ِ داده را در خود ذخیره کنند. انواع دادههایی که توسط PHP پشتیبانی میشوند، عبارتاند از؛
String, Integer, Float, Boolean, Array, Object, NULL
PHP String
این نوع داده، انواع کاراکترها را میتواند درون خود ذخیره کند. یک دادهی string میتواند درون یک تک کوتیشن و یا دابل کوتیشن قرار گیرد. همچنین با استفاده از علامت دات (.) میتوان 2 عبارت را به هم متصل نمود.
به مثال زیر دقت کنید.
1 2 3 4 5 |
<?php $string1 = "PHP Tutorial "; //double quotes $string2 = 'in CodePaz'; //single quotes echo $string1 . $string2; |
PHP Integer
این نوع داده، برای اعداد میباشد. البته به جز اعداد اعشاری.
1 2 3 |
<?php $int1 = 76; //positive number $int2 = -34; //negative number |
اغلب اوقات میشود که دادهها را نیز با یکدیگر ترکیب کرد. در مثال پایین 2 مقدار را در Data Type های مختلف با یکدیگر جمع کردهایم.
1 2 3 4 5 6 7 8 |
<?php $str1 = "15"; $int = 6; $sum = $str1 + $int; echo $sum; // Outputs = 21 |
PHP Float
مشخصاً این نوع داده برای اعداد اعشاری میباشد.
1 2 |
<?php $pi = 3.14159; |
PHP Boolean
این نوع داده فقط دو مقدار دارد؛ TRUE و یا FALSE.
از این نوع داده بیشتر برای حالات شرطی استفاده میشود، که در جلسات آینده به این موضوع خواهیم پرداخت.
1 2 3 |
<?php $y = true; $z = false; |
محدودهی متغیرها (Variables Scope)
متغیرها را در هر کجای برنامه میتوانید تعریف کنید. اما در مقابل، برای استفاده از آنها کمی باید دقت به خرج داد. ابتدا مثال زیر را بررسی کنید.
1 2 3 4 5 6 7 8 9 10 11 |
<?php $name = "ali"; function getName() { echo $name; } getName() // Outputs // Error = Undefined Variable '$name' |
نکته 1: در مثال بالا متغیر $name در globale scope تعریف شدهاست. این درحالیاست که ما آن را در local scope مربوط به function فراخوانی کردهایم. بنابراین متوجه شدیم که هر متغیر فقط در محدودهی خود قابل استفاده میباشد.
نکته 2: در مورد توابع در جلسات آینده صحبت خواهیم کرد.
نکته 3: بااینحال باز هم راهی برای دسترسی به متغیر $name وجود دارد. کافیاست قبل از متغیر $name ، کلمهی global را بهکاربرد. مثال زیر را بررسی کنید.
1 2 3 4 5 6 7 8 9 10 11 |
<?php $name = "ali"; function getName() { global $name; echo $name; } getName(); // Outputs = ali |
تفاوت تک کوتیشن و دابل کوتیشن در PHP
در ابتدا باید بدانید که رشتهها متشکل از حروف انگلیسی و حروف فارسی و یک سری از کاراکترهای خاص (مانند @ و & ) و البته به همراه اعداد میباشند. اما برخی علائم نظیر $ هستند که در دستهی رشتهها قرار نمیگیرند و شما نمیتوانید از آن در رشته استفاده کنید. مگر در موارد خاص. زیرا این علامت خود برای شناسایی متغیرها استفاده میشود.
به قطعه کد زیر توجه کنید.
1 2 3 |
<?php $txt = " tutorial php in codepaz "; echo $txt; |
خروجی کد بالا:
tutorial php in codepaz
اما توجه داشته باشید که هر چیزی مابین ‘ ‘ قرار گیرد، را رشته مینامند. به مثال زیر توجه کنید.
1 2 3 4 5 6 7 |
<?php $x=5; echo "number $x"; echo "<br>"; echo 'number $x'; echo "<br>"; echo "number 5"; |
خروجی کد بالا:
number 5
number $x
number 5
- با توجه به خط دوم از خروجی کد بالا متوجه شدیم که حتی $ هم اگر در ‘ ‘ قرار گیرد بهعنوان رشته محسوب خواهد شد.
- ضمناً فراموش نکنید که در انتهای هر خط از کدهای PHP سمیکالون (;) را قرار دهید، که در غیر این صورت با ارور مواجه میشوید.
- برای پی اچ پی مقدماتی آنچه که شما در این جلسه دوم PHP آموختید، کافی است اما برای دانستن بیشتر و تخصصیتر مطلب پیشنهاد میشه که اینجا رو کلیک کنید.
ادغام کدهای HTML با PHP
یکی از مزیتهای زبان برنامهنویسی PHP این است که میتوان بهسادگی آن را با کدهای HTML ادغام کرد. درواقع نرمافزارهای وب سرور هر آنچه که مابین تگ قرار گیرد را بهعنوان کدهای پی اچ پی و هر آنچه خارج از این تگ باشد را بهعنوان زبان HTML میشناسد.
- حالت اول) در قسمتهای قبل وقتی از تگهای “<hr>” و “<br>” استفاده میکردیم درواقع نوعی عمل ترکیب این دو زبان را انجام میدادیم. توجه داشته باشید که تگهای دیگر را نیز همچون <h1> تا <h6> ، تگ <a> ، تگ هایی مرتبط با فونت مانند <b> ، <i> ، <del> ، تگ های مرتبط با لیستهای مرتبط و نامرتب <ul> ، <ol> ، <li> و بسیاری از تگ های دیگر HTML را می توان درون خطهای PHP استفاده کرد. به مثال زیر توجه کنید.
1 2 3 |
<?php echo "<strong>This is a bold text.</strong>"; ?> |
- حالت دوم) گاهیاوقات نیاز است تا قسمتهایی از کد های Html خود را حذف کنید و برای معادل آن از تکه کدی PHP استفاده کنید. این اتفاق هم ممکن است. که در جلسات آینده کامل به بررسی کدهای آن خواهیم پرداخت.
- حالت سوم) نوعی دیگر از ترکیب این گونه است که می توان کد های PHP خود را در قالب Html و مابین تگ body قرار داد. از مزیت این کار می توان به تغییر فونت و اضافی کردن زبان فارسی با فرمت UTF-8 و اضافی کردن استایلهای Css اشاره کرد. مثال این بخش را میتوانید در قسمت تفاوت Print و echo ببینید.
شما در حال آموزش و یادگیری جلسه دوم PHP می باشید.
تفاوت Print و echo
تقریباً هر دو یک کار را انجام میدهند. اما بازهم یک سری تفاوتهایی دارند.
باید بدانید که سرعت انجام echo بیشتر است و اینکه Print یک تابع میباشد. پس مقدار 0 و 1 را return میکند درحالیکه دستور echo هیچ خروجی ندارد. دستور print بعد از چاپ عدد 1 را بر میگرداند. در مثال زیر خروجی تابع Print را در متغیری به نام s ذخیره کردهایم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>merger Php and Html</title> </head> <body> <?php echo "codepaz.com" . "<hr>"; $s = print("www.codepaz.com <br>"); echo $s; ?> </body> </html> |
نکته: با توجه به توضیحات قبل توجه داشته باشید که فایل بالا را باید با پسوند .php ذخیره نمایید.
9 Comments
Join the discussion and tell us your opinion.
سلام
دو تا سؤال دارم:
یکی اینکه وقتی میزنم echo’<’ و سایت رو باز میکنم و source سایت رو باز میکنم میبینم نوشته <lt. خواستم بدونم دلیلش چیه
سؤال دومم هم اینه که چجوری میتونم یه سایت بسازم که توش بنویسه <؟
ممنون
سلام
متاسفانه اصلا متوجه هیچ کدوم از سوال هاتون نشدم. احساس میکنم کلماتتون خوب تایپ نشدند.
سلام
لطفا منو راهنماییی بکنید
چطور میشه php رو از طریق اندروید آموزش داد.برای کسانی که سیستم ندارن؟
اگه میشه از طریق ایمیل راهنمایی بفرمایید
با سلام خدمت شما
برای برنامه نویسی در اندروید می توانید از اپلیکیشن های موجود در بازار جهت کد نویسی استفاده نمایید.
اطلاعات تکمیلی به ایمیل شما ارسال شد.
سلام من میخوام یه صفحه وب طراحی کنم برای چاپ بنر و تبلیغات از کجا شرو کنم شما میتونید راهنماییم کنید؟
سلام قصد کدنویسی سایتتان را دارید و یا میخواهید با وردپرس آن را پیادهسازی کنید؟
سلام میشه بگین برای چی قسمت سوم define
True
یا
False
میاد؟؟؟
سلام
اگر حالت TRUE قرار دهید، ثابت ِشما حالت Case-insensitive را به خود میگیرد. که به معنای آن است که به کوچکی و بزرگی حروف حساس نیست.
اما همانطور که در آموزش گفته شد، این مقدار حالت ِ پیشفرض FALSE را دارد. که نشان میدهد ثابت ِ شما حالت Case-sensitive را دارد و به بزرگی و کوچکی ِ حروف، حساس است.
این کد رو یکم توضیح بدین
خط اول که متغیر علی رو تعریف کردید
اما خط دوم چیه اون؟
همچنین خط آخر
$name = “ali”;
function getName()
{
echo $name;
}
getName()