کمتر کاربر اینترنت را میتوان یافت که تاکنون با صفحاتی با پسوند PHP برخورد نکرده باشد و البته این پسوند نامی آشنا برای طراحان و برنامهنویسان وب است.
پی اچ پی (PHP) یکی از محبوبترین و رایجترین زبانهای برنامهنویسی برای ایجاد صفحات پویا در وب است و کمتر خواستهای در محیط وب وجود دارد که در PHP قادر به انجام آن نباشیم. از ایجاد یک صفحه ساده برای پردازش اطلاعات فرمها، ارتباط با بانک های اطلاعات، کار با سوکتهای TCP، پردازش فرمتهای PDF و ZIP و حتی تصویر، بخشی از توانایی این زبان است.
پی اچ پی چگونه کار میکند؟
نوشتن یک برنامه پی اچ پی شبیه ایجاد یک صفحه HTML است، تنها با این تفاوت که کدهای این زبان در داخل صفحات و دربین کدهای HTML درج میشود و البته طبیعی است که یک فایل پی اچ پی میتواند تنها شامل کدهای PHP باشد. با توجه به این که PHP یک زبان طرف سرویسدهنده است، برای اجرا، اسکریپتهای آن باید آنها را به کامپیوتر سرویسدهنده وب (مانند سیستم Windows 2000 و نرمافزار IIS) انتقال دهیم و حالا با تایپ نام فایل آن در گردشگر اینترنت میتوانیم آنرا اجرا و خروجی احتمالی را مشاهده کنیم.
طبیعی است که در سمت سرویسگیرنده (کاربر سایت) امکان مشاهده کدها وجود ندارد. پس از درخواست برای اجرای یک اسکریپت PHP فایل حاوی کدهای PHP به برنامه مفسر PHP انتقال داده شده (معمولا php.exe) و این برنامه بعد از تفسیر و اجرای اسکریپت، نتیجه را به سمت کاربر میفرستد.
از آنجا که آموزش این زبان در این مقاله نمیگنجد، بنابراین در ادامه نگاهی به تاریخچه، مزایا و احتمالا معایب آن خواهیم داشت.
تاریخچه
پی اچ پی در سال 1994 توسط راسموس لردرف Rasmus Lerdorf و برای استفاده شخصیاش ایجاد شد. او بعدها و در سال 1995 نسخه حرفهایتر از مفسر زبان PHP به نام Version 2 PHP/FI را عرضه کرد، و در سال 97 تعداد سایتهایی که از PHP استفاده میکردند به بیش از 50000 رسید و امروزه نیز میلیونها سایت از آن استفاده میکنند. سایتهای مشهوری چون Alltheweb و mamma از این زبان استفاده میکنند و حتی Yahoo نیز در حال شروع استفاده از این زبان برای توسعه وب سایتهای خود است.
پی اچ پی زبانی برای همه سیستم عاملها
یکی از برترین مزایای زبان PHP سازگاری آن با اکثر سیستم عاملها و نرمافزارهای وب سرور (مانند IIS و Apache) است. برخی از دیگر زبانها و تکنولوژیها مانند ASP محدود به سیستم عامل Windows است و پشتیبانی از آن در دیگر سیستم عاملها بسیار پرهزینه و محدود است، و برخی نیز مانند JSP مشکلاتی با برخی نرمافزارهای وب سرور دارد.
ساختار و امکانات پی اچ پی به شکل مستقل از سیستم عامل شکل گرفته است و این بدان معنا است که به طور مثال برنامهنویس میتواند اسکریپت خود را تحت سیستم عامل ویندوز نوشته و تست کند و سپس آنرا بدون تغییر به سیستم عامل یونیکس یا لینوکس انتقال دهد.
در PHP امکان استفاده از برخی از امکانات خاص سیستم عاملهای مشهور نیز در نظر گرفته است که برای نمونه میتوان از پشتیبانی تکنولوژی DCOM و یا Windows API نام برد. نسخههای جدید مفسر PHP سازگار با دیگر تکنولوژیهای خاص وب سرورها مانند ISAPI نیز میباشد.
پی اچ پی رایگان و Open Source
تهیه برنامه مفسر PHP برای همه سیستم عاملها رایگان است و علاقهمندان میتوانند آخرین نسخه مفسر این زبان را از سایت رسمی PHP بارگذاری (Download) کند. همچنین امکان تهیه رایگان سورس مفسر پی اچ پی نیز فراهم است، و این مسئله علاوه بر این که در گسترش امکانات این زبان بسیار موثر بوده است، مزیتی برای شرکتها و توسعهدهندگان برای انتخاب این زبان است چرا که پشتیبانی و اعتماد به آن را راحتتر کرده است.
بسیاری از ویرایشگرهای حرفهای این زبان نیز یا رایگان هستند و یا با هزینه بسیار کم میتوان آنها را تهیه کرد، در حالی که دیگر تکنولوژیها، مثلاً تهیه پلاتفورمهای جاوا هزینه هنگفتی دارد و همچنین کار حرفهای با تکنولوژی .NET نیز نیاز به تهیه Visual Studio.NET و پرداخت هزینه چند صد دلاری است.
سرعت بالای تفسیر و اجرای PHP
پی اچ پی یکی از سریعترین زبانها در نوع خود است. تفسیر و اجرای یک اسکریپ php به طور متوسط تا سه و چهار برابر یک اسکریپ ASP است. (البته باید در نظر داشته باشیم که IIS با Cach اسکریپتهای ASP سرعت اجرای آنها را در دفعات بعد بالا میبرد) همچنین در ASP استفاده زیادی از اشیا COM میشود که باعث کاهش سرعت و مصرف منابع سیستم میشود در حالی که در PHP بسیاری از امکانات و حتی برقراری ارتباط با یکی از محبوبترین نرمافزارهای مدیریت بانکهای اطلاعاتی یعنی MySQL به صورت توکار نهاده شده است.
شرکت Zend که تهیه کننده فعلی موتور مفسر و پشتیبانی کننده آن است، محصولات دیگری را نیز در جهت بهینه کردن سرعت اجرای PHP ارائه کرده است. این محصولات با افزایش سرعت تفسیر و همچنین ذخیره کردن نتیجه تفسیر (Cash) باعث افزایش چندین برابر اجرای آن میشوند.
ساختار مناسب و امکانات بالا در PHP
همان طور که در ابتدای مقاله اشاره شد، کمتر نیازی در برنامهنویسی تحت وب وجود دارد که در PHP امکان رفع آن نباشد. پی اچ پی شامل کتابخانهای غنی از توابعی است که امکان پردازش اطلاعات فرمها، کار با بانکهای اطلاعاتی، فایلهای متنی و باینری، فایلهای گرافیکی، PDF، ZIP و پروتکلهایTCP ،FTP ، DNS ،SMTP و ... را برای برنامهنویس فراهم میکند، این را مقایسه کنید با ASP که به طور مستقل امکان Upload File، ارسال ایمیل یا کار با فایلهای باینری را ندارد.
همچنین PHP یکی از بهترین پشتیبانیها را از نرمافزارهای بانک اطلاعات دارد.MySQL ,SQL Server ,dBase, Oracle ,IBM DB2 ,PostgreSQL ,InterBase و بسیاری از نرمافزارهای دیگر در پی اچ پی قابل استفاده هستند و البته امکان کار با ODBC و COM برای استفاده از بانکهای Ms-Access و دیگرمحصولات نیز هست.
قدرت زبان پی اچ پی تنها در کتابخانه توابع آن نیست، پشتیبانی بسیار خوب از برنامهنویسی شیءگرا (OOP) و کار آسان و سریع با متغیرها از مزایای دورنی این زبان است.
معایب
حال که از حسن PHP گفتیم، بد نیست اشارهای نیز به برخی معایب آن داشته باشیم:
نحو (syntax) زبان PHP بسیار شبیه زبان C++ و Perl است. این اگر چه باعث استقبال از این زبان توسط برنامهنویسان C و یا Perl شد، اما این نحو برای بسیاری از طراحان صفحات وب چندان آسان نیست و بسیاری معتقد هستند که تکنولوژی ASP و زبان VB آسانتر و قابل درکتر است و همچنین JSP و زبان جاوا نیز به دلیل محبوبیت و ساختار قدرتمند آن مورد توجه است.
یک اشکال دیگر PHP عدم پشتیبانی خوب آن از یونیکد و به خصوص زبان فارسی است، حتی آخرین نسخههای این زبان نیز امکان سورت (Sort) صحیح متون فارسی را ندارد. البته این اشکال با کامپایل مجدد یا کمی برنامهنویسی قابل حل است.
از کجا شروع کنیم ؟
تقریبا میتوان گفت اگر دارای هر سیستم عاملی هستید، میتوانید استفاده و کار با این زبان را شروع کنید؛ تنها کافی است به سایت رسمی زبان PHP به آدرس http://www.php.net بروید و نسخه مفسر این زبان را با توجه به سیستم عامل خود بارگذاری (Download) کنید. راهنما و مرجع دستورات و توابع این زبان در همین سایت قراردارد.
همچنین سایت http://www.IranPHP.net (که به همت آقای هاشمی به زبان فارسی ایجاد شده است) میتواند مکانی مناسب برای حل مشکلات و تماس با دیگر برنامهنویسان PHP باشد.
منبع: دنیای کامپیوتر و ارتباطات
لیست کل یادداشت های وبلاگ
جستجو در وبلاگ
عضویت در خبرنامه وبلاگ
آمار بازدیدکنندگان