نوشته شده توسط Administrator    يكشنبه ، 1 آذر 1388 ، 06:00    مشاهده در قالب پی دی اف چاپ فرستادن به ایمیل
مقدمه ای بر PHP و مقایسه آن با Perl :بیایید با اینترنت حرف بزنیم
میانگین امتیار کاربران: / 0
ضعیفعالی 
مقالات - برنامه نویسی وب

امروزه با توجه به اینکه روز به روز بر تعداد میزبان هایی کهphp رو ساپورت می کنند افزوده می شود، صحبت در مورد php و قابلیت های آن در میان طراحان وب و برنامه نویسان زیاد است. برای کسانی که فقط نامی از php شنیده اند و از توانایی ها و مزیت هایphp آگاهی ندارند در این مقالهphp را به طور مختصر شرح داده و آن را با اسکریپت هایcgi مقایسه می کنیم.
php یک زبان server side است و شما می توانید برای ساخت صفحات دینامیک وب از آن استفاده کنید. برای مثال مدیریت و ساماندهی اطلاعات دریافتی از یک form html با php بسیار آسان است.


1 - زبان:
اگر شما با زبانهای c, c++, perl یا java کار می کنید یاد گرفتن زبانphp می تواند مانند زنگ تفریح باشد! در واقع شما خیلی سریع می توانید اسکریپت نویسی را با php شروع کنید.
متغیرها در php مانند perl بوده (با پیشوند $ ) که انواع مختلف داده ها را می تواند در خود ذخیره کند. برای مثال $whatever می تواند انواع داده ها شامل رشته ای ، عددی و غیره را در خود نگه دارد.
اگر مقدار $whatever یک عدد باشد شما می توانید مقدار آن را اینگونه افزایش دهید:
$whatever ++; یا $whatever =+1; یا $whatever=$whatever+1; که دقیقا همان روشی است که در c ، c++ ، perl یا java به کار می بردید. 2 -تسهیلات موجود در زبان (built-in facilities)
برخلافperl که یک زبان همه منظوره است و شما می توانید تقریبا هر برنامه ای را با آن بنویسید، php از ابتدا با هدف اسکریپت نویسی برای صفحات وب ایجاد شده ، از این رو اسکریپت نویسی برای صفحات وب در php بسیار آسان تر از perl است.


برای مثال می خواهیم از یک فرم در یک صفحه وب ایمیلی را به آدرس خودمان ارسال کنیم. به کمک perl شما احتمالا کدی شبیه زیر را می نویسید :
open ( mail,"|/usr/sbin/sendmail -t");
print mail "to: ' ); document.write( addy26996 ); document.write( '' ); //--> this email address is being protected from spam bots, you need javascript enabled to view it " ;
print mail "from: ' ); document.write( addy33347 ); document.write( '' ); //--> this email address is being protected from spam bots, you need javascript enabled to view it " ;
print mail "subject: comments from web form\n\n" ;
print mail $mainmessage ;
close ( mail ) ;
اما همین برنامه در php به شکل زیر نوشته می شود:
mail ( " ' ); document.write( addy36512 ); document.write( '' ); //--> this email address is being protected from spam bots, you need javascript enabled to view it ", "comments from web form",
$mainmessage, “from: ' ); document.write( addy73649 ); document.write( '' ); //--> this email address is being protected from spam bots, you need javascript enabled to view it ” );
خب حتما تفاوت این دو زبان در سادگی و راحتی را متوجه شده اید!
این سادگی و روانی برای بقیه کارها هم صادق است، مانند فرستادن یا بازیابی یک پرونده با ftp یا http.
همانطور که گفته شد این سادگی از آنجا ناشی می شود که php فقط جهت برنامه نویسی صفحات وب طراحی شده است. تسهیلات دیگر آن در اداره کردن inputهای یک form است، برای مثال یک فرم مانند زیر را در نظر بگیرید:
type=text name=”dateofbirth”>


شما خیلی راحت و سریع می توانید به محتویات این فرم در متغیر $dateofbirth دسترسی داشته باشید و نیازی به تجزیه و تحلیل inputهای فرم نداشته باشید.
تمام فیلدها در یک فرم به طور اتوماتیک به متغیرهایی تبدیل می شوند که شما خیلی راحت می توانید به آنها دسترسی داشته باشید. دسترسی به پایگاه داده ها هم به همین شکل آسان و راحت است. کار با پایگاه های داده مانند: mysql msql, dbase, oracle, interbase, از قابلیت های ذاتی (built-in) اphp است. php حتی برای رمزنگاری mime هم تابعی در نظر گرفته است. قابلیت ها و تسهیلات php بسیار زیاد است و طبیعتا ممکن نیست به همه آنها در این جا اشاره کرد.


3 - ساخت صفحات وب :
یک صفحه php میتواند شبیه کد زیر باشد:
my first php script
my first php script
welcome, internet user from ip address
echo $remote_addr?>. hope you like my first php page.
توجه کنید که این دقیقا شبیه source صفحات وب است مگر در مواردیکه دستورات php را شامل می شوند. این کد آدرس ip بیننده صفحه را می نویسد، برای همین از دستور echo استفاده کرده ایم. متغیر محیطی وب سرور (environment variable) remote_addr به صورت اتوماتیک با متغیری به همین نام در php شناخته می شود (مانند دیگر متغیرهای محیطی وب سرور). از این رو نوشتن چنین اسکریپت هایی بسیار آسان و لذت بخش خواهد بود!


4 - اشکال زدایی php در مقایسه با perl cgi
اگر شما اسکریپت های نوشته شده را به صورت آنلاین آزمایش و اشکال زدایی می کنید php واقعا در این زمینه با قدرت به یاری شما می شتابد.
هنگامی که اشکالی در یک اسکریپت perl پیدا شود شما یک پیغام رمزگونه و نامفهوم (چیزی شبیه "500 internal server error") دریافت می کنید.
اما وقتی که اسکریپت های php خود را به صورت آنلاین آزمایش می کنید ، هنگام مواجه شدن با یک خطا، پیغامی مبنی بر بروز آن و با اشاره دقیق به شماره خط دارای ایراد نشان داده می شود که این برای اشکال زدایی کار را راحت می کند، هر چند پیغام خطا گاهی اوقات کلی و نامفهوم است مانند "parse error".
ولی در perl پیغام خطای "internal server error" می تواند از هر چیزی ناشی شود، از اشتباه در syntax گرفته تا جا انداختن یک حرف یا upload کردن فایل در غیر text mode . اما اشکال زدایی به صورت آفلاین کاملا برعکس است.بیشتر برنامه نویسان اعتقاد دارند که مفسر perl هنگام مواجه شدن با خطا پیغام بهتر و مفیدتری می دهد تا مفسر php که به عنوان مثال برای بسیاری از خطاها پیغام کلی parse error را می دهد که این امر هم با توجه به انتشار نسخه های جدیدتر php می تواند برطرف شود.
.

Share/Save/Bookmark
 
ParsYar