زبان برنامه نویسی PHP
زبان برنامه نویسی PHP چیست؟
زبان PHP برای طراحی وب
حالا که با یکدیگر تاریخچه زبان برنامه نویسی PHP را مرور کردیم و فهمیدیم این زبان چگونه ساخته شده است و تا به امروز دستخوش چه تغییراتی بوده است، نوبت میرسد تا برگردیم به اولین سوال خود تا بدانیم PHP چیست و یک تعریف کامل و جامع از آن داشته باشیم.
PHP یک زبان تفسیرشونده است که اساس و بنیان آن طراحی و ایجاد صفحات پویای وب بوده است. به عبارتی دیگر، کسانی که وظیفه کدنویسی سایت را بر عهده دارند با استفاده از زبان PHP قادر خواهند بود وب اپلیکیشنهایی طراحی کنند که به صورت تعاملی میباشند.
منظور از تعاملی بودن وجود قابلیت هایی مانند سطوح دسترسی مختلف برای کاربران، امکان ثبتنام در سایت، پنل کاربری ، ذخیره اطلاعات کاربران و بسیاری از امکانات دیگر است که امروزه در تمامی سایتهای امروزی مشاهده میکنیم.
از نقاط قوت این زبان میتوان به وجود فریمورکهای بسیار قدرتمند و محبوبی هم چون لاراول و سیمفونی، دارا بودن بیش از 80% از سهم بازار وب ، متن باز و رایگان بودن ، جامعه بزرگ و پشتیبانی خوب اشاره کرد.
از طرفی PHP توانسته است خودش را به عنوان یکی از محبوبترین زبانهای برنامه نویسی در حوزه طراحی وب معرفی کند.
PHP
ساختار کلی مبانی PHP چیست؟
می دانیم شما هم مانند هر برنامه نویس دیگری شور و اشتیاق زیادی برای شروع کدنویسی دارید ولی در این بخش از مقاله قصد ورود به آموزش پیشرفته PHP را نداریم ، چون هنوز قصد داریم در مورد PHP با شما صحبت کنیم.
ولی خالی از لطف نیست اگر برنامه Hello World نوشته شده با PHP را ببینید تا یک دید کلی در مورد آن در ذهنتان داشته باشید.
مفسر PHP فقط کدهایی که داخل جداکنندههای PHP قرار گیرند را تفسیر میکند و تمامی دستوراتی که خارج از جداکنندههای آن قرار گیرند، تفسیر نمیشوند. معروفترین جداکننده زبان PHP علامت <? و ?php> است.
نام متغیرها در زبان PHP حتماً باید با نماد دلار یا $ شروع شود و برخلاف بسیاری از زبانهای برنامه نویسی دیگر نیازی به مشخص کردن نوع آنها نمیباشد.
نام متغیرها در این زبان به بزرگ و کوچک بودن حروف حساس است. از طرفی دیگر در PHP خطوط جدید و فاصلهها نادیده گرفته میشوند (به جز فاصلههایی که در درون رشتهها قرار داشته باشند) و همه دستورهای آن باید با علامت سمیکولن (;) تمام شوند.
آشنایی با زبانهای مفسری
شاید بهتر باشد این موضوع را این چنین مطرح کنیم که تفاوت بین زبانهای برنامه نویسی مفسری با زبانهای کامپایلری چیست؟ در یک جمله باید گفت کار هر دو مدل این زبانها ترجمه و پردازش است! ولی هر کدام با روشی متفاوت این کار را انجام میدهند که مزایا و معایب خاص خود را دارند.
به طور کلی به زبان هایی تفسیرشونده یا Interpreted میگوییم که سورس کد آنها به صورت یکباره کامپایل (پردازش، ترجمه و اجرا) نمیشود بلکه هرخط از کد آن توسط برنامههای مفسر یا تفسیرکننده (Interpreter) به صورت خط به خط بررسی و سپس تفسیر و اجرا میشوند.
روش ترجمه و اجرای مفسر برای سورس کدی که مثلا در چهل خط نوشته شده است به این صورت است که خط اول آن را دریافت میکند و پس از ترجمه به زبان ماشین، در صورتی که آن خط از سورس بدون خطا اجرا شده باشد، به خط بعدی میرود و مقدار متغیر در آن خط را ذخیره میکند. این فرآیند را خط به خط انجام میدهد تا به صورت کامل تمام سورس کد آن را ترجمه و اجرا کند.
بهترین مثال برای درک نحوه کارکرد زبانهای مفسری :
در نظر گرفتن مربی خارجی زبان یک تیم فوتبال است که برای ارتباط با بازیکنان خود نیاز به یک مترجم فارسی زبان دارد. برای مثال مترجم کارلوس کیروش (مربی سابق تیم ملی) را در نظر بگیرید.
زمانی که کیروش یک یا چند جمله کوتاه میگوید، مکث میکند تا مترجم آنها را دریافت و سپس ترجمه کند. زمانی که ترجمه آنها تمام شد منتظر میماند تا جملات جدید را از او دریافت و مجددا ترجمه کند. مفسرها هم به همین صورت عمل میکنند.
همانطور که اشاره شد، زبان PHP به صورت مفسری کدها را ترجمه و اجرا میکند. زبانهای مفسری نسبت به زبانهای کامپایلری کندتر میباشند ولی در عوض عملیات دیباگ کردن یا خطایابی آنها راحتتر صورت میگیرد. از طرفی محصول نهایی زبانهای مفسری برخلاف زبانهای کامپایلری که یک خروجی واحد ارائه میدهند سورس کد نوشته شده است.
آشنایی با زبانهای کامپایلری
به زبان هایی کامپایل شده یا Compiled میگوییم که تمام سورس کد آنها به صورت یکباره کامپایل میشود و بعد از این عمل خروجی آنها به صورت یک نرم افزار مستقل در اختیار کاربر قرار میگیرد.
در حقیقت کامپایلر کدهای نوشته شده توسط کاربر را بعد از تست، به کدهایی فشرده و قابل فهم برای سیستم تبدیل میکند که به صورت سریع اجرا میشوند.
در روش کامپایلری، برای مثال اگر سورس کدی در چهل خط نوشته شده باشد، تمام کدهای آن به صورت یکجا دریافت و ترجمه میشوند و در نهایت یک فایل خروجی به کاربر تحویل میدهد.
برای اجرای خروجی زبانهای کامپایلری دیگر نیازی به اجرای مجدد این عملیات (کامپایل شدن) وجود ندارد. فایلهای با پسوند exe که حتما با آنها سر و کار داشته اید مثالی از خروجی زبانهای کامپایلری میباشند.
سرعت زبانهای کامپایلری از زبانهای مفسری بیشتر است ولی از طرفی دیگر دیباگ و خطایابی آنها نسبت به زبانهای مفسری دشوارتر محسوب میشود.
اگر بخواهیم عملکرد زبانهای کامپایلری را در قالب یک مثال ساده بررسی کنیم، با فرض اینکه متنی که به زبان خارجی نوشته میشود کدهای برنامه نویسی باشند Google Translate بهترین مثال برای در نظر گرفتن است.
در Google Translate همانطور که دیده اید ابتدا تمام جمله نوشته شده را دریافت میشود و سپس آن را به صورت یکباره ترجمه میکند و به کاربر تحویل میدهد که این فرآیند مشابه نحوه عملکرد زبانهای کامپایلری است.
آشنایی با تفاوت زبانهای سمت سرور و سمت کاربر
به زبان هایی سمت کاربر یا Client-side میگوییم که در مرورگر کاربر پردازش و اجرا میشوند. برای مثال جاوا اسکریپت در مرورگر کاربر اجرا میشود بنابراین جزو زبانهای سمت کاربر محسوب میشود.
از آنجایی که این نوع زبانهای برنامه نویسی در سیستم کاربر پردازش میشوند، سخت افزار و نوع سیستم کاربر میتواند در سرعت اجرای آنها تاثیرگذار باشد.
اما زبان هایی مانند PHP در سرور (مربوط به سایت) پردازش و اجرا و در نهایت خروجی آن به سوی کاربر ارسال میشود. به همین دلیل به زبان هایی مانند PHP سمت سرور یا Server-Side میگوییم.
از آنجایی که پیاچپی در سمت سرور اجرا میشود، برای برقراری ارتباط بین کاربر و سرور نیاز نرم افزاری دارد که به آن وب سرور میگوییم.
PHP – نکته :
سرور یک سیستم سخت افزاری است که یک وب سایت روی آن اجرا میشود ولی وب سرور نرم افزاری است که وظیفه مدیریت درخواستها و اطلاعات را در این سیستم سخت افزاری بر عهده دارد.
همچنین اصطلاح اپ سرور به معنای نرم افزار یا وب سایتی است که توسط ما نوشته شده است.
آشنایی با تفاوت زبانهای سطح بالا و سطح پایین
زبانهای برنامه نویسی به دو دسته زبانهای سطح بالا یا High-level و سطح پایین یا Low-Level تقسیم میشوند. و از آن جا که زبان برنامه نویسی PHP یک زبان سطح بالا محسوب میشود، قصد داریم شما را با این دو نوع زبان آشنا کنیم تا تفاوتها و ویژگیهای آنها را بشناسید.
زبانهای برنامه نویسی سطح پایین زبان هایی هستند که به زبان ماشینی یا صفر و یک نزدیکتر میباشند و به صورت مستقیم با پردازنده در ارتباط اند.
برای مثال زبان اسمبلی یک زبان سطح پایین محسوب میشود. اما از آنجا که درک و یادگیری فرآیند کار زبانهای سطح پایین برای برنامه نویسان کار دشواری بود، زبانهای سطح بالا را طراحی و ایجاد کردند.
زیرا زبانهای سطح بالا به گونه ای ساخته شده اند که به زبان گفتار انسان (زبان انگلیسی) نزدیکتر باشد تا یادگیری و درک آنها برای برنامه نویسان سادهتر شود.
با این کار دیگر برنامه نویسان به دانستن چگونگی انجام دستورات نوشته شده نیازی نداشتند و تمام تمرکز خود را بر روی پیاده سازی منطق نرم افزار و کدنویسی متمرکز میکردند.
بنابراین زمانی که برنامه نویس نرم افزار مورد نظرش را با هر یک از زبانهای سطح بالا مانند زبان PHP مینویسد، نرمافزار دستورات نوشته شده را به صورت اتوماتیک به زبانهای سطح پایین یا ماشینی (منظور همان زبان قابل فهم برای سیستم یا زبان صفر و یک است) ترجمه میکند تا سیستم آنها را اجرا کند.
چه کارهایی می تونید با PHP انجام بدید:
- کارهای زیادی هست که می تونید با PHP انجام بدید مثلا:
- می تونید صفحات و فایل های پویا تولید کنید.
- می تونید فایل های خود رو بر روی سرور ایجاد کنید، باز کنید، بخونید و بنویسید و همینطور ببندید.
- شما می تونید داده ها رو از یک فرم وب مانند اطلاعات کاربر، ایمیل، اطلاعات کارت اعتباری و خیلی چیزهای دیگه جمع آوری کنید.
- می تونید برای کاربران وب سایتتون ایمیل بفرستید.
- می تونید برای دنبال کردن بازدید کننده ی وب سایتتون کوکی های سایت رو ارسال و دریافت کنید.
- شما می تونید اطلاعات رو در پایگاه داده خود ذخیره، حذف و تغییر بدید.
- می تونید دسترسی غیر مجاز به وب سایتتون رو محدود کنید.
- شما می تونید داده ها رو برای انتقال ایمن از طریق اینترنت رمزگذاری کنید.
مزیتهای زبان PHP:
اگه شما با بقیه ی زبان های سمت سرور مانند ASP.NET یا JSP آشنا باشید، ممکنه بدونید که چه چیزیپی اچ پی رو از بقیه متمایز میکنه. انتخاب پی اچ پی نسبت به بقیه مزایای متعددی داره. برخی از آنها عبارتند از:
یادگیری آسان:
یادگیری و استفاده ی پی اچ پی راحته. برای برنامه نویسان مبتدی که تازه شروع به توسعه وب کردن، پی اچ پی اغلب به عنوان بهترین و مناسب ترین انتخاب برای یادگیری در نظر گرفته می شه.
منبع باز:
پی اچ پی یک پروژه منبع باز است. زبان برنامه نویسی توسط جامعه ی جهانی توسعه دهندگان توسعه یافته و نگهداری می شه که منبع کد رو به صورت آزاد برای دانلود و استفاده در اختیارتون می گذاره. هیچ هزینه ای برای استفاده از پی اچ پی برای پروژه های فردی یا تجاری، از جمله به روز رسانی های آینده نیاز نیست.
قابلیت انتقال:
پی اچ پی روی سیستم عامل های مختلف مانند مایکروسافت ویندوز، لینوکس، سیستم عامل مک، و غیره اجرا می شه و تقریبا با تمام سرورهای مورد استفاده امروز مانندApache، IIS و غیره سازگار است.
عملکرد سریع:
اسکریپت های نوشته شده در پی اچ پی معمولا سریعتر از اونهایی که در زبان های اسکریپتی دیگر مانند ASP.NET یا JSP نوشته شده است اجرا می شن.
اجتماع گسترده:
از آنجا که PHP توسط جامعه ی جهانی پشتیبانی میشه، پیدا کردن کمک یا مستندات برای پی اچ پی آنلاین بسیار آسان است.
برای استفاده از پی اچ پی به چه چیزی نیاز دارید؟
برای استفاده و اجرای صفحات پی اچ پی باید سرور آپاچی ( Apache ) یا IIS رو روی کامپیوتر خود نصب کنید یا اینکه صفحه خود رو بر روی یک سرور که از پی اچ پی پشتیانی می کنه، اجرا نمایید.
دیدگاهتان را بنویسید