آموزش مقدماتی تا پیشرفته برنامه نویسی PHP و MYSQL




در این نوشته تلاش داریم راهنمای فشرده ولی جامعی در خصوص زبان برنامه‌نویسی PHP از معرفی و تاریخچه آن تا مراحل نصب و مفاهیم برنامه‌نویسی به شما خواننده عزیز ارائه دهیم. مطالب این نوشته در 7 بخش کلی مقدمه، نخستین برنامه (Hello World)، فرم‌ها، پایگاه‌های داده، دریافت محتوا از پایگاه‌داده، احرار هویت و نتیجه گیری تنظیم شده است. اگر مایل به یادگیری زبان PHP هستید، حتما با ما در این نوشته همراه باشید.


1. مقدمه

شاید شما نیز جزو آن دسته از افراد باشید که در زمان مدرسه به درس هنر و کلاً علوم انسانی علاقه زیادی داشته‌اید. برخی افراد فکر کنند که چنین موضوعاتی ماهیت مبهم و پیش‌پاافتاده‌ای دارند اما در هر صورت افراد زیادی به چنین موضوعاتی علاقه‌مند هستند، چون دوست دارند خلاق باشند.


مسلماً هیچ یک از ما در دوران تحصیل، کلاس‌های درس فناوری اطلاعات را همانند کلاس‌های ادبیات و هنر تصور نمی‌کردیم، چرا که علوم انسانی همواره نیازمند استفاده از خلاقیت ناب است.


1.1 تاریخچه پی‌اچ‌پی

در زمان ابتدای ظهور اینترنت، همه چیز تا حدودی ساده‌تر بود. سایت‌ها تعاملی نبودند و افرادی که از این سایت‌ها بازدید می‌کردند، تجربه‌ای نسبتاً تک‌بعدی داشتند. ایجاد ساده‌ترین جنبه‌های سرگرمی برای کاربران کاری بسیار دشوار بود و در حیطه تخصص دانشمندان رایانه و متخصصین برنامه‌نویسی قرار داشت.در این زمان بود که شخصی به نام راسموس لِردورف (Rasmus Lerdorf) وارد عرصه شد. این فرد کانادایی-گرینلندی زبان برنامه‌نویسی پی‌اچ‌پی را خلق کرد که به شیوه ساده‌ای امکان افزودن جنبه‌های تعاملی به صفحات وب را ارائه می‌کرد. این زبان جدید و جسور بود و تقریباً بی‌درنگ مورد استقبال قرار گرفت.

1.4 راه‌اندازی محیط توسعه

راه‌اندازی محیط توسعه پی‌اچ‌پی برخلاف برخی از زبان‌های برنامه‌نویسی دیگر کاملاً آسان است. در واقع بسته‌های آماده‌ای وجود دارند که تقریباً همه مراحل را برای شما انجام می‌دهند و دشواری نصب جداگانه هر یک از اجزا (PHP، MySQL و Apache) را از دوش شما بر می‌دارند.

ویندوز

ساده‌ترین روش راه‌اندازی یک محیط توسعه پی‌اچ‌پی در ویندوز به وسیله XAMPP است که طرفداران وب‌سرور آپاچی توسعه داده‌اند. این بسته شامل مای‌اس‌کیوال، یک کپی از زبان برنامه‌نویسی PHP و وب‌سرور آپاچی است. همچنین یک کنترل پنل مدیریتی و افزونه‌هایی برای SSL (پروتکل مورد استفاده برای رمزنگاری ترافیک روی یک شبکه) و همچنین ارسال ایمیل در آن وجود دارد.

XAMPP رایگان است و آن را می‌توان از سایت طرفداران آپاچی دانلود کرد. البته باید تأکید کنیم که دو نسخه از XAMPP وجود دارد. یکی از نسخه‌ها 1.8.2 است و نسخه قدیمی‌تری از زبان برنامه‌نویسی پی‌اچ‌پی را اجرا می‌کند و نسخه دیگر 1.8.3 است که نسخه کنونی PHP را اجرا می‌کند. با این‌که به شدت توصیه می‌شود آخرین نسخه را دانلود کنید، اما راهنمایی‌های ارائه شده در این نوشته بر روی هر دو نسخه قابلیت اجرا دارند.

لینوکس

