برنامه نویسی زبان PHP چیست؟

بامبو وب

 تعریف اول PHP

پی اچ پی یا PHP یک زبان قدرتمند برای ساخت وب سایت های پویا است. این زبان اسکریپتی میتواند با HTML ادغام شود. php یک زبان در سمت سرور است, بدین معنا که کدهای php روی سرور تفسیر میشوند و خروجی html و یا خروجی های دیگری تولید میکند که توسط کاربر قابل مشاهده است.

هر روز وب سایت ها گسترش پیدا میکنند و مخاطبان بیشتری را در بر میگیرند. تا به حال بیش از ۱۲۵٫۰۰۰٫۰۰۰ دامنه در اینترنت ثبت شده است که نشان دهنده گسترش سریع اینترنت می باشد. با بزرگ شدن و زیاد شدن مخاطبان وب سایت ها دیگر HTML پاسخگوی نیاز مدیران وب سایت ها نبود، از این رو به زبانی نیاز بود تا بتواند مانند نرم افزارهای Dektop عمل کند و به راحتی قابل گسترش باشد. زبان هایی مانند PHP, Asp, Java و … به وجود آمدند تا به وب سایت ها خدمت کنند. در این مقاله شما را تا حدودی با زبان برنامه نویسی PHP آشنا میکنیم و نگاه کوتاهی به تاریخچه و عمل کرد PHP خواهیم انداخت.

 

php در سال ۱۹۹۴ توسط Rasmus Lerdorf ارایه شد. از آن زمان تا به حال تغییرات زیادی در این زبان اسکریپتی تحت لینوکس ایجاد شده است و در حال حاضر نسخه جدید آن توسط تیم گسترش دهنده php عرضه شده است. تا به امروز حدودا بیش از ۳۵٫۰۰۰٫۰۰۰ وب سایت از این زبان برای ساخت برنامه های تحت وب خود استفاده کرده اند و به عنوان یکی از پرطرفدارترین زبان های اسکریپتی به حساب می آید.

 

برخی از رقبای php عبارتند از: Perl, JSP, ColdFusion و ASP.NET  از مزایای زبان برنامه نویسی php می توان به کارایی بالا، واسطه های مختلف برای سیستم پایگاه های اطلاعاتی مختلف، کتابخانه داخلی برای انجام امور متداول، هزینه پایین، امنییت بالا و … اشاره نمود. و یکی از نکات مهم زبان php مستقل از محیط کار بودن آن است، بدین صورت که در تمامی کامپیوترها و سیستم عامل ها قابل اجرا است. php روی لینوکس، ویندوز و … به سادگی اجرا میشود. برنامه های php را به وسیله مرورگر وب اجرا میکنیم.

به وب سایتی که برنامه php در آن قرار دارد میرویم و با در خواست ما سرور کدهای php را تجزیه و تحلیل میکند و پاسخ آن را به صورت html به ما نشان میدهد. با استفاده از زبان php میتوان وب سایت هایی را ساخت که: داده ها را از منابع مختلفی مانند بانک های اطلاعاتی و یا فایل ها جمع آوری کنند. عناصری مثل جستجو، فروم، عضوییت، ورود و خروج کاربران، گالری عکس و … ایجاد کرد. سیستم پست الکترونیکی ایجاد کرد، فروشگاه آنلاین ساخت و به کاربران اجاز خرید داد و … به طور کلی میتوان گفت php برای وب سایت هایی مناسب است که با کاربران زیادی سر و کار داردند و به صورت مرتب به روز میشوند. شاید این نکته برای شما جالب باشد که بدانید Yahoo به عنوان یکی از حامیان php است و بسیاری از قسمت های خود را با زبان php ساخته است. از وب سایت های معروفی دیگری که از php استفاده میکنند میتوان به Google, flickr و Facebook اشاره کرد.

 

