دنیای عجیبی است که تکنولوژی های مربوط به آن تار جهان گستر World Wide Web اغلب بدون پشتیبانی کافی عرضه می شوند و کاربران این تکنولوژی همه روزه با واژگان جدیدی بر خورد میکنند که باعث سر در گمی آنها می شوند. برای نمونه میتوان به رشد نرم افزارهای open source اشاره کرد که عبارتند از:
برنامه های که بتوان آنها را گسترش داد و یا تغییراتی در ساختار آنها ایجاد کرد
متداول ترین این برنامه ها سیستم عامل Unix و به طور خاص Linux می باشد. این برنامه ها با وجود ثبات و پایداری، دارای یک مشکل بزرگ است و آن دشوار بودن آموختن این برنامه ها می باشد. کمبود راهنماهایی که به زبان ساده این برنامه ها را به مبتدیان آموزش دهد باعث شده است که این دسته از نرم افزار ها از جایگاه واقعی خود دور نگاه داشته شوند. PHP یکی از زبانهای اسکریپتی open source است و ابزار مفیدی می باشد که تا کنون علی رغم سادگی استفاده از آن هنوز به صورت شایسته ای از آن استقبال نشده است.
PHP چیست ؟
PHP سال 1994 توسط Rasmus Lerdorf ایجاد شد و مخفف واژگان Personal Home Pages به حساب می آید. با گسترش قابلیت ها و موارد استفاده این زبان PHP در معنای Hypertext Preprocessor به کار گرفته شد. عبارت پیش پردازشگر (Preprocessor) بدین معنی است که PHP اطلاعات را قبل از تبدیل به زبان Html پردازش می کند.
مطابق مطالب سایت وب رسمی PHP که در آدرس http://www.php.net قرار دارد، PHP زبان اسکریپتی سمت سرویس دهنده Html Embeded , Cross-Platform ,(Server-side) می باشد.
سمت سرویس دهنده بودن PHP بدین معناست که تمام پردازشهای این زبان بر روی سرویس دهنده (Server) انجام می گیرد. یک سرویس دهنده در حقیقت یک کامپیوتر مخصوص می باشد که صفحات وب در آنجا نگهداری می شوند و از آنجا به مرورگر وب کاربران منتقل می شوند.
چگونگی ادامه این روند را در درس های آتی توضیح داده خواهد شد.
منظور از Cross-Platform بودن این زبان این است که بروی هر سیستم و با هر سیستم عاملی از قبیل : Unix, Windows NT, Macintosh, Os/2 اجرا میشوند. توجه کنید که منظور از سیستم عامل، سیستم عامل هایی می باشند که بر روی سرویس دهنده نصب می شوند. PHP نه تنها قابلیت اجرا بر روی هر سیستم عاملی را دارا می باشد بلکه برای منتقل کردن برنامه های آن از یک سیستم عامل به سیستم عامل دیگر احتیاج به تغییرات اندکی خواهید داشت و حتی در بعضی از موارد بدون احتیاج به هیچ تغییری می توانید یک برنامه به زبان php را از یک سیستم عامل به سیستم عامل دیگر منتقل کنید.
منظور از Html embeded بودن PHP این است که دستورات این زبان در بین کدهای html قرار می گیرند. بنابراین برنامه نویسی به زبان PHP کمی پیچیده تر از برنامه نویسی به زبان Html به حساب می آید.
PHP بر خلاف زبانهای برنامه نویسی (Programming Languages) یک زبان اسکریپتی (Scripting Language) می باشد به عبارت دیگر دستورات PHP بعد از رخداد یک رویداد (Event) اجرا می شوند. این رویدادها می توانند شامل ارسال یک فرم رفتن به یک URL مشخص و یا مواد دیگر باشند متداولترین زبان اسکریپتی زبان Java Script می باشد که معمولا برای پاسخ به رویدادهای کاربر در مرورگر وب به کار می رود تفاوت عمده Java Script با PHP در این است که Java Script یک تکنولوژی سمت سرویس گیرنده (Client-side) می باشد.
زبان هایی مانند Java Script یا PHP تفسیر شونده (Interpreted) نامیده میشوند. به عبارت دیگر برای اجرا به یک مفسر مانند مرورگر وب احتیاج دارند. اما زبانهای برنامه نویسی مانند C یا Java بعد از ترجمه به زبان ماشین (Compile) به خودی خود قابل اجرا می باشند.جدیدترین نسخه PHP نسخه 4 این زبان اسکریپتی می باشد و کلیه فایل ها و کدهایی که توی این وبلاگ ارائه میشه تحت این نسخه کار میکنند. اما یک مشکل هست که اکثر سرویس دهنده ها از نسخه 3 استفاده میکنند. تفاوت این دو نسخه PHP بسیار اندک هست و تغییرات مهم عموما در مسیر اصلاح عملکرد این زبان صورت گرفته شده است.
چرا PHP ؟
اولین چیزی که می خواهم در موردش توضیح دهم این است که به چه علتی ما از PHP استفاده می کنیم؟ PHP در مقایسه با تکنولوژی های مشابه سریعتر بهتر و آسانتر است. از جمله تکنولوژی های مشابه برای طراحی یک سایت وب می توان به این موارد اشاره کرد :اسکریپت های Common Gateway interface) CGI) که معمولا به زبان Perl نوشته می شوند و ASP . مزیتی که PHP در مقابل HTML دارد این است که HTML یک سیستم حدود به حساب می آید و توانایی ایجاد ارتباط متقابل با کاربر را ندارد. یک صفحه HTML ساده توانایی پاسخ به اعمال کاربر را ندارد اما با استفاده از PHP شما میتوانید صفحاتی بر اساس سیستم عامل کاربر و یا تاریخ مشاهده صفحه تنظیم کنید . همچنین PHP می تواند با فایل ها یا پایگاههای داده (DataBase) ارتباط بر قرار کند و بسیاری عملیات دیگر که HTML قادر به انجام به آنها نمی باشد.
شاید یک سوال برای شما به وجود بیاد که چرا یک طراح وب بهتر است که از زبان PHP به جای زبانهای مانند CGI و ASP و یا JSP برای طراحی سایت دینامیک استفاده کند؟