מסדי נתונים / בחירת מסד הנתונים האידיאלי / CGI.pm הבלתי נמנע


CGI.pm הבלתי נמנע


תוכלו למצוא את המודול הזה בכל פעם שתיקלעו לדיון אודות תכנות בפרל וCGI.
באופן כללי, CGI.pm מייצג את פילוסופיה הפוכה לזו שהצעתי במהלך כל השיעורים שעברנו יחד.

מלכתחילה, המטרה שלי הייתה לעזור לכם ליצור דפי אינטרנט דינמיים ואינטראקטיביים, שיראו כדפי אינטרנט שנוצרו מנקודת מבטו של המפתח.
זה כל הסוד מאחורי קוד שמוטבע בHTML. ההטבעה היא גם מה שהופכת את כל העבודה למהירה ומאורגנת יותר.
המטרה של CGI.pm היא להפוך את תכנות האינטרנט שלך למופשט לחלוטין.

כדי שתוכלו להרגיש מה זאת אומרת לתכנת בCGI.pm יצרתי את הדוגמא הבאה:

#!/usr/bin/perl use CGI; $query = new CGI; print $query->header(), $query->start_html(-title=>'Made with CGI.pm'), 'This is what I mean by ', $query->b('abstracted'), '.', $query->end_html(); exit 0;


הפלט של הקוד הזה, באופן צפוי לחלוטין, הוא כותרת HTTP, פתיחת בלוק HTML (כולל כותרת), קצת טקסט וסגירת HTML.

שימו לב לכך שהכל התקבל כתוצאה מאובייקט query$ והמתודות הנלוות אליו:

Content-type: text/html <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> <HTML><HEAD><TITLE>Made with CGI.pm</TITLE> </HEAD><BODY>This is : <B>abstracted </B>.</BODY><HTML>


אני מנסה להימנע מתכנות מהסוג הזה, (אולי אני לא מספיק חכם כדי לעבוד בצורה כל כך מופשטת), אבל אני מודה שלפעמים לקוד הזה יש שימוש.

מה שאני דווקא אוהב בCGI.pm זה לא המופשטות, אלא הכלים שהמודול הזה מספק.הוא מטפל ב"קוקיז" בצורה מופלאה ויכול לפענח קודים שנתקבלו מטפסים בצורה יעילה.

כולנו מכירים טפסים, נכון? זה כמו HTML, רק עם שיניים.
טפסים הם הדרך המקובלת ביותר לקבלת מידע מהמשתמש. כאשר המשתמש לוחץ על כפתור "שלח", הדפדפן אוסף את המידע שהוקלד בטופס, מקודד אותו ושולח אותו לתוכנית הCGI שמחכה רק לו.
זו אחריות התוכנית לפרק, לפענח ולהשתמש במידע שנשלח.
כל התהליך הזה יכול להיות כאב ראש אחד גדול, אבל זה לא חייב להיות ככה.
למה לא לתת לCGI.pm לעשות את העבודה בשבילנו? פרמטרים של טופס יכולים להיקרא ע"י שימוש בשיטת הparam.

#!/usr/bin/perl # # BAR.cgi is a simple Perl CGI program using CGI.pm. # # A Web page with a form containing the FOO textarea # is meant to submit to BAR.cgi (pay attention to # the "param" method). # use CGI; $query = new CGI; print $query->header(), $query->start_html(-title=>'Test of the param method'), 'The value of the FOO parameter is: ', $query->param('FOO'), $query->end_html(); exit 0;


זוהי דרכו של CGI.pm לפנות לבעיה הזו. אני אשתמש בCGI.pm יותר מאוחר, אבל רק כדי לנצל את כל היתרונות הטמונים בשיטת הparam המופלאה.



עמוד הבא: Escape Sequences ומסד הנתונים שלך >>




מבט כללי
שעור 1
הטכנולוגיה הלא נכונה
לבעיה הלא נכונה

דמיין את כל האנשים
(נכנסים לאתר שלך)

מה האופציות שלי?
למה באינטרנט?
אבל איך?
משהו ללעוס בדרך
שעור 2
הכרות עם שדה
המשחקים

Windows NT לעומת
Linux

התקנת לינוקס והתוכניות
הנלוות

ציפיות
שעור 3
מבוא
MySQL ושאר עניני
שרת/מסד נתונים

MySQL,SQL,DDL
ו-DML

סיכום
שעור 4
פילוסופית ה-Embedded
Web-Programming

ePerl-כשפרל פוגשת את
HTML

DBI-ממשק מסד הנתונים
של פרל

הדרך שלפנינו
שעור 5
מתחילים לעבוד
CGI.pm הבלתי נמנע >
Escape Sequences
ומסד הנתונים שלך

הטבעת ביטויים יחסיים
במחרוזת
Here-Document

הטבעת תת-רוטינות
מחברים את הכל
מטפלים בטפסים עם
שאילתות SQL

מעבדים את תוצאות
הטופס עם-CGI.pm