11-26-2011، 06:54 PM
درود
میخوام در این تایپک اموزش قدم به قدم PHP رو بدم خودم هم در حال یادگیری هستم و تمرین کردن چیزهای که یاد میگیرم رو در این تایپک میزارم.
خوب این PHP چیست و چه جایگاهی داره
یه نگاه قدرت زبان محبوب PHP و تاریخ ان میکنیم.
كمتر كاربر اينترنت را میتوان يافت كه تاكنون با صفحاتی با پسوند PHP برخورد نكرده باشد و البته اين پسوند نامی آشنا برای طراحان و برنامهنويسان وب است.
پی اچ پی (PHP) يكی از محبوبترين و رايجترين زبانهای برنامهنويسی برای ايجاد صفحات پويا در وب است و كمتر خواستهای در محيط وب وجود دارد كه در PHP قادر به انجام آن نباشيم. از ايجاد يك صفحه ساده برای پردازش اطلاعات فرمها، ارتباط با بانكهای اطلاعات، كار با سوكتهای TCP، پردازش فرمتهای PDFوZIP و حتی تصوير بخشی از توانايی اين زبان است.
پی اچ پی چگونه كار میكند؟
نوشتن يك برنامه پی اچ پی شبيه ايجاد يك صفحه HTML است و تنها با اين تفاوت كه كدهای اين زبان در داخل صفحات و دربين كدهای HTML درج میشود و البته طبيعی است كه يك فايل پی اچ پی میتواند تنها شامل كدهای PHP باشد.با توجه به اين كه PHP يك زبان طرف سرويسدهنده است، و بنابراين برای اجرا، اسكريپتهای آن بايد آنها را به كامپيوتر سرويسدهنده وب (مانند سيستم Windows 2000 و نرمافزار IIS) انتقال دهيم و حالا با تايپ نام فايل آن در گردشگر اينترنت میتوانيم آنرا اجرا و خروجی احتمالی را مشاهده كنيم.
طبيعی است كه در سمت سرويسگيرنده (كاربر سايت)امكان مشاهده كدها وجود ندارد.
پس از درخواست برای اجرای يك اسكريپت PHP فايل حاوی كدهای PHP به برنامه مفسر PHP انتقال داده شده(معمولا php.exe) و اين برنامه بعد از تفسير واجرای اسكريپت ،نتيجه را به سمت كاربر میفرستد.
در زير نمونهای از يك اسكريت ساده PHP درج شده است. اين برنامه پيغام ارسالی توسط كاربر را میگيرد (اين پارامتر میتواند توسط يك فرم يا در نوار آدرس گردشگر اينترنت تايپ شود) و آن را در قالب HTML برای كاربر ارسال میكند.
كد HTML
اسكريت PHP كه در سمت سرويس دهنده اجرا میشود
تاريخچه
پی اچ پی در سال 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,mSql,dBase,Oracle,IBM DB2,PostgreSQL,InterBase و بسياری از نرمافزارهای ديگر در پی اچ پی قابل استفاده هستند و البته امكان كار با ODBC و COM برا ی استفاده از بانكهای Ms Access و ديگرمحصولات نيز هست.
قدرت زبان پی اچ پی تنها در كتابخانه توابع آن نيست، پشتيبانی بسيار خوب از برنامهنويسی شیءگرا (OOP) و كار آسان و سريع با متغيرها از مزايای دورنی اين زبان است.
معايب
حال كه از حسن PHP گفتيم، بد نيست اشارهای نيز به برخی معايب آن داشته باشيم.
نحو (syntax) زبان PHP بسيار شبيه زبان C++ و Perl است. اين اگر چه باعث استقبال از اين زبان توسط برنامهنويسان C و يا Perl شد، اما اين نحو برای بسياری از طراحان صفحات وب چندان آسان نيست و بسياری معتقد هستند كه تكنولوژی ASP و زبان VBScript آسانتر و قابل دركتر است و همچنين JSP و زبان جاوا نيز به دليل محبوبيت و ساختار قدرتمند آن مورد توجه است.
يك اشكال ديگر PHP عدم پشتيبانی خوب آن از يونيكد و به خصوص زبان فارسی است، حتی آخرين نسخههای اين زبان نيز امكان سورت(Sort) صحيح متون فارسی را ندارد. البته اين اشكال با كامپايل مجدد يا كمی برنامهنويسی قابل حل است.
میخوام در این تایپک اموزش قدم به قدم PHP رو بدم خودم هم در حال یادگیری هستم و تمرین کردن چیزهای که یاد میگیرم رو در این تایپک میزارم.
خوب این PHP چیست و چه جایگاهی داره
یه نگاه قدرت زبان محبوب PHP و تاریخ ان میکنیم.
كمتر كاربر اينترنت را میتوان يافت كه تاكنون با صفحاتی با پسوند PHP برخورد نكرده باشد و البته اين پسوند نامی آشنا برای طراحان و برنامهنويسان وب است.
پی اچ پی (PHP) يكی از محبوبترين و رايجترين زبانهای برنامهنويسی برای ايجاد صفحات پويا در وب است و كمتر خواستهای در محيط وب وجود دارد كه در PHP قادر به انجام آن نباشيم. از ايجاد يك صفحه ساده برای پردازش اطلاعات فرمها، ارتباط با بانكهای اطلاعات، كار با سوكتهای TCP، پردازش فرمتهای PDFوZIP و حتی تصوير بخشی از توانايی اين زبان است.
پی اچ پی چگونه كار میكند؟
نوشتن يك برنامه پی اچ پی شبيه ايجاد يك صفحه HTML است و تنها با اين تفاوت كه كدهای اين زبان در داخل صفحات و دربين كدهای HTML درج میشود و البته طبيعی است كه يك فايل پی اچ پی میتواند تنها شامل كدهای PHP باشد.با توجه به اين كه PHP يك زبان طرف سرويسدهنده است، و بنابراين برای اجرا، اسكريپتهای آن بايد آنها را به كامپيوتر سرويسدهنده وب (مانند سيستم Windows 2000 و نرمافزار IIS) انتقال دهيم و حالا با تايپ نام فايل آن در گردشگر اينترنت میتوانيم آنرا اجرا و خروجی احتمالی را مشاهده كنيم.
طبيعی است كه در سمت سرويسگيرنده (كاربر سايت)امكان مشاهده كدها وجود ندارد.
پس از درخواست برای اجرای يك اسكريپت PHP فايل حاوی كدهای PHP به برنامه مفسر PHP انتقال داده شده(معمولا php.exe) و اين برنامه بعد از تفسير واجرای اسكريپت ،نتيجه را به سمت كاربر میفرستد.
در زير نمونهای از يك اسكريت ساده PHP درج شده است. اين برنامه پيغام ارسالی توسط كاربر را میگيرد (اين پارامتر میتواند توسط يك فرم يا در نوار آدرس گردشگر اينترنت تايپ شود) و آن را در قالب HTML برای كاربر ارسال میكند.
كد HTML
کد:
<HTML>
<BODY>
hello
</BODY>
</HTML>
اسكريت PHP كه در سمت سرويس دهنده اجرا میشود
کد:
<HTML>
<BODY>
<?php
echo $_GET['message'];?>
</BODY>
</HTML>
تاريخچه
پی اچ پی در سال 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,mSql,dBase,Oracle,IBM DB2,PostgreSQL,InterBase و بسياری از نرمافزارهای ديگر در پی اچ پی قابل استفاده هستند و البته امكان كار با ODBC و COM برا ی استفاده از بانكهای Ms Access و ديگرمحصولات نيز هست.
قدرت زبان پی اچ پی تنها در كتابخانه توابع آن نيست، پشتيبانی بسيار خوب از برنامهنويسی شیءگرا (OOP) و كار آسان و سريع با متغيرها از مزايای دورنی اين زبان است.
معايب
حال كه از حسن PHP گفتيم، بد نيست اشارهای نيز به برخی معايب آن داشته باشيم.
نحو (syntax) زبان PHP بسيار شبيه زبان C++ و Perl است. اين اگر چه باعث استقبال از اين زبان توسط برنامهنويسان C و يا Perl شد، اما اين نحو برای بسياری از طراحان صفحات وب چندان آسان نيست و بسياری معتقد هستند كه تكنولوژی ASP و زبان VBScript آسانتر و قابل دركتر است و همچنين JSP و زبان جاوا نيز به دليل محبوبيت و ساختار قدرتمند آن مورد توجه است.
يك اشكال ديگر PHP عدم پشتيبانی خوب آن از يونيكد و به خصوص زبان فارسی است، حتی آخرين نسخههای اين زبان نيز امكان سورت(Sort) صحيح متون فارسی را ندارد. البته اين اشكال با كامپايل مجدد يا كمی برنامهنويسی قابل حل است.