تاریخچه PHP
در اوایل پیدایش اینترنت، سایتها تعاملی نبودند و افرادی که از سایتها بازدید میکردند، تجربهای تقریبا تکبعدی داشتند. پیادهسازی ایدههای سرگرمکننده برای توسعهدهندگان کار سختی بود و در بیشتر موارد برنامهنویسان از طریق تعامل با متخصصان علوم روانشناسی قادر به انجام اینکار بودند. در آن زمان یک برنامهنویس کانادایی بهنام راسموس لِردورف (Rasmus Lerdorf) تصمیم گرفت یک زبان برنامهنویسی متفاوت بهنام پیاچپی ایجاد کند که به شیوه سادهای امکان افزودن جنبههای تعاملی به صفحات وب را ارایه میکرد. این زبان جدید به سرعت مورد استقبال توسعهدهندگان قرار گرفت. راسموس لردورف تصور نمیکرد روزگاری این زبان برنامهنویسی به اندازهای پیشرفت کند که جامعهای از برنامهنویسان و کمپینهای مختلف برای آن ساخته شود و زمان و پول خود را صرف توسعه این زبان کنند. پیاچپی به تدریج به چالش بزرگی برای شرکت Sun (شرکت اورکل فعلی) و مایکروسافت تبدیل شد که قصد داشتند با پلتفرمهای جاوا و asp بر بازار توسعه وب تسلط پیدا کنند و به همین دلیل ظهور زبان برنامهنویسی پیاچپی را میتوان یک شروع طوفانی در این حوزه توصیف کرد.
از آن روزگار نزدیک به 20 سال زمان سپری شده و در این مدت پیاچپی هنوز هم گزینه اول توسعهدهندگان وب است. به ویژه توسعهدهندگانی که ایدههای بکری دارند و قصد پیادهسازی عملی ایدههای خود را دارند.
نکات جالبی در مورد LAMP
اکنون میدانیم که پیاچپی یک زبان برنامهنویسی محبوب برای ساخت صفحات وب تعاملی است، اما هنوز به این نکته اشاره نکردهایم که چگونه میتوانیم کدهای خود را به یک محصول واقعی تبدیل کنید. کدهای پیاچپی در بیشتر موارد روی یک وبسرور اجرا میشوند. وبسرور وظیفه ارسال صفحههای وب برای هر فردی که وارد یک نام دامنه یا آدرس آیپی خاص میشود را دارد. متداولترین انتخاب برای وبسرور، استفاده از نرمافزار آپاچی است. این پروژه نرمافزاری متنباز و چند سکویی پذیرای بخش عمدهای از سایتها است. به بیان دقیقتر 45 درصد وبسایتهای اینترنت با استفاده از وبسرور آپاچی صفحههای خود را سرویسدهی میکنند. البته وبسرورهای دیگری مانند LightTTPD و IIS مایکروسافت نیز وجود دارند که برنامهنویسان ASP.Net از آنها استفاده میکنند.
عبارت LAMP سرنام Linux ،Apache ،MySQL و PHP است که کاراکتر دوم آن اشاره به وبسرور آپاچی دارد. با سه مورد از فناوریهای مورد استفاده در اصطلاح LAMP آشنایی دارید، اما کاراکتر M که اشاره به مایاسکیوال دارد به چه معنا است؟ وبسایتها مجبور هستند اطلاعاتی که برنامههای وبمحور تولید میکنند را ذخیرهسازی کنند. اینکار باید به روشی ساختیافته، امن و سازماندهی شده انجام شود. برای انجام اینکار به فناوری بهنام پایگاه داده نیاز داریم و در اغلب موارد بهترین انتخاب برای یک پایگاه داده، استفاده از مایاسکیوال است. علاوه بر این، بیشتر وبسایتهای پیاچپی روی سیستمهایی میزبانی میشوند که از سیستمعامل متنباز لینوکس استفاده میکنند. البته لزومی ندارد از لینوکس به عنوان محیط توسعه استفاده کنید، زیرا امکان برنامهنویسی پیاچپی روی سیستمهای ویندوز، اندروید و مک نیز وجود دارد. سیستمعامل مناسب، آپاچی، مایاسکیوال و نصب زبان برنامهنویسی، چهار مولفه اساسی برای اغلب پیکربندیهای رایج پیاچپی هستند که باید در مورد روش پیکربندی آنها اطلاعات کافی داشته باشید.
راهاندازی محیط توسعه
راهاندازی محیط توسعه پیاچپی برخلاف سایر زبانهای برنامهنویسی ساده است. به بیان دقیقتر، بستههای آمادهای وجود دارند که تمامی این کارها را انجام میدهند. در ادامه با نحوه انجام اینکار در سیستمعاملهای مختلف آشنا میشوید.
ویندوز
سادهترین روش راهاندازی یک محیط توسعه پیاچپی در ویندوز به وسیله XAMPP است که طرفداران وبسرور آپاچی توسعه دادهاند. این بسته شامل مایاسکیوال، یک نسخه از زبان برنامهنویسی پیاچپی و وبسرور آپاچی است. بهعلاوه، یک کنترل پنل مدیریتی و افزونههایی برای SSL و ارسال ایمیل در آن وجود دارد (شکل1).
شکل1
امکان دانلود رایگان AMPP از سایت طرفداران آپاچی وجود دارد. البته دقت کنید دو نسخه از XAMPP وجود دارد. یکی از نسخهها 1.8.2 است و نسخه قدیمیتری از زبان برنامهنویسی پیاچپی را اجرا میکند و دیگری 1.8.3 است که نسخه فعلی پیاچپی است.
لینوکس
راهاندازی محیط توسعه پیاچپی روی لینوکس به وقت بیشتری نیاز دارد. در توزیعهای لینوکسی روش نصب تا حدودی متفاوت است. اگر قصد دارید از اوبونتو یا هر توزیع دیگر لینوکس که از مخزن اوبونتو استفاده میکند، برای راهاندازی محیط توسعه پیاچپی بهره بگیرید، دستور زیر را اجرا کنید:
sudo apt-get install lamp-server^
دستور فوق یک سرور LAMP و مولفههای ضروری را نصب میکند. این مولفهها اجازه میدهند یک سرور LAMP را به عنوان بخشی از پلتفرم بلاگنویسی وردپرس نصب کنید. این دستورالعملها در توزیعهایی که از YUM یا RPM برای مدیریت بستهها استفاده میکنند، کار نمیکنند و در سایر توزیعهای لینوکسی نیز باید از روش متفاوتی برای راهاندازی LAMP استفاده کنید. با این حال گزینه دیگری نیز وجود دارد. در محیط لینوکس نیز مثل ویندوز میتوان Xampp را دانلود و روی لینوکس نصب کرد. البته پیشنهاد ما این است که سرور LAMP از طریق ابزار مدیریت بستهها نصب شود، زیرا در این حالت LAMP بهتر با سیستمعامل ادغام میشود و آسانتر میتوان آنرا ارتقا داد. بهعلاوه نصب پیاچپی از طریق خط فرمان رویه مناسبی برای توزیع برنامه روی یک سرور VPS است.
سیستمعامل مکاوس ایکس
اگر از سیستمعامل مک شرکت اپل بهعنوان پلتفرم اصلی توسعه برنامهها استفاده میکنید، باید بدانید که فرایند راهاندازی محیط توسعه پیاچپی روی این زیرساخت ساده است. روی این سیستمعامل باید از بسته MAMP استفاده کنید که دو نسخه رایگان و پولی برای آن وجود دارد. اگر تجربه کار با پیاچپی را ندارید، نسخه رایگان گزینه مناسبی است. برای نصب MAMP باید روی فایل pkg کلیک کرده و دکمه continue را کلیک کنید تا نصب کامل شود (شکل 2).
شکل 2
همانند مراحل قبل باید یک محیط توسعه پیاچپی را از طریقXAMPP که برای مک پورت شده، راهاندازی کنید.
اندروید
اندروید تنها یک پلتفرم ساده برای گوشیهای همراه نیست و به توسعهدهندگان امکان ساخت نرمافزارهای کاربردی را میدهد. اگر بهتازگی گوشی اندرویدی خریداری کردهاید، توانایی اجرای پیاچپی، آپاچی و مایاسکیوال را دارد. سرورهای LAMP زیادی برای اندروید وجود دارند، اما پیشنهاد ما Palapa Server است. این سرور روی یک تلبت نکسوس 7 قدیمی نیز بدون مشکل قابل اجرا است. درست است که اندروید یک محیط توسعه ایدهآل نیست، اما امکان کدنویسی زبان پیاچپی روی آن وجود دارد.
انتخاب یک ویرایشگر متن مناسب
هنگامی که قصد کدنویسی دارید باید از ویرایشگرهای متنی استفاده کنید. یکی از بهترین ویرایشگرهای متنی نرمافزار Sublime Text 2 است. این ویرایشگر رایگان امکانات خوبی برای کدنویسی در اختیارتان قرار میدهد.
ویرایشگر فوق امکان هایلایت کردن ترکیب نحوی زبان پیاچپی، جاوا اسکریپت و HTML را دارد تا خواندن کدها ساده شود. خوشبختانه ویرایشگر فوق چند سکویی است و امکان استفاده از آن روی لینوکس، ویندوز و مک وجود دارد. اگر از اندروید استفاده میکنید ویرایشگر متنی VimTouch یک انتخاب خوب است.
ملزومات دیگر
اکنون آماده هستید تا یادگیری پیاچپی را آغاز کنید، اما قبل از آن باید به چند نکته مهم دقت کنید. قبل از اینکه وارد بحث برنامهنویسی پیاچپی بشویم باید درباره ساختاربندی یک وبسایت در زبان HTML اطلاعات کافی داشته باشید. باشید. بهطور مثال، باید بدانید که برچسبهای<p> و تگ <span> چه تفاوتی با یکدیگر دارند. اگر آشنایی کمی با Html دارید، بهتر است ابتدا اطلاعات کافی در مورد HTML و البته HTML5 بهدست آورید و در ادامه به سراغ برنامهنویسی PHP بروید.
برنامه معروف Hello World
اکنون زمان آشنایی با پیاچپی و نوشتن برنامه سنتی Hello World فرا رسیده است. قبل از اینکار باید بدانیم که چگونه میتوانیم فایلهای پیاچپی را ذخیره کنیم. ما فایلهای پیاچپی را در محلی بهنام Document Root ذخیره میکنیم. هر نوع فایلی که در این محل ذخیره شود برای هر کسی که آدرس آیپی کامپیوتر روی شبکه را بداند از طریق مرورگر وب در دسترس است. مکان Document Root بسته به اینکه چه محیطی برای توسعه پیاچپی ایجاد کردهاید، متفاوت است. اگر از MAMP روی مک استفاده میکنید، پوشه فوق در مسیر /Applications/MAMP/htdocs قرار دارد. اگر سرور LAMP را روی لینوکس و با استفاده از ابزار مدیریت بسته نصب کردهاید، دایرکتوری فوق در مسیر /var/www است. روی XAMPP دایرکتوری در آدرس /C:/xampp/htdocs قرار دارد. زمانی که پوشه فوق را پیدا کردید، فایلی بهنام index.php ایجاد کنید و دستورات زیر را در آن بنویسید (شکل 3).
شکل 3
با اینکه دستورات خاصی در فایل وجود ندارد، اما اسکلت یک وبسایت را نشان میدهد. این صفحه اصلی وبسایتی است که در آدرس localhost قابل مشاهده است. برخی اوقات باید شماره پورت که 80، 8888، یا 8080 است را پس از آدرس فوق وارد شود. این شمارههای پورت بسته به محیط توسعه پیاچپی متغیر هستند. اکنون اولین دستور پیاچپی را بنویسید. کد زیر باید میان تگهای <body> و </body> قرار بگیرد.
<?php echo(“Hello World!”); ?>
تمامی کدهای PHP باید بین دو عبارت <?php’ and ‘?>’ نوشته شوند در غیر این صورت وبسرور آنها را اجرا نمیکند. در قطعه کد فوق دستورecho محتوایی که میان پرانتزها قرار گرفته را روی مرورگر نشان میدهد. وقتی دستور echo به اتمام رسید از کاراکتر نقطهویرگول (;) به معنای پایان دستور استفاده میکنیم. اگر این نقطهویرگول را قرار ندهید، کد اجرا نمیشود. اگر کد را به درستی نوشته باشید، در مرورگر عبارت Hello World را مشاهده میکنید (شکل 4).
شکل 4
امکان استفاده از کدهای پیاچپی درون HTML وجود دارد؟
متاسفانه پاسخ منفی است. اگر لازم است کاری را انجام دهید که نتیجه آن به سرعت در مرورگر وب نشان داده شود، بهتر است آنرا درون سند HTML قرار دهید، درست مشابه کاری که ما انجام دادیم. به این کار کدنویسی درونخطی (inline) پیاچپی گفته میشود. با این حال در موارد پیچیدهتر همواره باید کد را درون سند PHP خاصی قرار دهید. همانند مثال قبل این فایل سند باید پسوند .php داشته باشد و همه کدها باید با بین عبارتهای <?php ?> قرار گیرند.
مفاهیم زیربنایی پیاچپی
قبل از آنکه با دستورات دیگری از زبان پیاچپی آشنا شویم، بهتر است بهطور اجمالی به مهمترین مفاهیم زبان برنامهنویسی پیاچپی نگاه کنیم. البته این فهرست کامل نیست، اما دید روشنی در ارتباط با مفاهیم کلیدی این زبان در اختیارتان قرار میدهد.
متغیرها
متغیرها در همه زبانهای برنامهنویسی وجود دارند. متغیرها راهکاری برای نگهداری موقت مقادیر در حافظه اصلی هستند تا بتوانید در بخشهای مختلف یک برنامه از آنها استفاده کنید. در برخی زبانهای برنامهنویسی تعیین یک مقدار برای متغیر ضروری است. بهطور مثال، در زبانهای سی، سیشارپ، سیپلاسپلاس و جاوا تعیین مقدار متغیر قبل از استفاده از آن ضروری است و ترکیب نحوی شبیه به حالت زیر دارد:
Int x=10;
اگر با زبان اسکریپتنویسی جاوا اسکریپت آشنا باشید، میدانید که متغیرها با کلیدواژه var تعریف میشوند.
Var x=10;
در زبان پیاچپی متغیرها با استفاده از نماد دلار ($) تعریف میشوند.
$x=10;
در متغیرهای پیاچپی نمیتوان از عدد یا کاراکترهای خاص به جز کاراکتر (_) در ابتدای نام متغیر استفاده کرد. به علاوه نام متغیر نمیتواند this باشد، زیرا از کلیدواژههای اختصاصی این زبان است.
دستورات if
دستورات if در تمامی زبانهای برنامهنویسی نقش کلیدی دارند، این دستورات اجازه میدهد تا کدها بر مبنای تحقق شرط خاصی اجرا شوند. برای روشن شدن موضوع به قطعه کد زیر دقت کنید:
$x = 5;
if ($x == 4) {
echo(“Hello World”);
} elseif ($x == 3) {
echo(“Hello Dave”);
} else {
echo(“Hello Brian”);
}
در قطعه کد بالا، شرط اولی که بررسی میشود این است که آیا x$ برابر مقدار چهار است یا خیر (به علامتهای دوگانه مساوی توجه کنید). به دلیل اینکه شرط برقرار نیست، مفسر کد پیاچپی به دستور شرطی دوم نگاه میکند که آیا x$ برابر 3 است یا خیر؟ اگر بازهم شرط برقرار نیست به آخرین دستور میرود و عبارت Hello Brian را نشان میدهد. با اضافه کردن ! به ابتدای یک متغیر در عبارت if میتوان بررسی کرد که آیا یک متغیر تهی (خالی) خالی است خیر. متغیرهایی که تهی هستند با نامهایی مثل null یا null value شناخته میشوند. ترکیب نحوی دستورات فوق به شرح زیر است:
if (!$x){
echo(“x is empty”);
}
حلقه While
حلقه while برای تکرار دستورات مشخصی بر مبنای تحقق یک شرط استفاده میشوند. این حلقه مادامی که شرط برقرار باشد اجرا میشود. قطعه کد زیر این موضوع را نشان میدهد:
$x = 10;
while ($x > 1) {
echo($x);
$x = $x - 1;
}
کد فوق به مقدار x$ نگاه میکند و اگر این مقدار بزرگتر از 1 باشد، مقدار متغیر x$ را نشان میدهد، در غیر این صورت یک مقدار از آن کم میکند. کد قطعه کد فوق تا زمانی که $x>1 باشد، تکرار میشود.
حلقه For
حلقههای For یکی دیگر از دستورات پر کاربرد برنامهنویسی هستند که برای افراد مبتدی چالشبرانگیز است. در نگاه اول این دستورات کمی ترسناک بهنظر میرسند، اما هنگامی که با ترکیب نحوی آنها آشنا شوید مشاهده میکنید کاملا کاربردی هستند. قطعه کد زیر یک حلقه for ساده را نشان میدهد که مقادیر یک تا ده را شمارش میکند.
for($i = 0; $i < 10; $i++){
echo($i);
}
در قطعه کد فوق، ابتدا یک متغیر با مقدار 0 ایجاد میشود ($i=0). در ادامه شرط حلقه نوشته میشود که اگر $i کمتر از 10 بود حلقه به کار خود ادامه دهد ($i<10) و سپس یک واحد به متغیر i افزوده میشود ($i++) و دستورات درون آکولادها اجرا شده و حلقه تکرار میشود.
توابع
توابع یکی از کاربردیترین مفاهیم برنامهنویسی هستند که با منسجم کردن کدها، باعث صرفهجویی در نوشتن مجدد کدهایی میشوند که قرار است یک کار تکراری را انجام دهند. شیوه عملکرد توابع به این صورت است که کدهای تکراری درون بلوک مشخص نوشته میشوند و اگر قرار باشد در بخشهای مختلف یک برنامه به کار گرفته شوند تنها نام تابع فراخوانی میشود. نحوه ساخت تابع در پیاچپی ساده است. در مثال زیر، تابعی برای نمایش عبارت Hello World نوشته شده و سپس فراخوانی میشود. این تابع sayHello() نام دارد.
function sayHello(){
echo(“Hello World”);
}
علاوه بر این، میتوانید مقادیری را به تابع ارسال کنید. این مقادیر پارامتر نامیده میشوند و درون دو پرانتز در خط نخست اعلان تابع قرار میگیرند.
function sayHello($hello){
echo($hello);
}
نحوه فراخوانی توابعی که پارامتر دارند به شرح زیر است:
sayHello(“Hello World”);
در نهایت میتوان توابع را به گونهای نوشت تا مقداری را باز گردانند.
function returnHello(){
return “Hello World”;
}
برای مطالعه (بخش پایانی) این مطلب اینجا کلیک کنید
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