برنامه نویسی php معمولا به این صورت است که برنامه نویسان در یک کامپیوتر (بدون اتصال به اینترنت) برنامه خود را مینویسند، آزمایشات مقدماتی خود را روی آن انجام میدهند سپس آن را روی سرور منتقل میکنند. در بیشتر موارد برنامه نویس اطلاعات وب سایت را در داخل یک بانک اطلاعاتی قرار میدهید، اطلاعاتی مانند شناسه کاربران و کلمات عبورشان، اخبار و نوشته ها …. سپس با استفاده از php به بانک اطلاعاتی متصل میشوند و با اطلاعات آن کار میکنند. یکی از متداولترین بانک های اطلاعاتی که برای php مورد استفاده قرار میگیرد MySQL است. MySQL چندی پیش توسط شرکت Sun خریداری شد.

 

تعریف دوم PHP

پی اچ پی یا PHP مخفف PHypertext Preprocessor یک زبان قدرتمند ( Cross-Platform , Html embeded ) برای ساخت وب سایت های پویا و داینامیک است .  یک زبان سمت سرور که اسکریپت های آن بر روی سرور اجرا می شود . با استفاده از زبان php ، شما می توانید سایت ها و پورتال های بزرگ سازمانی را با قدرت طراحی و برنامه نویسی کنید . php در نسخه های مختلفی به بازار عرضه شد که در حال حاضر نسخه ۵ آن توسط توسعه دهندگان php به کاربران و برنامه نویسان ارائه شده است . با آمدن php 5 تحول جدیدی در php ایجاد شد به صورتی که Microsoft سازنده زبان Asp بار دیگر از رقیب خود یعنی php عقب افتاد.

 

سمت سرور یا server side : بدین معنی است که دستورات بر روی سرور اجرا می شود و کاربر نمی تواند در آن دخیل باشد . یک سرویس دهنده در حقیقت یک کامپیوتر مخصوص می باشد که صفحات وب در آنجا نگهداری می شوند و از آنجا به مرورگر وب کاربران منتقل می شوند.

سمت مشتری یا  client side : بدین معنی است که دستورات بر روی مرورگر اجرا می شود و کاربر می تواند در آن دخالت کند.

 

منظور از Cross-Platform بودن این زبان این است : که بروی هر سیستم و با هر سیستم عاملی از قبیل Unix, Windows NT,  Macintosh, Os/2  اجرا میشوند. توجه کنید که منظور از سیستم عامل، سیستم عامل هایی می باشند که بر روی سرویس دهنده نصب می شوند . PHP نه تنها قابلیت اجرا بر روی هر سیستم عاملی را دارا می باشد بلکه برای منتقل کردن برنامه های آن از یک سیستم عامل به سیستم عامل دیگر احتیاج بــه تغییرات اندکی خواهید داشت و حتی در بعضی از موارد بدون احتیاج به هیچ تغییری می توانید یک برنامه به زبان php را از یک سیستم عامل به سیستم عامل دیگر منتقل کنید.

 

منظور از Html embeded بودن PHP این است : که دستورات این زبان در بین کدهای html  قرار می گیرند. بنابراین برنامه نویسی به زبان PHP کمی پیچیده تر از برنامه نویسی به زبان Html به حساب می آید.

 

تعریف سوم PHP

پی اچ پی یا PHP یک زبان برنامه‌ نویسی پیشرفته است که هم به صورت متنی و هم گرافیکی شناخته می‌شود.  سرویس‌های توسعه دهنده نظیر PHP، بیشتر به منظور طراحی وب‌ سایت‌ مورد استفاده قرار می‌گیرند. عبارت PHP مخفف کلمات پیش پردازنده ابر متن است. PHP یک زبان برنامه نویسی است. PHP نه تنها به عنوان یک زبان برنامه نویسی متنی بلکه به عنوان یک زبان برنامه‌ نویسی گرافیکی شناخته می‌شود. این یکی از تنها دلایلی  است که چرا اغلب از این برنامه برای طراحی وب سایت‌ها استفاده می‌شود. PHP رقیب مهمی برای نرم افزارهای طراحی وب مشابه، مانند ASP و JSP است. با استفاده از این تکنولوژی تهیه کردن قالب‌های محبوب برای سایت‌های مختلف به راحتی قابل انجام است.

 

برنامه نویسی PHP و تکنولوژی‌ها

