تاریخچه
کمتر کاربر اینترنت را میتوان یافت که تاکنون با صفحاتی با پسوندPHP برخورد نکرده باشد و البته این پسوند نامی آشنا برای طراحان و برنامه نویسان وب است.
پی اچ پی (PHP) یکی از محبوبترین و رایجترین زبان های برنامه نویسی برای ایجاد صفحات پویا در وب است و کمتر خواستهای در محیط وب وجود دارد که در PHP قادر به انجام آن نباشیم. از ایجاد یک صفحه ساده برای پردازش اطلاعات فرمها، ارتباط با بانکهای اطلاعات، کار با سوکتهای TCP، پردازش فرمتهای PDF وZIP و حتی تصویر بخشی از توانایی این زبان است.
PHP در سال 1994 توسط Lerdorf Rasmus و برای استفاده شخصیاش ایجاد شد. او بعدها و در سال 1995 نسخه حرفهایتر از مفسر زبان PHP به نام Version 2 PHP/FI را عرضه کرد، و در سال 97 تعداد سایتهایی که از PHP استفاده میکردند به بیش از 50000 رسید و امرازه نیز میلیونها سایت از آن استفاده میکنند.
سایتهای مشهوری چون Alltheweb و mamma از این زبان استفاده میکنند و حتی Yahoo نیز در حال استفاده از این زبان برای توسعه وب سایتهای خود است.
PHP زبانی برای سیستم عامل ها
یکی از برترین مزایای زبان PHP سازگاری آن با اکثر سیستم عاملها و نرمافزارهای وب سرار (مانند IIS و Apache) است. برخی از دیگر زبانها و تکنولوژیها مانند ASP محدود به سیستم عامل windows است و پشتیبانی از آن در دیگر سیستم عاملها بسیار پر هزینه و محدود است، و برخی نیز مانند JSP مشکلاتی با برخی نرمافزارهای وب سرار دارد. ساختار و امکانات PHP به شکل مستقل از سیستم عامل شکل گرفته است و این بدان معنا است که به طور مثال برنامهنویس میتواند اسکریپت خود را تحت سیستم عامل ویندوز نوشته و تست کند و سپس آنرا بدون تغییر به سیستم عامل یونیکس یا لینوکس انتقال دهد. درPHP امکان استفاده از برخی از امکانات خاص سیستم عاملهای مشهور نیز در نظر گرفته است که برای نمونه میتوان از پشتیبانی از تکنولوژی DCOM و یا Windows API نام برد. نسخههای جدید مفسر PHP سازگار با دیگر تکنولوژیهای خاص وبسرارها مانند ISAPI نیز میباشد.
PHP رایگان و Open Source
تهیه برنامه مفسر PHP برای همه سیستم عاملها رایگان است و علاقهمندان میتوانند آخرین نسخه مفسر این زبان را از سایت رسمی PHP بارگذاری (Download) کند.
همچنین امکان تهیه رایگان سورس مفسر PHPنیز فراهم است ، و این مسئله علاوه بر این که در گسترش امکانات این زبان بسیار موثر بوده است، مزیتی برای شرکتها و توسعه دهندگان برای انتخاب این زبان است چرا که پشتیبانی و اعتماد به آن را راحتتر کرده است. بسیاری از ویرایشگرهای حرفهای این زبان نیز یا رایگان هستند و یا با هزینه بسیار کم میتوان آنها را تهیه کرد، در حالی که دیگر تکنولوژیها، مثلاً تهیه پلات فرمهای جاوا هزینه هنگفتی دارد و همچنین کار حرفهای با تکنولوژی .NET نیز نیاز به تهیه Visual Studio.NET و پرداخت هزینه چند صد دلاری است.
سرعت بالای تفسیر و اجرای PHP یکی از سریعترین زبانها در نوع خود است. تفسیر و اجرای یک اسکریپ php به طور متوسط تا سه و چهار برابر یک اسکریپ ASP است. (البته باید در نظر داشته باشیم که IIS با Cach اسکریپتهای ASP سرعت اجرای آنها را در دفعات بعد بالا میبرد) همچنین در ASP استفاده زیادی از اشیا COM میشود که باعث کاهش سرعت و مصرف منابع سیستم میشود در حالی که در PHP بسیاری از امکانات و حتی برقراری ارتباط با یکی محبوبترین نرمافزار مدیریت بانکهای اطلاعاتی mySql به صورت توکار نهاده شده است. شرکت Zend که تهیه کننده فعلی موتور مفسر و پشتیبانی کننده آن است، محصولات دیگری را نیز در جهت بهینه کردن سرعت اجرای PHP ارائه کرده است این محصولات با افزایش سرعت تفسیر و همچنین ذخیره کردن نتیجه تفسیر (Cash) باعث افزایش چندین برابر اجرای آن میشوند. ساختار مناسب و امکانات بالا در PHP همان طور که در ابتدای مقاله اشاره شد، کمتری نیازی در برنامهنویسی تحت وب وجود دارد که در PHP امکان رفع آن نباشد. PHP شامل کتابخانهای غنی از توابعی است که امکان پردازش اطلاعات فرمها، کار با بانکهای اطلاعاتی، فایلهای متنی و باینری، فایلهای گرافیکی، PDF، ZIP و پراتکلهای TCP، FTP، DNS،SMTP و ... را برای برنامهنویس فراهم میکند، این را مقایسه کنید با ASP که به طور مستقل امکان Upload File ، ارسال ایمیل یا کار با فایلهای باینری را ندارد. همچنین PHP یکی ازبهترین پشتیبانیها را از نرمافزارهای بانک اطلاعات دارد. mySql , SqlServer , mSql , dBase, Oracle , IBMDB2, PostgreSQL , InterBase و بسیاری از نرمافزارهای دیگر در PHP قابل استفاده هستند و البته امکان کار با ODBC و COM برا ی استفاده از بانکهای Ms Access و دیگر محصولات نیز هست. قدرت زبان PHP تنها در کتابخانه توابع آن نیست، پشتیبانی بسیار خوب از برنامهنویسی شیءگرا (OOP) و کار آسان و سریع با متغیرها از مزایای دورنی این زبان است.
معایب PHP
حال که از حسن PHP گفتیم، بد نیست اشارهای نیز به برخی معایب آن داشته باشیم. نحو (syntax) زبان PHP بسیار شبیه زبان C++ و Perl است. این اگر چه باعث استقبال از این زبان توسط برنامهنویسان C و یا Perl شد، اما این نحو برای بسیاری از طراحان صفحات وب چندان آسان نیست و بسیاری معتقد هستند که تکنولوژی ASP و زبان VBScript آسانتر و قابل درک تراست و همچنین JSP و زبان جاوا نیز به دلیل محبوبیت و ساختار قدرتمند آن مورد توجه است. یک اشکال دیگر PHP عدم پشتیبانی خوب آن از یونیکد و به خصوص زبان فارسی است، حتی آخرین نسخههای این زبان نیز امکان سورت(Sort) صحیح متون فارسی را ندارد. البته این اشکال با کامپایل مجدد یا کمی برنامهنویسی قابل حل است. از کجا شراع کنیم؟ تقریبا میتوان گفت اگر دارای هر سیستم عاملی هستید میتوانید استفاده و کار با این زبان را شراع کنید؛ تنها کافی است به سایت رسمی زبان PHP به آدرس http://www.php.net براید، و نسخه مفسر این زبان را با توجه به سیستم عامل خود بارگذاری (Download) کنید. راهنما و مرجع دستورات و توابع این زبان در همین سایت قراردارد. همچنین سایت http://www.IranPHP.net میتواند مکانی مناسب برای حل مشکلات و تماس با دیگر برنامهنویسان PHP باشد.
نصب PHP (نصب بررای windows 2000 server)
نصب Apache وPHP بررای یک سرایس دهندۀ windows به علت محیط کار گرافیکی، ساده تر از نصب بر رای Linux می باشد. همچنین شما لازم نیست که حتماً مدیر سرایس دهنده باشید.
شما میتوانید PHP را بر رای هر یک از ویندوزهای 95,98,ME,NT و یا 2000 نصب کنید. برای این کارباید فایلهای مورد نیاز را ازسایتهای php وApache بارگذاری کنید. همچنین برای نصب ساده تر، فایلهای php مخصوص windows نیز موجود است.
برای نصب Apache وPHP
1- جدیدترین و با ثبات ترین نسخه های php وApache را در کامپیوتر خود بارگذاری کنید.
2- PHP را بر رای یک شاخه مناسب (مانند c:\php) باز کنید(unzip) . برای این منظور شما احتیاج به یک نرم افزار برای باز کردن فایلهای فشرده شده (zip) دارید.
3- برای نصب Apache، برنامه نصب آنرا اجراکنید.
4- فایل php.ini-distرا از شاخه php به شاخه سیستم (مانندc:\windows) کپی کنید و نام آنرا بهphp.ini تغییر دهید.
5- برنامه Apache را اجراء کنید.
ساده ترین راه برای این منظور استفاده از منوی Start > Programs > Apache WebServer > Start Apache می باشد.
6- با استفاده از مرارگر ِوب خودApache و PHP را آزمایش کنید.
ساده ترین راه برای این منظور، تایپ آدرسhttp://Localhost/ در مرورگر خود می باشد. همچنین شما می توانید از فایل test.php نیز برای آزمایش نصب موفق PHP استفاده کنید.
نکته: همچنین می توانید php را بر رای سرویس دهنده های دیگر وب، مانند IIS نیز اجراء کنید.
پیکربندی
با وجود اینکه بهتر است در هنگام نصب، پیکربندیphp را نیز انجام دهید، اما شما می توانید بعد از نصب نیز بعضی از پارامتر را تغییر دهید. فایل php.ini حاوی پارامترهایی برای چگونگی عملکرد php می باشد، شما می توانید با ویرایش این پارامترها و راه اندازی مجدد برنامه کاربردی سرایس دهندۀ ِوب خود، این پارامترها را تغییر دهید. اگر شما بعد از تغییر این فایل با مشکلی مواجه شدید، می توانید مجدداً عملیات کپی کردن فایل php.ini-dist و تغییر نام آن به php.ini را انجام دهید.
برای اینکه php بتواند پایگاههای داده را پشتیبانی کند، از mcrypt () استفاده کند و یا موارد دیگر، شما باید کتابخانه ها و بسته های دیگری نیز بارگذاری کنید. بعد از بارگذاری، شما باید مکان این کتابخانه ها یا بسته ها را در فایل php.ini مشخص کنید برای توضیحات بیشتر به « راهنمای php » مراجعه کنید.
تعریف از PHP
در یک کلام: « PHP یک زبان برنامه نویسی اسکریپتی(script language ) مثل perl، قابل جاسازی یا تلفیق ( embedding ) در کدهای HTML (مثل جاوا اسکریپت) ، قابل اجرا بر روی سیستمهای مختلف مثل لینوکس و ویندوز، با کابردهای وسیع برای برنامه نویسی پیشرفته در وب است.»
درضمن Server-side هم هست یعنی مثل ASP رای سرار اجرا و خراجی آن بصورت یک فایل HTML تحویل شما می شود بر خلاف JavaScript که Client-Side است. پس لازم نیست مرارگر خاصیت اضافه ای داشته باشد.
اگر چه PHP syntax خودش را از C قرض! گرفته، اما C++ و Perl و Java هم از عنایت ایشون بی نصیب نمونده اند. شما اگر C بلدید می توانید تا آن کار کنید.
PHPو بانک اطلاعاتی
از آنجائیکه برنامه نویسی حرفه ای بدون بانک اطلاعاتی ( database ) نمی شود، PHP هم با خیلی از بانک های اطلاعاتی رابطه دارد. مثلاAdabas D, Ingres, Oracle (OCI7 and OCI8), dBase, InterBase, Ovrimos Empress FrontBase, PostgreSQL , FilePro (read-only), mSQL, Solid, Hyperwave, Direct MS-SQL, Sybase, IBM DB2, MySQL, Velocis, Informix, ODBC, Unix dbm .
بغیر از بانکهای اطلاعاتی، PHP کارهای زیر را مثل آب خوردن انجام میدهد:
ساخت و پرداخت تصاویر، کارهای امنیتی، کار با کوکی ها، آپ.لود فایل، پردازش XML و هزارتا + یک کار دیگر.
چگونگی عملکرد PHP
نوشتن یک برنامه PHP شبیه ایجاد یک صفحه HTML است و تنها با این تفاوت که کدهای این زبان در داخل صفحات و در بین کدهای HTML درج میشود و البته طبیعی است که یک فایل PHP میتواند تنها شامل کدهای PHP باشد. با توجه به این که PHP یک زبان طرف سرایس دهنده است، و بنابراین برای اجرا، اسکریپتهای آن باید آنها را به کامپیوتر سرایس دهنده وب (مانند سیستم Windows 2000 و نرمافزار IIS) انتقال دهیم و حالا با تایپ نام فایل آن در گردشگر اینترنت میتوانیم آنرا اجرا و خراجی احتمالی را مشاهده کنیم. طبیعی است که در سمت سرایسگیرنده (کاربر سایت) امکان مشاهده کدها وجود ندارد. پس از درخواست برای اجرای یک اسکریپت PHP فایل حاوی کدهای PHP به برنامه مفسر PHP انتقال داده شده (معمولا php.exe) و این برنامه بعد از تفسیر و اجرای اسکریپت، نتیجه را به سمت کاربر میفرستد. در زیر نمونهای از یک اسکریت ساده PHP درج شده است.
این برنامه پیغام ارسالی توسط کاربر را میگیرد (این پارامتر میتواند توسط یک فرم یا در نوار آدرس گردشگر اینترنت تایپ شود) و آن را در قالب HTML برای کاربر ارسال میکند. کد HTML نتیجه حاصل که کاربرامکان مشاهد آنرا دارد:
http://www.mysite.com/test.php?message=hello اسکریت PHP که در سمت سرویس دهنده اجرا میشود از آنجا که آموزش این زبان در این پروژه نمیگنجد، بنابراین در ادامه نگاهی به تاریخچه ، مزایا و احتمالا معایب آن خواهیم داشت.
نحوه استفاده
به راحتی! هرجا که خواستید، دستور مورد نظر را بین دو تا علامت "" و "?>" میذارید .
اینطوری: echo "This is a test"; ?> مدلهای دیگری هم هست، ولی همین بهتره. البته کافی است یکبار از یکی از دستورات PHPدران یک فایل HTML استفاده کرد، تا توانست برای همیشه فایل را به ".php" تغییر نوع دهید، تا بتواند رای سرار اجرا شود مگر اینکه...
یک مثال:
< html>
< body>
echo " farsi neveshtam!"; ?>