راه‌اندازی محیط توسعه پی‌اچ‌پی روی لینوکس به کمی تلاش بیشتر نیاز دارد. چند سیستم‌عامل وجود دارند که زیر عنوان لینوکس قرار می‌گیرند. اما هر یک از این سیستم‌عامل‌ها روش نصب متفاوتی برای بسته‌های نرم‌افزاری دارند.اگر قصد دارید از اوبونتو یا هر توزیع دیگر لینوکس که از ریپازیتری اوبونتو استفاده می‌کند، برای راه‌اندازی محیط توسعه پی‌اچ‌پی بهره بگیرید، می‌توانید دستور زیر را اجرا کنید:sudo apt-get install lamp-server^دستور فوق یک سرور LAMP و همه اجزای لازم برای پیگیری این راهنما را نصب می‌کند. این فرایند در ادامه نوشته بیشتر توضیح داده شده است و در آن بخش مشخص می‌کنیم که چگونه می‌توانید یک سرور LAMP را به عنوان بخشی از پلتفرم بلاگنویسی وردپرس نصب کنید.این دستورالعمل‌ها در توزیع‌هایی که از YUM یا RPM برای مدیریت بسته‌ها استفاده می‌کنند، کار نمی‌کنند و در چنان توزیع‌هایی از لینوکس باید به روش کاملاً متفاوتی LAMP را راه‌اندازی کنید. توصیه می‌کنیم که نگاهی به مستندات خود سیستم‌عامل داشته باشید.با این حال گزینه دیگری نیز وجود دارد. در محیط لینوکس نیز همچون ویندوز می‌توان Xampp را دانلود کرده و روی لینوکس نصب نمود. با این حال در صورت امکان توصیه می‌شود که سرور LAMP از طریق ابزار مدیریت بسته‌ها نصب شود.چند دلیل برای این توصیه وجود دارد. نخست این‌که بدین ترتیب LAMP بهتر با سیستم‌عامل ادغام می‌شود و آسان‌تر می‌توان آن را ارتقا داد. به علاوه نصب PHP از طریق خط فرمان رویه مناسبی برای توزیع برنامه بر روی یک سرور VPS محسوب می‌شود.

سیستم‌عامل مک‌اواس ایکس

اگر از سیستم‌عامل مک به عنوان پلتفرم اصلی خود برای توسعه برنامه‌ها استفاده می‌کنید، باید بدانید که این سیستم‌عامل انعطاف‌پذیری خوبی دارد و راه‌اندازی محیط توسعه PHP بر روی آن کاملاً آسان است.بر روی این سیستم می‌توانید از بسته MAMP استفاده کنید که یک نسخه آن رایگان و نسخه دیگر پولی است و قیمت آن 59 دلار است. با این حال نسخه رایگان نیز برای اهدافی که در این نوشته ارائه می‌شوند، کاملاً کافی است.برای نصب MAMP کافی است فایل فشرده آن را از آدرس فوق دانلود کرده و با دابل کلیک روی فایل pkg و فشردن دکمه continue باقی مراحل نصب را طی کنید.


اندروید

خب اندروید برای پیام فرستادن و تلف کردن زمان در بازی‌های مختلف عالی است؛ اما آیا می‌توان از آن برای توسعه نرم‌افزار استفاده کرد؟ پاسخ مثبت است

1.5 انتخاب ویرایشگر متن مناسب

احتمالاً با برخی نرم‌افزارهای واژه‌پرداز آشنایی دارید. احتمال بالایی وجود دارد که با نرم‌افزار مایکروسافت ورد، اوپن آفیس یا گوگل داکز برای نوشتن برخی مطالب، تکالیف مدرسه یا سندهای تجاری کار کرده باشید.

1.6 پیش‌نیازها

اینک آماده هستیم که به مقوله یادگیری پی‌اچ‌پی بپردازیم. اما قبل از ورود به این حوزه چند نکته هستند که باید بدانید.پیش از این‌که وارد بحث برنامه‌نویسی پی‌اچ‌پی بشویم از شما انتظار می‌رود که با نحوه ساختاربندی یک وب‌سایت در زبان HTML آشنا باشید. البته اگر فرق تگ <p> و تگ <span>را نمی‌دانید می‌توانید برای آشنایی ابتدایی با HTML از «آموزش طراحی وب با HTML – مقدماتی» استفاده کنید. حتی اگر حس می‌کنید آشنایی اندکی با Html دارید، بهتر است ابتدا این آموزش را بگذرانید و سپس وارد موضوع برنامه‌نویسی با PHP بشوید.همچنین می‌توانید از «آموزش طراحی وب با HTML – تکمیلی» برای افزودن بر اطلاعات خود در مورد زبان برنامه‌نویسی HTML به خصوص نسخه 5 استفاده کنید. باید بدانید که هر چقدر اطلاعات شما در مورد HTML بیشتر باشد برنامه‌نویس موفق‌تری در زبان پی‌اچ‌پی خواهید بود.