به طور کلی طراحی و کدنویسی در PHP با استفاده از کدهای HTML انجام می‌شود. بنابراین می‌تواند قابل فهم باشد که اساس طراحی وب‌سایت در این نرم افزار در واقع جدا از کدهای برنامه نویسی نیست. در این مدل طراحی کدهای برنامه نویسی وابسته به کدهای مورد نیاز در زبان برنامه نویسی HTML هستند. پس کاملا مشخص است که برای استفاده از نرم‌افزارهای توسعه‌دهنده مثل PHP دانستن زبان برنامه‌نویسی HTML یک پیش‌نیاز است.

 

ذخیره‌سازی اطلاعات امروزه یکی از مهم‌ترین بخش‌های نرم‌افزارهای توسعه‌دهنده وب‌سایت است. هر وب‌سایت پویا (dynamic) به یک پایگاه داده برای حفاظت از اطلاعات مهم کاربران خود نیاز دارد. از این روی دانش کار با نرم افزارهای حفاظت از اطلاعات مانند MYSQL و SQL بسیار حیاتی است.

 

منابع آموزشی PHP

توسعه دهنده‌های PHP روز به روز در حال زیاد شدن هستند. در پشت این رشد روز افزون، همه گیری و محبوب شدن نرم افزارهای کد باز (open source) قرار دارد. برای استفاده از PHP نیازی به خرید نرم افزار ویژه‌ای نیست. مشابه همه نرم افزارهای کد باز، منابع کدهای مورد نیاز برای PHP به آسانی و رایگان در دسترس همه قرار می‌گیرد

 

نسخه  ۷ PHP

پی اچ پی ۷ یک نسخه اصلی از زبان برنامه نویسی پی اچ پی است که نسبت به ورژن های قبل انقلابی به وجود آورده است . پس از انتشار PHP 5 در سال ۲۰۰۴، این انتشار مهمترین تغییرات در PHP است.

چندین ویژگی به نسخه ۷ اضافه شده که مهمترین آنها در زیر ذکر شده است :

  •  Improved performance:  افزودن PHPNG به این نسخه باعث دوبرابر شدن سرعت آن نسبت به PHP5.

  • Lower Memory Consumption : نسخه ۷ بهینه شده و از منابع کمتری استفاده می کند .

  • Scalar type declarations : می توانید نوع پارمترها و مقادیر برگشتی را  مشخص کنید .

  • Consistent 64-bit support : پشتیبانی دائمی از ماشین های معماری ۶۴ بیتی.

  • Improved Exception hierarchy : سلسله مراتب Exeption ها رعایت شده است .

  • Many fatal errors converted to Exceptions :  محدوده Exception ها افزایش یافته  و خیلی از FatalError ها  به Exception تبدیل می شوند.

  • Secure random number generator : در این نسخه چندین api برای ایجاد اعداد تصادفی امن ایجاد شده است .

  • Deprecated SAPIs and extensions removed : انواع SAPI های قدیمی و پشتیبانی نشده و پسوند ها از آخرین نسخه حذف شده اند.

  • The null coalescing operator :  اعمال کننده جدید برای مقادیر null اضافه شده است .

  • Anonymous Classes : پشتیبانی برای کلاس های پنهان اضافه شد.

  • Zero cost asserts :  پشتیبانی برای Zero cost asserts اضافه شد.

نسخه‌ ۷٫۱ همراه با پیشرفت‌های مهم در اختیار توسعه‌دهندگان قرار گرفت که از آن جمله به اضافه شدن نوع بازگشتی جدید (Void) و قابلیت دستیابی به استثناهای چندگانه (Multi Catch Exception Handling) می‌توان اشاره کرد. در زمان نگارش این مقاله نسخه ۷٫۱٫۳ این زبان محبوب به تاریخ ۱۶ مارس ۲۰۱۷ در اختیار توسعه‌دهندگان قرار گرفته است. زمانی که نسخه ۷٫۱ به‌طور رسمی انتشار پیدا کرد، گزارشگر سایت Cloudways به‌سراغ انجمن پی‌اچ‌پی رفت و نقطه نظرهای کاربران را در ارتباط با این نسخه جویا شد. با توجه به اهمیت این زبان برنامه‌نویسی و دیدگاه‌های جالب توجهی که از سوی توسعه‌دهندگان و متخصصان وب مطرح شد، تصمیم گرفتیم در این مقاله به تعدادی از این نقطه نظرات نگاهی داشته باشیم.

