پروژه طراحی سایت آموزش دانشگاه
مقدمه
در اين پروژه سعي بر آن داريم كه قسمتي از سايت آموزش دانشگاه را طراحي كنيم. قبل از هر چيز بايد بدانيم چه مطالبي مد نظر ميباشد. از ما خواسته شد ضمن طراح صفاتي براي معرفي كلي دانشگاه و قسمتهاي مختلف آن قسمت مربوط به اساتيد دانشگاه كه شامل اساتيد هيئت علمي استاتيد تمام وقت و پاره وقت ميباشد را به نحوي كه قابل تفسير،حذف و اضافه باشند را طراحي كنيم. براي اين منظور نياز به آشنايي با يك زبان برنامه نويسي 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 سريعتر و ساده تر از تكنولوژي هاي جايگزين ميباشد.
توجه كنيد كه اين صحبتها هزگز بدين معنا نيست كه PHP يك زبان كاملتر و با بهتري نسبت به Perl ASP Hava و يا CGL ميباشد. بلكه ما تنها پيشنهاد ميكنيم كه در زمينه هاي خاصي مانند آنچه كه اشاره شد، از PHP استفاده شود.
PHP چگونه كار ميكند؟
PHP يك زبان سمت سرويس دهند ميباشد و اين بدين معني است كه كدهاي نوشته شده به اين زبان در كامپوتر ميزبان (HOST) صفحات وب قرار ميگيرد.
براي مثال، هنگامي كه شما به سايت وب www.DMCinsights com ميرويد. Intrent ISP (Service Provider شما درخواست (request) شما را به سرويس دهنده اي كه اطلاعات اين سايت نگهداري ميكند، ارسال ميكند.
در اين هنگام سرويس دهنده بعد از خواندن كدهاي PHP، آنها را پردازش ميكند. براي مثال در اين مورد PHP به سرويس دهنده فرمان ميدهد كه اطلاعات يك صفحه وب را به صورت برچسبهاي HTML به مرورگر شما منتقل كند تصوير زير بنابراين، PHP يك صفحه HTML را توليد ميكند.
اين نمودار چگونگي ارتباط بين سرويس گيرنده يا كاربر (client)، سرويس دهنده (server) ، مدل PHP را نمايش ميدهد. در اين حالت مدل PHP، برنامه اي است كه در سرويس دهنده براي افزايش كارايي آن، قرار گرفته است. تمام تكنولوژي هايي سمت سرويس دهنده (مانند ASP) از چنين مدل طرف ثالثي (tjird- party) براي پردازش اطلاعات و برگرداندن نتايج به سرويس گيرنده، استفاده ميكنند.
اين حالت با هنگامي كه صفحه از ابتدا با كدهاي HTML طراحي شده باشد. تفاوت دارد. در حالت دوم، تنها يك درخواست به سرويس دهنده ارسال ميشود و سرويس دهنده نيز اطلاعات HTML موجود را به مرورگر كاربر منتقل ميكند (تصوير 4- الف) بنابراين، براي مرورگر كاربر تفاوتي بين home.php، home، html وجود ندارد.
اما تفاوت عمده اي بين اين دو حالت وجود دارد و آن اين است كه در حالت اول صفحه به صورت ديناميك توسط سرويس دهنده توليد شده است و براي مثال ميتوان اطلاعات متفاوتي را در روزهاي دوشنبه و يا سه شنبه ارائه داد و يا بين حالتي كه كاربر قبلا صفحه را مشاهده كرده باشد و يا نكرده باشد، تفاوت قائل شد. بنابراين، هر آنچه PHPانجام ميدهد در همان سمت سرويس دهنده انجام ميدهد و سپس اطلاعات مناسب را به سرويس گيرنده منتقل ميكند.
اين نمودار، ارتباط مستقيم بين سرويس گيرنده و سرويس دهنده را در هنگام استفاده از صفحات معمولي HTML نشان ميدهد. اين نمودار را با نمودار ارائه شده در تصوير 3- الف مقايسه كنيد. اكنون ميتوانيد متوجه شويد كه چرا يك صفحه HTML ساده را ميتوانيد در كامپيوتر خود نيز مشاهده كنيد ولي براي صفحاتي كه به صورت ديناميك توليد ميشوند، احتياج به يك سرويس دهنده ميباشد.
[1] (UPL (Uniform Resource Locator): لغتي كه در حقيقت براي آدرسهاي وب به كار مي رود
پروژه طراحی سایت آموزش دانشگاه