2. Hello World

زمان آشنایی با پی‌اچ‌پی فرارسیده است و برای این آشنایی چه چیزی بهتر از نوشتن یک برنامه سنتی Hello World است؟



اما در ابتدا باید بدانیم که چگونه می‌توانیم فایل‌های پی‌اچ‌پی را ذخیره کنیم. فایل‌های پی‌اچ‌پی یک وب‌سایت در محلی به نام ‘Document Root’ یا ریشه سند ذخیره می‌شوند. که گرچه تا حدودی پیچیده به نظر می‌رسد؛ ولی کاملاً آسان است. معنی این ریشه سند یک دایرکتوری است که هرچه در آن ذخیره شود برای هر کسی که از آدرس آی‌پی رایانه بر روی شبکه و به وسیله مرورگر وب بازدید می‌کند، در دسترس خواهد بود.موقعیت ریشه سند بسته به این‌که چه محیطی برای توسعه پی‌اچ‌پی ایجاد کرده‌اید، متفاوت خواهد بود. اگر از MAMP روی مک استفاده می‌کنید می‌توانید آن را در آدرس /Applications/MAMP/htdocs ببینید. اگر سرور LAMP را روی لینوکس و با استفاده از ابزار مدیریت بسته نصب کرده‌اید، در این صورت دایرکتوری ریشه سند احتمالاً در /var/www خواهد بود. بر روی XAMPP دایرکتوری ریشه در آدرس /C:/xampp/htdocs قرار دارد.زمانی که پوشه ریشه سند را یافتید یک فایل به نام index.php ایجاد کنید و خطوط زیر را به آن اضافه کنید.

