مقدمه ای بر php و perl


بسم الله الرحمن الرحیم
مقدمه ای بر PHP و مقایسه آن با Perl CGI
امروزه با توجه به اینکه روز به روز بر تعداد میزبانهایی که PHP رو ساپورت میکنند افزوده میشود ، صحبت در مورد PHP و قابلیتهای آن در میان طراحان وب و برنامه نویسان زیاد است.
برای کسانی که فقط نامی از PHP شنیده اند و از تواناییها و مزیت های PHP آگاهی ندارند در این مقاله PHP رو به طور مختصر شرح شرح میدهم و آن را با اسکریپتهای CGI مقایسه میکنم.
PHP یک زبان طرف خادم (server side ) می باشد و شما میتوانید برای ساخت صفحات دینامیک وب از آن استفاده کنید. برای مثال مدیریت و ساماندهی اطلاعات دریافتی از یک form اچتمل با PHP بسیار آسان است.
1- زبان:
اگر شما با زبانهای C , C++ , Perl یا Java کار میکنید یاد گرفتن زبان PHP میتواند مانند زنگ تفریح باشد! در واقع شما خیلی سریع میتوانید اسکریپت نویسی را با PHP شروع کنید.
متغیرها در PHP مانند PHP هستند (با پیشوند $ ) و انواع مختلف داده ها را میتوانند در خود ذخیره کنند. برای مثال $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: myself@mydomain.com " ;
print MAIL "From: visitor@hisdomain.com " ;
print MAIL "Subject: Comments from Web Form " ;
print MAIL $mainmessage ;
close ( MAIL ) ;


اما همین برنامه در PHP به شکل زیر نوشته می شود :
mail ( "myself@mydomain.com", "Comments from Web Form",
$mainmessage, "From: visitor@hisdomain.com" );


خب حتما تفاوت این دو زبان در سادگی و راحتی را متوجه شده اید!
این سادگی و روانی برای بقیه کارها هم صادق است ، مانند فرستادن یا بازیابی یک پرونده با FTP یا HTTP.
همانطور که گفته شد این سادگی از اونجا ناشی میشه که PHP فقط برای برنامه نویسی برای صفحات وب طراحی شده است.
تسهیلات دیگر آن در اداره کردن input های یک form می باشد ، برای مثال یک فرم مانند زیر را در نظر بگیرید:
type=text name="dateofbirth">




شما خیلی راحت و سریع می توانید به محتویات این فرم در متغیر $dateofbirth دسترسی داشته باشید. نیازی به تجزیه و تحلیل input های فرم نیست.
تمام فیلد ها در یک فرم به طور اتوماتیک به متغیرهایی تبدیل میشوند که شما خیلی راحت میتوانید به آنها دسترسی داشته باشید.
دسترسی به پایگاه داده ها هم به همین شکل اسان و راحت است. کار با پایگاه های داده مانند MySQL, MSQL, Dbase, Oracle, InterBase, از قابلیتهای ذاتی (Built-in) PHP است . PHP حتی برای رمزنگاری MIME هم تابعی در نظر گرفته است. قابلیتها و تسهیلات PHP بسیار زیاد است و طبیعتا ممکن نیست به همه آنها را در این مقاله اشاره کرد.
اشاره به این چند مورد هم فقط برای این بود که تصمیم شما را برای فراگیری PHP قاطع تر کنم!
3- ساخت صفحات وب :
یک صفحه PHP میتواند شبیه کد زیر باشد :




My First PHP Script



My First PHP Script





Welcome, Internet user from IP address

. 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 میتواند برطرف شود.
موفق باشید .

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد