همانطور که قبلاً توضیح دادیم، در سمت کاربر فقط مرورگر است که این وظیفه را دارا است تا درخواستهای کاربر را برای وب سرور مد نظر ارسال و پاسخ را از آن دریافت کند، و از سوی دیگر فایلهای CSS ،HTML و تصاویر را اصطلاحاً رِندر (پردازش) کرده و در معرض دید کاربر قرار دهد.
اما این در حالی است که در سمت سرور ۳ اپلیکیشن وجود دارد که با ارتباط تنگاتنگی که با یکدیگر دارند و این امکان را فراهم میآورند تا پاسخهای مناسبی برای درخواستهای کاربران ایجاد شده تا در نهایت، یک صفحهٔ وب در معرض دید ایشان قرار گیرد که در ادامه با تکتک آنها بیشتر آشنا خواهید شد:
- وب سرور: اولین اپلیکیشن اصطلاحاً HTTP Server یا همان Web Server است که از جمله وب سرورهای معروف میتوان Apache را نام برد (حرف A در AMP). این نرمافزار وظیفه دارد تا درخواستهایی از جنس HTTP یا HTTPS را از کاربر دریافت کرده و به اپلیکیشن سرور انتقال دهد.
- دیتابیس: اپلیکیشن دیگر مرتبط با فرایند ذخیرهسازی دادهها است که این وظیفه را دارد تا اطلاعات را در خود ذخیره سازد که از جمله اپلیکیشنهای مرتبط با دادهها میتوان به MySQL اشاره کرد (حرف M در عنوان AMP).
- اپلیکیشن سرور: در نهایت اپلیکیشن سرور (مفسر زبان برنامهنویسی) قرار دارد که درخواستها را از وب سرور گرفته و با دیتابیس و یا در صورت نیاز با دیگر سرویسها ارتباط برقرار ساخته، در صورت نیاز دادهها را تحلیل نموده و در نهایت نتیجه را در اختیار وب سرور قرار میدهد تا وب سرور هم آنها را به کدهای قابلفهم برای مرورگر مبدل سازد و برای مرورگر کاربر ارسال نماید (حرف P در عنوان AMP).
آشنایی بیشتر با MySQL
MySQL اصطلاحاً یک DBMS است که مخفف واژگان DataBase Management System (سیستم مدیریت دیتابیس) برای دیتابیسهای به اصطلاح Relational (رابطهای) میباشد؛ پس به عبارت دیگر میتوان از اصطلاح RDBMS برای این سیستم استفاده کرد (حرف R به ابتدای کلمهٔ Relational باز میگردد).
در یک کلام، MySQL معروفترین سیستم مدیریت دیتابیس دنیا است که توسط شرکت اوراکل به دنیا عرضه شده است. از جمله رقبای MySQL میتوان به دیتابیسهای Oracle ،SQL Server و غیره اشاره کرد. همچنین MySQL اپنسورس و رایگان است؛ به عبارت دیگر، به راحتی میتوان سورسکد آن را دریافت کرده، مورد استفاده قرار داد و در صورت نیاز آن را کاستومایز (شخصیسازی) کرد.
نکته |
به خاطر داشته باشید که MySQL به صورت My Ess Cue Ell تلفظ میشود. |
به منظور آمادهسازی محیط برنامهنویسی PHP، دو گزینه پیشرو خواهیم داشت: اول آنکه هر یک از موارد وب سرور Apache، مفسر PHP و سیستم مدیریت دیتابیس MySQL را به صورت مجزا از آدرسهای زیر دانلود و نصب کنیم:
- httpd.apache.org (برای دانلود وب سرور)
- www.php.net (برای دانلود زبان PHP)
- www.mysql.com (برای دانلود دیتابیس MySQL)
در حقیقت، چنانچه بخواهیم این تکنولوژیهای سهگانه را به صورت مجزا نصب کنیم، بایستی این انتظار را داشته باشیم که برای هر سیستمعاملی یکسری تنظیمات خاص آن را انجام داده تا بتوانیم هر سه را با یکدیگر کانفیگ (پیکربندی) کنیم که بسته به نوع سیستمعامل، میتواند کاری دشوار یا آسان باشد.
راه کار دومی که برای نصب این تکنولوژیها وجود دارد، نصب پکیجهایی است که حاوی وب سرور آپاچی، اپلیکیشن سرور پیاچپی و پایگاه دادهٔ مایاسکیوال است. باتوجه به نوع سیستمعامل، میتوان تکنولوژیهای سهگانهٔ AMP را برای سیستمعاملهای ویندوز، گنو/لینوکس و مکینتاش نصب کرد.
در واقع، نسخهٔ سازگار AMP برای سیستمعامل ویندوز WAMP نام دارد که W حرف اول سیستمعامل Windows است، نسخهٔ سازگار AMP برای سیستمعامل گنو/لینوکس LAMP است که L حرف اول نام سیستمعامل Linux است و در نهایت نسخهٔ سازگار AMP برای سیستمعامل مکینتاش MAMP نام دارد که M حرف اول نام سیستمعامل Macintosh است.
علاوه بر این، نسخه دیگری از این تکنولوژیهای سهگانه وجود دارد تحت عنوان XAMPP که برای استفاده در سیستمعاملهای مختلف طراحی شده است به طوری که روی ویندوز، گنو/لینوکس و مکینتاش قابل نصب است (به عبارت دیگر، کراسپلتفرم است به طوری که در هر سیستمعاملی کار میکند).
آشنایی با ابزار Composer
کمتر دولوپر پیاچپی را میتوان یافت که با ابزار کامپوزر آشنایی نداشته باشد. به طور خلاصه، کامپوزر یک ابزار کامندلاین است که در آن با استفاده از یکسری دستورات از پیش تعریف شده، میتوان به مدیریت منابع خارجی (Dependency Management) برای استفاده در پروژهٔ وب اپلیکیشن خود پرداخت.
برای آشنایی بیشتر با این ابزار، میتوانید به پست کامپوزر (Composer) چیست؟ مراجعه نمایید. همچنین برای آشنایی با نصب کامپوزر روی گنو/لینوکس، میتوانید به مقالهٔ آموزش نصب Composer روی سیستم عامل گنو/لینوکس توزیع اوبونتو مراجعه نمایید.