مقدمه
در این پروژه سعی بر آن داریم که قسمتی از سایت آموزش دانشگاه را طراحی کنیم. قبل از هر چیز باید بدانیم چه مطالبی مد نظر میباشد. از ما خواسته شد ضمن طراح صفاتی برای معرفی کلی دانشگاه و قسمتهای مختلف آن قسمت مربوط به اساتید دانشگاه که شامل اساتید هیئت علمی استاتید تمام وقت و پاره وقت میباشد را به نحوی که قابل تفسیر،حذف و اضافه باشند را طراحی کنیم. برای این منظور نیاز به آشنایی با یک زبان برنامه نویسی PHP و بانک اطلاعاتی مربوط به آن میباشد. چون پروژه بصورت Mysosl را انتخاب کردیم که در فصلهای بعدی مختصرا دلایبل انتخاب این نرم افزار را توضیح خواهیم داد. قبل از شروع به کار باید اطلاعات مورد نیاز جمع آوری شود که در فصل اول به این موضوع میپردایم و سپس دسته بندی اطلاعات جمع آوری شده و در نهایت شروع به کار میکنیم تا سایت خود را توسط PHP طراحی کنیم. همچنین برای طراحی این سایت از نرم افزار Dremvever هم استفاده کرده ایم.
مقدمه:
تار جهان گستر (Word wide web) دنیای عجیبی است که تکنولوژی های مربوط به آن، اغلب بدون پشتیبانی کافی، عرضه میشوند و کاربران این تکنولوژی ها، همه روزه با واژگان جدیدی بر خورد میکنند، که باعث سر در گمی آنها میشوند.
برای نمونه میتوان به رشد نرم افزارهای open source اشاره کرد (برنامه هایی که میتوان آنها را گسترش داد و یا تغییراتی در ساختار آنها ایجاد کرد.) متداولترین این برنامه ها، سیستم عامل Unix، و به طور خاص Linux، میباشد. این برنامه ها، با وجود ثبات و پایداری و دارای یک مشکل بزرگ میباشند و آن دشوار بودن آموختن این برنامه ها میباشد. کمبود راهنمایی که به زبان ساده، این برنامه ها را به مبتدیان آموزش دهد، باعث شده است که این دسته از نرم افزارها از جایگاه واقعی خود دور نگاه داشته شوند. PHP، یکی از زبانهای اسکریپتی open source، ابزار مفیدی میباشد که تا کنون علی رغم سادگی استفاده از آن، هنوز به طور شایسته از آن استقبال نشده است.
این کتاب شما را برای آموزش زبان PHP راهنمایی خواهد کرد. به عبارت دیگر نه تنها مقدماتی از این زبان را به شما ارائه میدهد. بلکه منابعی برای دسترسی به اطلاعات پیشرفته تر را نیز معرفی میکند. با استفاده از این کتاب شما دانش کافی برای آغاز به کار ایجاد سایت های دینامیک وب توسط PHP را کسب میکنید.
PHP چیست؟
PHP که در ابتدا در سال 1994 توسط Rasmus Lerdorf ایجاد شد، مخفف واژگان Personal Home Pages به حساب میآمد . با گسترش قابلیتها و موارد استفاده این زبان، PHP در معنای Hypertext Prprocessor به کار گرفته شد. (عبارت پیش پردازشگر Prprocessor بدین معنی است که PHP، اطلاعات را قبل از تبدیل به زبان HTML، پردازش میکند.
PHP یک زبان اسکریپتی سمت سرویس دهنده embeded HTML، Cross-Platform، (Server-side)
سمت سرویس دهنده بودن PHP، بدین معناست که تمام پردازشهای این زبان بر روی سرویس دهنده (server) انجام میگیرد. یک سرویس دهنده، در حقیقت یک کامپیوتر مخصوص میباشد که صفحات وب در آنجا نگهداری میشوند و از آنجا به مرورگر کاربران منتقل میشوند. چگونگی انجام این روند، در ادامه این قسمت، توضیح داده میشود (به قسمت PHP چگونه کار میکند؟ مراجعه کنید)
منظور از Cross-Platform بودن این زبان، این است که بر روی هر سیستم و با هر سیستم عاملی از قبیل O2/2، Macintosh، Windows NT،Unix، اجرا میشود. توجه کنید که منظور از این سیستم عاملهایی میباشند که بر روی سرویس دهنده نصب میشود. PHP نه تنها قابلیت اجرا بر روی هر سیستم عاملی را دارا میباشد، بلکه برای منتقل کردن برنامه های آن از یک سیستم عامل به سیستم عامل دیگر احتیاج به تغییرات اندکی خواهید داشت و حتی در بعضی از موارد، بدون احتیاج به هیچ تغییری میتوانید، یک برنامه به زبان PHP را از یک سیستم عامل به سیستم عامل دیگر منتقل کنید.
منظور از HtML embeded بودن PHP این است که دستورات این زبان در بین کدهای HTML قرار میگیرند. بنابراین برنامه نویسی به زبان PHP کمی پیچیده تر از برنامه نویسی به زبان HTML، به حساب میآید.
PHP بر خلاف زبانهای برنامه نویسی (Programming Languages) یک زبان استکریپتی (Scripting Language) میباشد. به عبارت دیگر دستورات PHP بعد از رخداد یک رویداد (event) اجرا میشوند. این رویدادهای میتوانند شامل ارسال یک فرم، رفتن به یک URL[1] مشخص و یا موارد دیگر باشند. متداولترین زبان اسکریپتی زبان Java Script میباشد که معمولا برای پاسخ به رویدادهای کاربر در مرور گر وب، به کار میرود.
تفاوت عمده java Script با PHP در این است که java Script یک تکنولوژی سمت سرویس گیرنده (Client-Side) میباشد. زبانهایی مانند java Script یا PHP، تفسیر شونده (inteprted) نامیده میشوند. به عبارت دیگر برای اجرا به یک مفسر مانند مرورگر وب احتیاج دارند. اما زبانهای برنامه نویسی مانند C یا Java بعد از ترجمه به زبان ماشین (Compile) به خودی خود قابل اجرا میباشند.
به چه دلیلی از PHP استفاده میکنیم؟
PHP در مقایسه با تکنولوژی های مشابه برای طراحی یک سایت وب میتوان به این موارد اشاره کرد: اسکریپت های (Common Gateway CGI (Interface که معمولا به زبان Perl نوشته میشوند، (java Script Pages) JSP ، (Active Server Pages) java Script به عنوان یک گزینه جایگزین برای PHP در نظر گرفته نمی شود، زیرا بر خلاف PHP، یک تکنولوژی سمت سرویس گیرنده است و همانند تکنولوژی هایی مانند CGT PHP، نمی تواند یک صفحه HTML را تولید کند
مزیتی که PHP در مقابل HTML دارد این است که HTML یک سیستم محدود به حساب میآید و توانایی ایجاد ارتباط متقابل با کاربر را ندارد. کاربران هنگامی که با یک صفحه HTML مواجه میشوند، تنها یک وب صفحه ساده را روبروی خود مشاهده میکنند که توانایی ایجاد واکنش به اعمال کاربر را ندارد. اما با استفاده از PHP، شما میتوانید صفحاتی را ایجاد کنید که برای مثال عناصر موجود در صفحه بر اساس سیستم عامل کاربر و یا تاریخ مشاهده صفحه، تنظیم شوند. همچنین PHP میتواند با فایل ها یا پایگاههای داده |(Database) ارتباط برقرار کند و بسیاری عملیات دیگر که HTML قادر به انجام به آنها نمی باشد. طراحان صفحات وب، از مدتها پیش به این نتیجه رسیدند که اگر در صفحات خود، فقط ار کدهای HTML استفاده کنند.، باید به طور مرتب آنرا تغییر دهند و اطلاعات آنرا به روز کنند. به همین علت، تکنولوژی هایی مانند CGI از همان آغاز، طرفداران بسیاری پیدا کردند. این تکنولوژی ها به طراحان انی امکان را میداد که برنامه هایی ایجاد کنند که به صورت دینامیک، صفحات وب را تولید کنند. همچنین در هنگام ارتباط با یک پایگاه داده، بدون دخالت هر انسانی، صفحات به روز آوری میشدند.
بنابراین، سوالی که اکنون به ذهن میرسد، این است که به چه علت یک طرح صفحات وب بهتر است که از زبان PHP به جای زبانهایی مانند JSP، ASP، CGL برای طراحی سایت های دینامیک، استفاده کند؟ دلیل اول، سرعت بیشتر PHP چه در برنامه نویسی و ایجاد برنامه هایی به این زبان و چه در اجرا میباشد. همچنین PHP برای یادگیری بسیار ساده میباشد. و افراد بدون نیاز به زمینه های قبلی در برنامه نویسی و تنها با مطالعه همین یک کتاب، میتوانند به زبان PHP اسکریپت نویسی کنند. در مقابل احتیاج به دانستن زبانهای VBScript و CGL (که. نیازمند زبانهایی مانند Perl یا C میباشد) دارد و هر دو این زبانها، زبانهای کاملی هستند که یادگیری آنها نیز آسان نیست.
دلیل دوم این است که PHP، به صورت اختصاصی، تنها برای ایجاد صفحات دینامیک طراحی شده است. اما Perl VBScriptو یا Java اینگونه نیستند و به همین علت PHP سریعتر و ساده تر از تکنولوژی های جایگزین میباشد.
[1] (UPL (Uniform Resource Locator): لغتی که در حقیقت برای آدرسهای وب به کار می رود