من خلال دراسة أول المادتين ، أعتقد أنك قد اكتسبت بالفعل مفهومًا أساسيًا وانطباعًا عامًا عن تصميم موقع ASP الديناميكي. بدءًا من هذه المقالة ، سيبدأ المؤلف باستخدام لغات البرمجة النصية ويقود الجميع لاستكشاف الألغاز الحقيقية لتصميم موقع ASP الديناميكي من ضحلة إلى عميقة.
اسمحوا لي أولاً أن أتعلم بعض المعرفة الأساسية بتطبيق لغات البرمجة النصية (بشكل رئيسي VBScript) في ASP.
قبل البدء في تعلم لغات البرمجة النصية ، يجب أن تفهم بعض المفاهيم البسيطة - المتغيرات ، والعمليات. ما يسمى المتغير هو موقع تخزين مسمى في ذاكرة الكمبيوتر ، والذي يحتوي على بيانات مثل الأرقام أو السلاسل. يتكون البرنامج من عملية واحدة أو أكثر.
في vbscript ، بالمعنى الدقيق للكلمة ، لا تحتاج المتغيرات إلى الإعلان.
يحب:
- <٪ myString = thisMyString ٪>
ومع ذلك ، حتى لو لم تكن بحاجة إلى إعلان المتغيرات قبل استخدامها ، فيجب عليك تطوير عادة جيدة لإعلان المتغيرات عند البرمجة ، لأن هذا يساعد على منع الأخطاء. إن إعلان متغير يعني إخبار محرك البرنامج النصي بوجود متغير يحمل اسمًا محددًا بحيث يمكن الرجوع إلى المتغير في البرنامج النصي. يمكن للإعلان عن متغير في VBScript استخدام بيان DIM ، على النحو التالي:
- <scriptLanguage = vbscript>
- <!-
- يتطلب OptionExplicit "إعلان جميع المتغيرات في البرنامج النصي
- dimmystring
- myString = thisMystring
- ->
- </script>
نطاق المتغير هو فترة الحياة ، والتي تحدد أوامر البرنامج النصي التي يمكنها الوصول إلى المتغيرات. المتغيرات المعلنة داخل العملية لها نطاق محلي. في كل مرة يتم تنفيذ العملية ، يتم إنشاء المتغير ثم مات. ولا يمكن لأي أمر خارج العملية الوصول إليه. تتميز المتغيرات المعلنة خارج العملية بنطاق عالمي ويمكن الوصول إلى قيمها وتعديلها بواسطة أي أمر نص على صفحة ASP. عند إعلان متغير ، يمكن أن يكون للمتغيرات المحلية والمتغيرات العالمية نفس الاسم. تغيير إحدى القيم لا يغير الآخر. إذا لم يتم الإعلان عن متغير ، فقد يغير عن طريق الخطأ قيمة المتغير العالمي. على سبيل المثال ، يقوم أمر البرنامج النصي التالي بإرجاع قيمة 1 ، على الرغم من وجود متغيرين يدعى Y:
- <٪
- dimyy = 1callsetlocalvariableresponse.writey
- subetlocalvariable
- باهتة
- y = 2endub ٪>
نظرًا لأنه لم يتم الإعلان عن المتغير بشكل صريح ، فسيتم إرجاع أمر البرنامج النصي التالي 2. عندما يتم تعيين مكالمة الإجراء إلى y إلى 2 ، يرى محرك البرنامج النصي أن الإجراء هو تعديل المتغير العالمي:
- <٪
- y = 1callsetlocalvariableresponse.writey
- subetlocalvariable
- ص = 2
- endub ٪>
ومع ذلك ، لا تتوفر المتغيرات العالمية إلا في صفحة ASP واحدة ، ولتوفيرها خارج صفحة ASP واحدة ، يجب عليك تعيين نطاق جلسة أو تطبيق للمتغير. تتوفر متغيرات نطاق الجلسة لجميع الصفحات في تطبيق ASP الذي طلبه المستخدم. وينطبق الشيء نفسه على متغيرات نطاق التطبيق. بالنسبة لمستخدم واحد ، تعد متغيرات الجلسة هي أفضل طريقة لتخزين المعلومات ، مثل تفضيلات المستخدم أو أسماء المستخدمين أو تعريف المستخدم. بالنسبة لجميع مستخدمي تطبيق خاص ، يعد نطاق التطبيق هو أفضل طريقة لتخزين المعلومات ، مثل التحيات الخاصة بالتطبيق أو القيم الأولية التي يتطلبها التطبيق. يوفر ASP كائنين مدمجين للسماح لك بتخزين المتغيرات: كائن الجلسة وكائن التطبيق ، والتي ستتم مناقشتها في كائنات ASP المدمجة في المستقبل.
دعونا نلقي نظرة على تعريف ثابت ، والذي يتم استخدامه بدلاً من رقم أو اسم سلسلة ، ويبقى دون تغيير عبر البرنامج النصي. يمكنك استخدام عبارة const لإنشاء ثوابت محددة من قبل المستخدم في VBScript. استخدم عبارة const لإنشاء سلسلة أو ثوابت رقمية مع بعض المعاني وتعيين القيم الأصلية لها. على سبيل المثال:.
على سبيل المثال: <٪ const mystring = هذا ثابت ٪>
<٪ const myage = 100 ٪>
لاحظ أن السلسلة الحرفية موجودة بين اثنين من اقتباس (). هذه هي الطريقة الأكثر وضوحًا للتمييز بين الثوابت من نوع السلسلة والثوابت العددية. يتم احتواء نص التاريخ والنص الزمني بين علامتين رطل (#). على سبيل المثال:
<٪ const cutoffdate = # 6-1-97 # ٪>
بعد فهم الثوابت والمتغيرات ، دعونا نلقي نظرة على ماهية العملية. إنها مجموعة من أوامر البرنامج النصي التي يمكنها تنفيذ المهام المحددة ولها قيم إرجاع. يمكنك تحديد الإجراءات الخاصة بك ثم الاتصال بها مرارًا وتكرارًا في البرنامج النصي. يمكنك وضع تعريف العملية في ملف .asp الذي يستدعي العملية ، أو يمكنك وضع الإجراء العام في ملف .asp مشترك وإدراجه في ملف .asp الآخر الذي يستدعي إجراءاته باستخدام توجيه SSI #include. يمكنك أيضًا اختيار طريقة أخرى لتعبئة هذه الميزات في مكونات ActiveX. يمكن أن تظهر تعريفات العملية داخل علامات <script> و <script> ويجب أن تتبع القواعد التي تعلن لغة البرمجة النصية. إذا كانت اللغة المستخدمة في الإجراء تختلف عن لغة البرمجة النصية الرئيسية ، فاستخدم عنصر <script>. يتم فصل الإجراءات في لغة البرمجة النصية الرئيسية بواسطة محددات البرنامج النصي (<٪ و ٪>). عند وضع العلامات باستخدام HTML <Script> ، يجب استخدام خصائصين للتأكد من أن جانب الخادم يمكنه التعامل مع البرامج النصية. بناء جملة استخدام <script> على النحو التالي:
- <scriptrunat = serverLanguage = jscript>
- تعريف الإجراء
- </script>
تقوم خاصية Runat = Server هنا بإعلام خادم الويب بمعالجة البرامج النصية على الخادم. إذا لم يتم تعيين هذه الخاصية ، فسيتم معالجة البرنامج النصي بواسطة متصفح العميل. تحدد خاصية اللغة لغة البرنامج النصي التي تستخدمها كتلة البرنامج النصي هذه. يمكنك تحديد أي لغة بمحرك برمجة. يرجى استخدام VBScript لتحديد VBScript ؛ إذا لم يتم تعيين خاصية اللغة ، فسيتم تفسير كتلة البرنامج النصي بلغة البرنامج النصي الرئيسية.
في VBScript ، تنقسم العمليات إلى فئتين: العملية الفرعية وعملية الوظيفة. الإجراء الفرعي هو مجموعة من عبارات VBScript الواردة بين البيانات الفرعية الفرعية والنهائية ، وتنفيذ العمليات ولكن لا تعيد القيم. يمكن أن يستخدم الإجراء الفرعي المعلمات (الثوابت ، المتغيرات ، أو التعبيرات التي تم تمريرها بواسطة إجراء الاتصال). إذا لم يكن للإجراء الفرعي أي معلمات ، فيجب أن يحتوي العبارة الفرعية على قوسين فارغين ().
إجراء الوظيفة هو مجموعة من عبارات VBScript التي يتم تضمينها بين بيانات الوظيفة ووظيفة النهاية. تشبه عملية الوظيفة العملية الفرعية ، لكن عملية الوظيفة يمكن أن تُرجع القيم. يمكن أن تستخدم إجراءات الوظيفة المعلمات (الثوابت أو المتغيرات أو التعبيرات التي تم تمريرها بواسطة إجراءات الاتصال). إذا كان إجراء الوظيفة لا يحتوي على معلمات ، فيجب أن تحتوي عبارة الوظيفة على قوسين فارغين (). الوظيفة تقوم العملية بإرجاع قيمة من خلال اسم الوظيفة ، والذي تم تعيينه لاسم الوظيفة في بيان العملية. الوظيفة نوع البيانات لقيمة الإرجاع هو دائما متغير. في المثال التالي ، يستخدم الإجراء الفرعي وظيفتين VBScript المتأصل (أو المدمج) ، وهما MSGBox و EnputBox ، للمطالبة بالمستخدم للحصول على المعلومات. ثم يتم عرض النتائج المحسوبة بناءً على هذه المعلومات. يتم الحساب بواسطة عملية الوظيفة التي تم إنشاؤها باستخدام VBScript ، وتحول وظيفة Celsius Fahrenheit إلى Celsius. الإجراء الفرعي ConvertTemp عندما يتم استدعاء هذه الوظيفة ، يتم تمرير متغير يحتوي على قيمة المعلمة إلى الوظيفة. يتم إرجاع نتيجة التحويل إلى عملية الاتصال وعرضها في مربع الرسالة.
- subconverttemp ()
- temp = inputbox (الرجاء إدخال درجة حرارة فهرنهايت. ، 1)
- درجة حرارة msgbox IS & celsius (temp) و celsius.
- ينتهي
- وظيفة (FDEGREES)
- celsius = (fdegrees-32)*5/9
- الوظيفية
طريقة تمرير البيانات إلى العملية هي استخدام المعلمات. يتم استخدام المعلمة كعنصر نائب للبيانات التي سيتم نقلها إلى العملية. يمكن أن يكون اسم المعلمة أي اسم متغير صالح. عند إنشاء عملية باستخدام عبارة فرعية أو عبارة دالة ، يجب أن يتبع اسم العملية قوسين. يتم تضمين جميع المعلمات في قوسين ، مفصولة بفواصل. على سبيل المثال ، في المثال التالي ، تعتبر FDEGREES عنصرًا نائبًا للقيمة التي تم تمريرها إلى وظيفة Celsius:
- وظيفة (FDEGREES)
- celsius = (fdegrees-32)*5/9
- الوظيفية
للحصول على بيانات من العملية ، يجب استخدام إجراء الوظيفة. تذكر أن عملية الوظيفة يمكن أن تُرجع القيم ؛
ما سبق يقدم لك باختصار VBSCRIPT. ومع ذلك ، نظرًا لأن ASP ليس لغة برمجة ، في عملية كتابة تطبيقات ASP ، يجب أن نستخدم لغة البرمجة النصية لتنفيذ العديد من الوظائف الخاصة. .
سواء كنت سيدًا مع خبرة في البرمجة واسعة النطاق أو مبتدئ ، طالما كنت ترغب الآن في كتابة تطبيقات الويب من خلال ASP ، يوصي المحرر بشدة أن تتقن لغة نصية واحدة على الأقل (مثل VBScript).