گزارشگر سایت Cloudways نه‌تنها به‌سراغ انجمن پی‌اچ‌پی رفت، بلکه از طریق ایمیل نیز سؤالات خود را برای متخصصان برجسته این زبان ایمیل کرد. پرسش‌های مطرح شده از سوی گزارشگر این سایت عمدتاً حول محورهای «به عقیده شما بهترین اتفاقی که در سال ۲۰۱۶ برای پی‌اچ‌پی به وقوع پیوست چه اتفاقی بود؟»، «جامعه پی‌اچ‌پی چه دیدگاهی در رابطه با نسخه ۷٫۰ و ۷٫۱ دارند؟»، «به عقیده شما بهترین چهارچوبی که برای پی‌اچ‌پی وجود دارد چه چهارچوبی است؟» و «نظر شما در رابطه با پایان یافتن پشتیبانی رسمی از نسخه ۵٫۶ چیست؟» قرار داشتند. کال ایوانز مدیر فناوری شرکت Zend Technologies و پدرخوانده جامعه پی‌اچ‌پی در این ارتباط گفت: «تغییرات نسخه ۷ و ۷٫۱ در مقایسه با نسخه‌های ۵٫x زیربنایی و بنیادی نبودند. با وجود این نشان دادند پی‌اچ‌پی به مرحله‌ای از بلوغ، ثبات و پایداری رسیده است، به گونه‌ای که آینده روشنی را پیش روی این زبان می‌توان متصور شد.» کال ایوانز در پاسخ به پرسش دوم که از او سؤال شد، نظرش در رابطه با چهارچوب‌ها چیست، یک جواب صریح و روشن داد. او گفت: «چهارچوب‌ها تنها به این دلیل به وجود آمده‌اند که زندگی راحت‌تری را پیش روی توسعه‌دهندگان قرار دهند. تعدادی از توسعه‌دهندگان به‌دنبال آن نیستند تا در جزئیات غرق شوند، بلکه به‌دنبال آن هستند تا وظیفه محول را به سرانجام برسانند. این تفکر اشتباهی نیست و چهارچوب‌هایی شبیه به Laravel به‌منظور پاسخ‌گویی به نیاز این گروه از توسعه‌دهندگان به وجود آمده‌اند. در اکوسیستم ما، چهارچوب Laravel یک سر و گردن از رقبای خود بالاتر است

 

شناخت مزایای PHP

همانطور که می دانید زبان های برنامه نویسی زیادی مانند asp ، python و… در حوزه طراحی وب فعال هستند. اما زبان برنامه نویسی PHP همواره در میدان رقابت با این زبان های برنامه نویسی پیروز از میدان خارج می شود. از جمله مهمترین مزایای PHP می توان به موراد زیر اشاره کرد:

  • برای طراحی وب ایجاد شده است.

  • متن باز و رایگان است.

  • انجمن بزرگ و فعالی دارد.

  • دامنه کاربرد وسیعی در حوزه وب دارد.

  • از پارادایم های مختلف برنامه نویسی پشتیبانی می کند.

  • مولتی پلتفرم است.

  • مستندات و منابع یادگیری فراوانی دارد.

  • نسبت به سایر زبان های برنامه نویسی فرصت های شغلی بیشتری دارد.

  • تعمیر و نگهداری آن آسان است.

 

متن باز یا Open source به چه معناست؟

ویژگی دیگری که به آن اشاره کردیم ” متن باز یا اپن سورس ” بودن PHP است. متن باز بودن به این معنی است که سورس کد اصلی برنامه در دسترس عموم قرار دارد و برای استفاده از آن سورس کد نیازی به دریافت مجوز و یا صرف هزینه وجود ندارد. این ویژگی باعث می شود که سورس کد اصلی زبان PHP به راحتی در اختیار کاربران و توسعه دهنده های مختلف در سرتاسر جهان قرار گیرد و توسط آن ها بررسی شود و در نهایت ارتقا پیدا کند.