[/COLOR]
کد فوق را کمی بیشتر باز می‌کنیم. همه کدهای PHP باید بین دو عبارت php؟> و <? نوشته شوند. اگر چنین کاری صورت نگیرد، وب‌سرور آن‌ها را اجرا نمی‌کند. سپس عبارت echo را داریم که همان‌طور که حدس زده می‌شود، محتوایی را در مرورگر نمایش می‌دهد. در نهایت خود محتوایی که قرار است نمایش یابد را می‌بینیم. لازم به ذکر است که پرانتزها (در اغلب موارد) هنگام فراخوانی یک تابع اختیاری هستند.وقتی عبارت echo پایان یافت آن را با یک نقطه‌ویرگول ( می‌بندیم. اگر این نقطه‌ویرگول جا بیفتد، کد اجرا نمی‌شود.اگر کد شما به طور صحیحی اجرا شود، در مرورگر وب خود عبارت Hello World را خواهید دید.




2.1 آیا لازم است کدهای پی‌اچ‌پی درون HTML قرار گیرند؟

پاسخ منفی است.

2.2 مفاهیم اصلی زبان پی‌اچ‌پی

متغیرها

متغیرها مفهومی هستند که تقریباً در هر زبان برنامه‌نویسی وجود دارند. از آن‌ها برای ذخیره کردن یک مقدار استفاده می‌شود. این مقدار را بعدتر می‌توان بازیابی، مورد استفاده و تغییر قرار داد.در برخی زبان‌های برنامه‌نویسی تعیین کردن یک مقدار برای متغیر الزامی است. مثلاً در زبان‌های C++ ،C#، C و جاوا تعیین مقدار متغیر پیش از استفاده از آن ضروری است و شکلی شبیه به مثال زیر دارد:int x = 10;اگر با جاوا اسکریپت آشنایی داشته باشید، می‌دانید که متغیرها با کلیدواژه var اعلان می‌شوند.var x = 10;در زبان پی‌اچ‌پی متغیرها با استفاده از نماد دلار ($) اعلان می‌شوند.x = 10;در متغیرهای پی‌اچ‌پی نمی‌توان از عدد یا کاراکترهای خاص به جز کاراکتر (_) در ابتدای نام متغیر استفاده نمود. به علاوه نام متغیر نمی‌تواند this باشد چون این عبارت جز کلیدواژه‌های رزرو شده خود زبان است.عبارت‌های if

عبارت‌های if بسیار کارآمد هستند. این عبارت‌ها امکان اجرای یک کد در زمان برآورده شدن یک شرط خاص را ایجاد می‌کنند. کد زیر را در نظر بگیرید:

[/COLOR]
عبارت‌های while

عبارت‌های while باعث اجرای مکرر کد تا زمان برقراری یک شرط خاص می‌شوند. کد زیر را در نظر بگیرید:

[/COLOR]
در این کد چه اتفاقی می‌افتد؟ ابتدا یک متغیر با مقدار 0 ایجاد می‌شود (;i = 0 $). سپس شرط می‌کنیم اگر i$ کمتر از 10 بود به اجرای کد ادامه بده (;i < 10 $). سپس 1 را به i اضافه می‌کنیم (++i$) و محتوای درون آکولادها را اجرا می‌کنیم و به کد خط اول بر می‌گردیم.تابع‌ها

تابع‌ها ابزار مفیدی در برنامه‌نویسی هستند. تابع‌ها امکان نوشتن کدی را ایجاد می‌کنند که منسجم است و باعث صرفه‌جویی در زمان برای نوشتن مجدد کدهایی که به صورت تکراری هستند، می‌شود. روش کار بدین ترتیب است که تابع‌ها کدهای تکراری را درون یک قطعه کد بسته‌بندی می‌کنند که در هر بار که نیاز باشد می‌توان آن را فراخوانی کرد.ایجاد تابع نیز آسان است. در مثال زیر تابعی برای نمایش عبارت «Hello World» نوشته شده و سپس فراخوانی می‌شود. این تابع «()sayHello» نام دارد.

[/COLOR]
آن‌ها را به روش زیر می‌توان فراخوانی کرد:sayHello(“Hello World”);در نهایت از توابع می‌توان انتظار داشت مقادیری را بازگردانند.function returnHello

[/COLOR]
2.3 حرکت روبه‌جلو

3. فرم‌ها

3.1 شیوه کار فرم‌ها در HTML3.2 ایجاد نخستین فرم

احتمالاً تاکنون با توییتر آشنا شده‌اید.

بخش اصلی هر توییت، یک کادر متنی پند خطی و یک دکمه است که این پیام را به سرورهای توییتر ارسال می‌کند. بنابراین آیا فکر می‌کنید می‌توانید نسخه‌ای شبیه به آن را در HTML ایجاد کنید؟ فرم تصویر فوق با کدی شبیه زیر قابل ایجاد است.[FONT=IRANSans][COLOR=#999999 !important]












[TABLE="class: crayon-table"]

[COLOR=#006699 !important]</br>[/COLOR]
[COLOR=#006699 !important]</TextArea>[/COLOR]
[COLOR=#006699 !important]<input type="[/COLOR][COLOR=#222222 !important]submit[/COLOR]"[COLOR=#222222 !important]>[/COLOR]
[COLOR=#222222 !important]<[/COLOR][COLOR=#222222 !important]/[/COLOR][COLOR=#222222 !important]form[/COLOR][COLOR=#222222 !important]>[/COLOR]
[COLOR=#222222 !important]<[/COLOR][COLOR=#222222 !important]/[/COLOR][COLOR=#222222 !important]body[/COLOR][COLOR=#222222 !important]>[/COLOR]
3.3 مدیریت ورودی‌ها در پی‌اچ‌پی

در این بخش از راهنمای خود نگاهی خواهیم داشت به این‌که چگونه می‌توانیم ورودی فرم‌ها را دریافت کنیم و سپس آن‌ها را روی صفحه نمایش دهیم. روش حفظ مقادیر ورودی و ذخیره‌سازی آن‌ها در پایگاه داده در بخش‌های بعدی بررسی می‌شود.برای این کار باید فایل podtForm.php را در ریشه سند وب‌سایت ایجاد کنیم. سپس خطوط کد زیر را به آن اضافه می‌کنیم.[FONT=IRANSans][COLOR=#999999 !important]