PHP (پی ایچ پی)
زبان اسکریپت نویسی سمت سرور
در این پست به معرفی زبان اسکریپت نویسی سمت سرور PHP خواهیم پرداخت و برتری های آن نسبت به ASP را ذکر خواهیم کرد. با فول کده همراه باشید.
PHP چیست؟
PHP (پی اچ پی) مخفف عبارت Hypertext Preprocessor یا پیش پردازنده ابر متن می باشد. PHP یک زبان اسکریپت نویسی سمت سرور است و می تواند ابزاری قدرتمند برای ساخت صفحات پویا و داینامیک به حساب آید.
اسکریپت چیست؟
زبان های اسکریپتی برای ارائه تحولات و ایجاد پویایی در صفحات وب ایجاد شدند. این زبان ها از روی زبان های برنامه نویسی ساخته شدند و بهمین دلیل دارای تشابه بسیاری با هم هستند . این زبان ها در اصل نمونه کوچک شده زبان های مادر خود هستند. تعدادی از فرمان ها و امکانات زبان های بزرگ در این زبان ها حذف شده اند.
مثلا امکان نوشتن فایل یا پاک کردن فایل ها برروی سیستم کاربر مانند زبان های برنامه نویسی وجود ندارد.
البته این زبان ها برای استفاده در زمینه کاری شبکه طراحی شده اند و حذف این دستورات علل خاصی ( از جمله بالا رفتن امنیت و … ) داشته است.
تفاوت اسکریپت با زبان برنامه نویسی چیست؟
اسکیرپت ها حتما باید توسط یک نرم افزار برنامه نویسی و تحت یک نرم افزار برنامه نویسی اجرا و کامپایل و ترجمه شوند، در حالی که تمام نرم افزارهای برنامه نویسی، در خود برنامه کامپایلر و مترجم دارند و خود اقدام به ترجمه کد ها می نمایند. می توانیم بگوییم اسکریپت ها قسمتی از یک برنامه و نرم افزار برنامه نویسی می باشند، یک بخش کوچک شده از آن برنامه، که برای بسیاری از متدها به کمک نرم افزار برنامه نویسی و کد نویسی می آیند.
مثل PHP که به برنامه نویسان تحت وب در طراحی سایت و ایجاد متد ها و اسکریپت های متفاوت کمک شایانی کرده است، تا طراحی سایت ها امروزه بسیار بهینه تر باشند. https://fullkade.com
بگذریم، این زبان اسکریپت نویسی به همراه HTML به کار می رود و بر خلاف HTML دارای قابلیت پردازش داده می باشد. اگر با HTML آشنا باشید حتما می دانید که HTML یک زبان برنامه نویسی نیست بلکه یک زبان Markup یا نشانه گذاری می باشد و تنها امکان ایجاد صفحات وب را فراهم می سازد که در این صفحات متن ها, تصاویر و لینک ها قرار می گیرد. HTML دارای دستورات مفیدی همچون ارسال یک فرم به سرویس دهند وب می باشد ولی با استفاده از این زبان Markup نمی توان داده ها را پردازش کرد.
PHP در سال ۱۹۹۴ توسط Rasmus Lerdorf که در ابتدا با استفاده از زبان Perl برای نگه داری صفحه خانگی خود نوشته بود نوشته شد و سپس با استفاده از زبان C پیاده سازی شد و در اختیار عموم قرار گرفت.
در سال ۱۹۹۸ نسخه ۳ این زبان به وجود آمد و اکنون نسخه ۵ آن در اختیار برنامه نویسان قرار گرفته است.
به طور کلی صفحات وب به دو نوع ایستا (Static Pages) و پویا (Dynamic Pages) دسته بندی می شود. در اوایل دهه ۱۹۹۰ بیشتر صفحات وب به صورت ایستا ایجاد می شدند, این صفحات فقط دارای کدهای HTML بودند و در برابر عملیات های کاربر هیچ واکنشی را از خود نشان نمی دادند و صرفا جهت مطالعه یکسری متون بودند.
ولی توسعه دهندگان می خواستند صفحاتی را ایجاد کنند که در مقابل عملیات مختلف کاربر عکس العملی از خود نشان دهند تا با کاربر ارتباط محاوره ای داشته باشند, همچون ایجاد صفحات مخصوصی برای هر کاربر و یا گرفتن داده هایی از کاربر!
با گذشت زمان و به لطف Java Script صفحات وب پویا تر شدند و در مقابل کلیک و یا حرکت ماوس از خود عکس العملی نشان می دادند.
زبان های اسکریپت نویسی به دو دسته سمت سرویس گیرنده و سمت سرویس دهنده تقسیم می شوند, اسکریپت هایی همچون Java Script در دسته اول یعنی سرویس گیرنده قرار می گیرند و کاربر می تواند آن ها را مشاهده یا با ابزار هایی تغییر دهد, اما زبان PHP در سمت سرویس دهنده می باشد و کاربر هیچ نشانه ای از کد های PHP را نخواهید دید بلکه فقط نتیجه پردازش های PHP به شکل HTML را خواهید دید.
به طور کلی PHP از سه قسمت زیر تشکیل شده است
- ماژول های تابع
- هسته زبان
- واسط سرویس دهنده وب
ماژول های تابع قابلیت های با ارزشی را به PHP می افزایند و هسته زبان (Zend) نیز کار ترجمه و اجرای کد های PHP را انجام می دهد و سپس سرویس دهنده وب هم امکان ارتباط PHP با سرویس دهنده وب را فراهم می سازد.
چرا از PHP استفاده کنیم؟
چون فول کده هم از PHP استفاده می کنه! خخخخ شوخی کردم 😀
یکی از دلایل اصلی استفاده ما از PHP رایگان بودن و در دسترس بودن کد های آن می باشد و تفاوت اصلی آن با زبان هایی همچون ASP و یا ColdFusion در همین مسئله می باشد. 🙂 https://fullkade.com
در زیر مهمترین دلایل استفاده ما از PHP را آورده ایم
- رایگان بودن و در دسترس بودن سورس کد ها
- سرعت و امنیت بالا
- قابلیت اجرای آن بر روی سیستم عامل های مختلف اعم از یونیکس, لینوکس, ویندوز و مکینتاش
- قابلیت انعطاف پذیری بالای آن که برنامه نویسان می توانند با توجه به نیازشان آن را تنظیم و پیکر بندی کنند.
- اتصال به بیشتر دیتابیس های موجود
- و در آخر یادگیری و برنامه نویسی راحت با آن
- جامعه بسیار بزرگ از توسعه دهندگان در سطوح های مختلف
خاصیت Open Source بودن PHP به چه معناست؟
نرمافزار متنباز (Open Source Software) یا همان باز متن (متنباز نیز گفته می شود)، به نرمافزارهایی میگویند که افراد میتوانند در کد منبع آنها تغییر ایجاد کرده و یا اشکالات (باگ) احتمالی آنها را رفع کنند. این یک شیوه توسعه نرمافزار است که میتواند هم برای نرمافزارهای آزاد و هم برای نرمافزارهای با مالکیت انحصاری و تجاری به کار رود.
یا به نرم افزارهایی گفته میشود که دارای اختیارات تقریبا کامل برای استفادهکنندگان هستند و همراه با امکان دسترسی کامل به کد منبع آن نرم افزارها ارائه میشوند (چون برای استفاده ی عملی از بعضی از این اختیارات، به در دسترس بودن کد منبع نیاز است). منظور از اختیارات مثلا حق تغییر و کپی و تکثیر نامحدود و استفاده در هر کاربردی اعم از تجاری و غیرتجاری، بدون نیاز به کسب اجازه از ایجاد کنندگان آن نرم افزار یا پرداخت هرگونه مبلغی برای دریافت یک مجوز می باشد. ( درکل اپن سورس یعنی کد اصلی آن در دسترس است)
برتری های زبان PHP نسبت به asp
- قدرت زبان PHP بیشتر از asp.net است و برنامه نویس بصورت روان میتونه با PHP کد بزنه
- زبان PHP اوپن سورس و رایگان است در صورتی که asp.net انحصاری و غیر مجانی است.
- بازار کار برای PHP کاران بیشتره و در بیشتر شرکت ها به برنامه نویسانی که به PHP مسلط باشند نیاز بیشتری است.
- امنیت نسبی زبان asp.net کمتر از PHP است
- برای اجرای asp.net باید اقدام به خرید سرور ویندوزی کنید اما برای PHP سرور گنو/لینوکس کافیست و از آنجایی که سرور ویندوز امنیت پایین تر و منابع سخت افزاری بیشتر و در نتیجه هزینه زیاد نسبت به گنو/لینوکس دارد استفاده از asp.net به صرف نیست.
- شرکت های بزرگی مثل گوگل و فیسبوک و … از PHP استفاده میکنند.
- اکثر سیستم های مدیریت (CMS) ها مثل وردپرس , جوملا , دروپال و … با زبان PHP نوشته شده اند.
علل های بالا بخشی از مورادی اند که باعث میشه از بین PHP و asp.net زبان محبوب و قدرتمند PHP انتخاب شود.
سلام خسته نباشید
ی IDE قدرتمند برای php میشناسین معرفی کنین ممنون میشم
ی سوال هم داشتم تو سایت اموزشی برای html که بشه متون روی سایت رو غیر قابل کپی کرد ندارین؟
سلام؛ از Intellij IDEA استفاده کنید.
مطلب زیر هم به دردتون میخوره
حل مشکل تشخیص ندادن فایل و کد PHP در Intellij IDEA
https://fullkade.com/?p=62947