شاید برای شما این موضوع سوال شود که چرا باید برای ما این ویژگی اهمیت داشته باشد؟ ممکن است برای شما متن باز بودن یک زبان بی معنی و بی اهمیت باشد و با خودتان به این شکل فکر کنید که “من فقط می خوام کد بزنم و کارم پیش بره و اهمیتی نمیدم که کد چطوری می خواد اجرا بشه و در پشت پرده این کدها چی می گذره”. اما این نوع دیدگاه برای یک برنامه نویس کاملا اشتباه و به شدت خطرناک است.

متن باز بودن یک زبان از دید برنامه نویس های حرفه ای و با تجربه مزیتی بزرگ محسوب می شود. زیرا در آینده امکان دارد بر اساس نیازهای کاربری مختلف و یا با گسترش پروژه به توسعه زبان برنامه نویسی نیاز پیدا کنند. بهترین مثال برای نشان دادن اهمیت این ویژگی، توسعه زبان PHP توسط فیسبوک است. فیسبوک در ابتدا مبتنی بر زبان PHP طراحی شد اما با توسعه و گسترش آن، تیم برنامه نویسی فیسبوک نیاز پیدا کرد که PHP را توسعه دهد و به این دلیل زبان برنامه نویسی HACK را ایجاد کردند. (  این ویژگی قابلیت مقیاس پذیری بالای زبان برنامه نویسی PHP را نشان می دهد )

 

PHP دارای انجمن توسعه دهنده بزرگ و فعالی است

امروزه دو عامل اصلی پشتیبانی و بروزرسانی نقشی پر رنگ در موفقیت و یا عدم موفقیت یک زبان برنامه نویسی دارند. در دنیای کامپیوتر و اینترنت، هر تکنولوژی باید بتواند ویژگی ها و قابلیت هایی را برای کاربرهای خود فراهم آورد تا بتواند نظر و اعتماد آنان را به خود جلب کند. انجمن بزرگی که زبان برنامه نویسی PHP را پشتیبانی می کند و توسعه می دهد بر این اساس همیشه در تلاش است که کدنویسی با این زبان برنامه نویسی را برای کاربرهای خود ساده تر و لذت بخش تر کند. پشتیبانی عالی و بروزرسانی های زبان PHP یکی از عوامل اصلی محبوبیت این زبان به شمار می آید.

 

 

PHP دامنه کاربرد وسیعی در حوزه وب دارد

در دنیای وب ، زبان برنامه‌ نویسی PHP نقشی کلیدی و اساسی را بازی می کند. بر اساس آمار رسمی سایت W3Techs تا سال ۲۰۱۸ حدود ۸۳٫۱% از سایت های جهان بر پایه PHP راه اندازی شده اند. از طرفی دیگر سیستم های مدیریت محتوایی مانند وردپرس ، جوملا ، دروپال و… با استفاده از زبان PHP ساخته شده اند که در بین آن ها وردپرس به تنهایی ۳۲% از سهم سایت های جهان را شامل می شود. همچنین جالب است که بدانید بر اساس آمار سایت رسمی PHP اعلام شده است که از زبان PHP در بیش از ۲۴۰ میلیون وب سایت تاکنون استفاده شده است.

زبان PHP در توسعه و ایجاد سایت های بزرگی مانند فیسبوک ، ویکی پدیا ، یاهو و… نقش داشته است و صاحب برترین فریمورک های توسـعه وب از جمله لاراول ، سیمفونی ، کد ایگنایتر و… است. این عامل نشان دهنده این است که دامنه کاربرد PHP در حوزه وب بسیار زیاد و فراگیر است. بنابراین با آموزش زبان PHP می توانید ابزارهای مبتنی بر PHP را سریعتر یاد بگیرید و آن ها را با توجه به نیازهای کاربری خود توسعه دهید.

 

PHP مولتی پاردایم است (Multi Paradigm)

یکی دیگر از نقاط قوت زبان PHP مولتی پارادایم بودن است. اما قبل از آن که در مورد مزیت های این ویژگی از زبان PHP صحبت کنیم باید بدانید که پارادایم یعنی چه؟

نکته :

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

 

 

تفاوت شی گرایی با رویه ای

