یه برنامه نویس وب که شدید علاقه داره به یادگیری بیشتر توی زمینه کاریش و مسائل مرتبط با آی.تی و تکنولوژی :))
شروع برنامه نویسی PHP از صفر تا صد! - بخش اول: مقدمه
درود؛
بعد از یه وقفه یک ساله که توی کانال آموزشیم قول داده بودم یه آموزش هم در مورد PHP بسازم امروز تصمیم گرفتم این کار رو علیرغم همه مشغلهها و گرفتاریها استارت کنم تا اونائی که دوست دارن برنامه نویس بشن بتونن یه جورائی به خواستشون برسن و من هم بدقول نشده باشم.
میدونم که آموزش مقدماتی برای PHP چه متنی و چه ویدئویی زیاد هستش، ولی من سعی میکنم آموزشها رو همیشه جوری بنویسم و ارائه بدم که حتی اونهائی که هیچ ذهنیتی در مورد این چیزها ندارن هم بتونن یاد بگیرن موضوع رو؛ پس اصلی ترین دلیلم برای آموزش مقدماتی این بوده که شاید آموزشای دیگه یه مقدار کلی بوده باشند و خیلی زود مخاطب رو وارد فضای جدیدی کرده باشن و در نهایت مخاطب نتوسته باشه آنچنان که لازم بوده و میخواسته یاد گرفته باشه و در نهایت از ادامه یادگیری نا امید و دست کشیده باشه.
خوب دیگه بدون اتلاف وقت بیشتر میریم سراغ آموزش و امیدوارم حداقل به درد یه نفر بخوره این آموزشها و همین برای من کافیه. من بیشتر توی این سری آموزشها سعی میکنم کلیات برنامه نویسی رو آموزش بدم که بعد بتونین ازش برای دوره برنامه نویسی ربات تلگرامی هم که قبلا آموزشش رو دادم استفاده کنید.
آدرس کانال تلگرامی من که قبلا دوره رباتنویسی تلگرام آموزش داده شده: @howCreateBot
اول از همه اینکه PHP چیه؟
به طور ساده و کلی، پی.اچ.پی یک زبان برنامه نویسی سمت سرور یا سرور ساید (Server Side) چند منظوره هستش که بیشتر با هدف ایجاد و ساخت صفحات داینامیک (Dynamic) وبسایتها توسعه پیده کرده. این یعنی اینکه شما بعدها میتونین با پی اچ پی وبسایت هم بسازید.
اسم php مخفف Personal Home Pageه که بعدها به Hypertext Preprocessor تغییر پیدا کرده.
با php کارهای زیادی رو به جز ساخت صفحات سایت میشه انجام داد که یکیش توسعه رباتهای تلگرامیه و به جز این میشه برای نوشتن وب سرویسها و ... هم ازش استفاده کرد و کاربردهای متنوعی داره.
- سمت سرور بودن این زبان یعنی اینکه کدهای شما برای اجرا شدن نیاز به یک وبسرور داره که روش مفسر کدهای PHP باشه؛ وبسرور با استفاده از نرم افزار مروبطه، کدهای نوشته شده به زبانهای مختلف و اینجا زبان پی اچ پی رو تفسیر میکنه و در نهایت خروجی قابل فهم توسط انسان رو به ما تحویل میده. (این تعاریف خیلی خیلی کلی هستن و من نمیخوام درگیر جزئیات فنی بشید و دونستن در همین حد فعلا کافیه)
- صفحات داینامیک وب، صفحاتی با قالب و ساختار مشخص ولی محتوای متنوعند؛ مثل سایتهای خبری که چهارچوب و جای اکثر عناصر مثل منوها، جای تبلیغات و ... تقریبا ثابت و یکسانه و فقط محتوای جایی که متن خبرها نمایش داده میشه بر اساس لینک خبر عوض تغییر میکنه.
پیاچپی هم مثل اکثر زبانهای برنامهنویسی از یکسری قواعد، قوانین و مفاهیم مشترک استفاده میکنه که جلوتر تک تک و معرفی و آموزش داده میشه؛ مفاهیمی مثل ثابتها، متغیرها، حلقه ها، شرطها و ....
مفهوم اول: متغیرها در PHP
اصولا متغیرها یک مکان برای ذخیره سازی داده ها با انواع مختلف هستند که بعدا میشه ازشون به تعداد نامحدود توی کدنویسی استفاده کرد و در صورت نیاز مقادیرشون رو هم تغییر داد.
این به چه معنیه؟ مثلا شما اسمتون علی هستش؛ حالا میخوان توی یه وبسایت 10جا اسمتون رو نشون بدید، پس به جای اینکه 10جای مختلف و 10 بار بنویسید ALI، میاید و علی رو به شکل پایین توی یک متغیر ذخیره میکنید و بعد متغیر رو به هر تعداد که خواستین استفاده میکنید. مثال از متغیر:
$my_name = "ALI"
همینطوری که حتما هم متوجه شدید، متغیرها توی php با علامت $ (علامت دالر) شروع میشن. بعد از علامت دالر میتونین تعداد نامحدودی کاراکتر بنویسید که میشه اسم متغیرتون ولی نامگذاری متغیرها برای خودش یه سری قوانین و قواعد داره که به این شکله:
- نام متغیر حتما باید با علامت $ شروع بشه.
- نام متغیر حتما باید با یکی از حروف الفبای انگلیسی شروع بشه؛ یعنی اینکه نمیتونین حرف اول اسم متغیر رو عدد یا حروف خاصی مثلا آندرلاین_ یا دَش - همون علامت منها و ... بذارید.
- متغیرها میتونین شامل آندرلاین و عدد هم باشن، ولی حرف اول نمیتونن قرار بگیرن، پس اینو دقت کنین.
- و نکته آخر اینکه متغیرها حساس به حروفن، یعنی دوتا متغیر با اسم یکسان ولی با حروف کوچیک و بزرگ از دید PHP یکسان نیست و 2تا چیز مختلف قلمداد میشن. مثال میزنم براتون با توجه به قوانین بالا:
$45new_var ===> غلط
$hello322 ===> درست
$_test ===> غلط
$test_ ===> درست
$salam = 1;
$SALAM = 2;
دوتا مثال آخر اسم متغیرها یکیه ولی چون با حروف بزرگ و کوچیک نوشته شدن پس عملا دوتا متغیر جدا در نظر گرفته میشن. حتی اینها هم با هم فرق دارن؛ $test و $teST.
پس تا اینجا با متغیرها بصورت کلی آشنا شدین؛ برای اینکه قشنگتر و بهتر یاد بگیرید همین حالا برای خودتون چندتا متغیر تعریف کنین.
اولین کد PHP
کدهای php با علامت <?php شروع میشن و با علامت ؟> هم بسته میشه و اینجوری به سرور اعلام میشه که بلاک یا تکه کد ما به پایان رسیده. پس قبل از تعریف متغیر باید این کار رو بکنیم:
<?php
$variable = 'Hello';
?>
البته اینجوری هم میشه:
<?php $variable = "hello" ?>
یعنی کل کدها توی یه خط باشه و مقداری که داخلش ذخیره میکنیم هم میشه گذاشت بین دوتا تک کوتیشن یا سینگلکوت (single quotation) و یا بین دو تا دبل کوتیشن (double quotation).
به این ' میگن سینگل کوتیشن و به این " میگن دَبل کوتیشن؛ اگه صفحه کلیدتون روی حروف انگلیسی باشه با زدن حرف فارسی گ رو صفحه کلید علامت اول و با گرفتن شیفت و زدن حرف گ علامت دوم رو میشه نوشت.
انواع متغیرها در پی اچ پی
ما توی php نوعهای مختلفی از متغیرها رو میتونیم تعریف کنیم؛ مثلا متغیرهای بالا همه از نوع رشته ای بودن؛ متغیر رشته ای همینهایی هستن که داخلشون یه سری کلمه و یا حروف قرار میگیره که باید وسط سینگل کوت یا دبل کوت باشه. اما بقیه انواع متغیر موارد زیره که هر وقت هر مدلش نیازمون شد باید تعریف کنیم.
متغیرهای رشته ای که مثالهای بالا همشون از این نوع هستند و بهشون میگن استرینگ. String Variable
متغیر عددی یا اینتیجر (Integer) که بوضوح معلومه برای ذخیره اعداد صحیح استفاده میشه؛ عدد صحیح محدوده بین این دوتا عدد رو توی php شامل میشه: -2,147,483,648 و 2,147,483,647
یعنی هم میتونن مثبت باشن و هم منفی ولی توی محدوده بالا باید قرار بگیره، نه بیشتر و نه کمتر؛
پس اگه عددی که میخوایم بذاریم توی متغیر عددی تو این محدوده ها بود از نوع اینتیجر استفاده میکنیم به شکل زیر
$int_number = 121214545;
توی تعریف متغیر عددی نیازی به علامت دبل کوت یا سینگل کوت نیس.
نوع بعدی متغیرها نوع اعشاریه (Float Number)؛ اعشاری همون عددهایی هستند که داخلشون علامت مُمَیزه. مثل نمرات درسی. مثلا 19.5 یا 14.75. نحوه تعریف شدنش عین نوع اینتیجر و به شکل زیر هستش:
$float_numer = 14.75;
چرا نحوه تعریفشون فرقی نداره با قبلی یا اینتیجر؟ چون زبان PHP خودش نوع متغیرها رو تشخیص میده و این کار ما رو خیلی ساده میکنه و نیاز نیست برا هر متغیر به کامپیوتر نوع مقدار هم بفهمونیم!
بقیه نوعهای داده ای شامل این مواردن که فعلا نیازی نداریم بدونیم و آینده اگه لازم داشتیم معرفیشون میکنم:
نوع بولین (Boolean) - نوع آرایه (Array) - نوع آبجکت (Object) و در نهایت نوع خالی یا نول NULL.
ادامه کدنویسی
قبل از ادامه، برای تمرین فعلا میتنوین از یک ویرایشگر ساده مثل notepad یا notepad++ استفاده کنین و اونجا با من شروع به تمرین و یادگیری کنید.
خوب حالا که بلد شدیم متغیرها رو تعریف کنیم و با انواعش آشنا شدیم چطوری استفاده کنیم ازشون؟
بیاین با یه مثلا بریم جلو ولی قبلش بذارید با دستور چاپ تو php آشنا بشیم.
برای نمایش و چاپ محتوا مثلا نمایش یه عدد یا یه متن روی خروجی (مانیتور) ما میتونیم از کلمه کلیدی echo با تلفظ اِکو استفاده کنیم به این شکل:
<?php echo 'SALAM'; ?>
کد بالا باعث میشه بعد از اجرا، کلمه سلام بهتون نشون داده بشه. پس از این به بعد برای نمایش و چاپ محتوا تو خروجی از اکو استفاده میکنیم؛ البته از کلمه پرینت Print هم میشه استفاده کرد ولی به شخصه اکو رو ترجیح میدم.
برای اجرای کدها و دیدن خروجی فعلا برید به سایت https://sandbox.onlinephpfunctions.com و اینجا تست کنید و خروجی رو ببینید به شکل زیر؛ آینده نحوه اجرا روی سیستم شخصی رو بهتون میگم.
حالا میخوایم برای مثال میخوایم اسم من و نمره درس ریاضیمو چاپ کنیم تو خروجی؛ چکار باید بکنیم؟
اول تعریف متغیری که داخلش اسم منه، بعد تعریف متغیری که داخلش نمرم ذخیره شده و دست آخر هم چاپ به شکل زیر:
<?php
$name = 'Mohsen';
$nomre_riazi = 18.5;
echo $name; // Mohsen
echo $nomre_riazi; // 18.5
?>
نکته: آخر همهی خط کدها باید از علامت سمی کالُن ; استفاده کنیم که به php بفهمونیم اینجا این خط کدمون تموم شده. پس اینم حواستون باشه.
خروجی چیزیه که بعد از علامت // نوشتم. با استفاده از علامت // توی php میتونین توضیحات اضافه کنید به کدهاتون که بعدها به کدهاتون مراجعه کردین بفهمین چی به چیه و چرا فلان کار انجام شده!
پی اچ پی چیزهایی که بعد از علامت // مینویسید رو در نظر نمیگره و اجرا نمیکنه
مدل دیگه نوشتن توضیحات به این شکله
/* some test here */
یا
/* some text here
another line */
یعنی توضیحات رو بین علامت /* و علامت */ قرار میدیم.
علامت /**/ بیشتر برای توضیحات چندخطی استفاده میشه و علامت // برای توضیحات تک خطی
حالا اگه بخوایم هر دوتا متغیر رو کنار هم بنویسیم و بیاریم باید چیکار کنیم؟
<?php
echo $name.' '.$nomre_riazi; // mohsen 18.5
?>
همینجوری که میبینین برای چسبوندن دوتا متغیر به هم باید از علامت نقطه توی php استفاده کرد که به این کار میگن کانکَتینِیت کردن (ConCateNate).
مثالهای بالا رو توی سایتی که گفتم برا خودتون تمرین کنین. مثلا نمره زبان خودتون رو کنار اسم و فامیل بنویسید و ...
خوب...
این شد بخش اول آموزش مقدماتی PHP. سعی کردم خیلی خیلی ساده و روون باشه برای تازه کارها. حتما نظرتتون رو در مورد نحوه آموزش کامنت کنید و اگه سوالی دارید راجع به مطالب بالا همینجا بپرسید. آموزشای بیشتر تا تکمیل دوره به زودی زود اضافه میشه. پس تا اون موقع برا خودتون شروع کنید تمرین و کدنویسی.
مطلبی دیگر از این انتشارات
از مکانیک تا برنامه نویسی؛ چه شد که برنامه نویس شدم؟
مطلبی دیگر از این انتشارات
بررسی نحوهی کارکرد this در Class های جاوا اسکریپت
مطلبی دیگر از این انتشارات
مقدمه ای بر JUnit