برای مثال برنامه های نوشته شده با زبان PHP می توانند کاملا به صورت رویه ای (Procedural) باشند و یا کاملا منطبق بر روش شی گرایی (Object Oriented) پیاده سازی شوند. نکته قابل توجه در اینجا این است که این دو روش در تضاد کامل با یکدیگر می باشند. البته این امکان وجود دارد که بخشی از یک برنامه به صورت رویه ای نوشته شود و بخش دیگر آن به صورت شی گرا باشد. نحوه  نوشتن و انتخاب پارادایم یا روش برنامه نویسی کاملا بر عهده شما است.

در برنامه نویسی رویه ای عملیات های نوشته شده یک به یک از بالا به پایین و به ترتیب اجرا می شوند تا در نهایت برنامه به صورت کامل اجرا شود. همانطور که در بخش قبل از راهنمای جامع PHP اشاره شده بود، از نسخه ۵ به بعد PHP ویژگی شی گرایی به این زبان اضافه شد. شی گرایی در برنامه نویسی می تواند مشکلات زیادی را برای شما حل کند و باعث ساده تر شدن فرآیند کدنویسی شود.

از آنجایی که مفاهیم شی گرایی به شدت به دنیای واقعی نزدیک است، درک آن برای برنامه نویس آسان خواهد بود. در شی گرایی برخلاف روش رویه ای به جای دست و پنجه نرم کردن با تعداد زیادی متغیر و توابع، مستقیما با اشیا (Objects) کار می کنید.(در ادامه به صورت مفصل به مفاهیم شی گرایی می پردازیم ولی اگر برای یادگیری و بکارگیری شی گرایی عجله دارید می توانید از آموزش مجازی مبانی و مفاهیم شی گرایی سون لرن استفاده کنید)

با کدنویسی به روش شی گرا علاوه بر اینکه مدیریت و نگهداری کدهای شما راحت تر می شود، میزان و زمان کدنویسی هم به مقدار زیادی کاهش خواهد یافت. مزیت دیگری که کدنویسی شی گرا در اختیار شما قرار می دهد این است که شما به راحتی می توانید از کدهای خود که یک بار نوشته اید در پروژه های دیگر استفاده کنید و این قابلیت می تواند به شدت میزان کدنویسی شما را کاهش دهد. پس با شی گرایی می توانید برنامه های بزرگ و سازمانی را بهتر پیاده سازی کنید و درگیر مشکلات و پیچیدگی های برنامه نویسی رویه ای نشوید!

بنابراین با زبان برنامه نویسی PHP شما دیگر محدود به یک روش خاص کدنویسی نمی باشید و می توانید بر اساس نیازهای خود از روش های رویه ای یا شی گرایی به منظور طراحی و توسعه وب سایت و اپلیکیشن استفاده کنید.

 

 

PHP مولتی پلتفرم است

از مزیت های دیگر PHP نوبت می رسد به مولتی پلتفرم یا Cross Platform بودن این زبان که این ویژگی باعث می شود بتوانید PHP را بدون هیچگونه مشکلی روی یک ویندوز سرور، مکینتاش سرور یا لینوکس سرور اجرا کنید. اگر به خاطر داشته باشید در بخش قبلی اشاره شد که نتیجه کدهای PHP به صورت HTML به مرورگر کاربر ارسال می شود.

 

بنابراین اینکه کاربر از چه نوع سیستمی استفاده می کند اهمیتی ندارد و نیازی به نصب هیچگونه افزونه یا نرم افزار اضافه دیگری برای اجرای آن ها نخواهد داشت و داشتن یک مرورگر وب برای آن ها کفایت می کند. بنابراین استفاده از PHP هیچ محدودیتی برای شما و کاربرها اعمال نخواهد کرد.

 

از طرفی دیگر PHP با بیشتر وب سرورهای مطرح دنیا از جمله Apache HTTP Server ، Nginx و… کاملا سازگار است. همچنین PHP از اکثر دیتابیس های معروف پشتیبانی می کند که از بین آن ها می شود به سیستم مدیریت دیتابیس Mysql ، MongoDB ، SQLite و… اشاره کرد.

 

  

تاریخ انتشار : 1399/5/16

تعداد بازدید : 213 اشتراک گذاری در :