تم تبسيط واجهة المستخدم في Dreamweaver والإصدارات الأحدث. ونتيجة لذلك، قد لا تجد بعض الخيارات الموضحة في هذه المقالة في Dreamweaver والإصدارات اللاحقة. للاطلاع على المزيد من المعلومات، راجع هذه المقالة.
يأتي Dreamweaver مع مجموعة سلوكيات خادم مضمنة تتيح لك إضافة إمكانات ديناميكية بسهولة إلى موقع. يمكنك تمديد وظائف Dreamweaver عن طريق إنشاء سلوكيات خادم لملاءمة احتياجات التطوير الخاصة بك، أو عن طريق الحصول على سلوكيات الخادم من موقع Dreamweaver Exchange على الويب.
قبل إنشاء سلوكيات الخادم الخاصة بك، يجب فحص موقع Dreamweaver Exchange على الويب لمعرفة ما إذا كان طرف آخر قد أنشأ بالفعل سلوك خادم يوفر الوظائف التي ترغب في إضافتها إلى موقع الويب الخاص بك. وعلى الأرجح، أنشأ مطورون خارجيون سلوك خادم واختبروه وسيتناسب مع احتياجاتك.
حدد Help > Dreamweaver Exchange.
حدد Window > Server Behaviors، وانقر فوق زر علامة الزائد (+)، وحدد Get More Server Behaviors.
تفتح صفحة ويب Dreamweaver Exchange في مستعرضك.
لمزيد من المعلومات، راجع Using the Extension Manager.
إذا كنت خبير تطوير ويب في ColdFusion، أو JavaScript، أو VBScript، أو PHP، فيمكنك كتابة سلوكيات الخادم الخاصة بك. تتضمن خطوات إنشاء سلوك خادم المهام التالية:
اكتب مقطعًا واحدًا أو أكثر من مقاطع التعليمات البرمجية لتنفيذ الإجراء المطلوب.
حدد المكان الذي يجب إدراج مقطع التعليمات البرمجية فيه داخل تعليمات HTML البرمجية للصفحة.
إذا كان سلوك الخادم يتطلب تحديد قيمة لمعلمة، فقم بإنشاء مربع حوار يطالب مطور الويب بتطبيق السلوك اللازم لإدخال قيمة مناسبة.
اختبر سلوك الخادم قبل جعله متاحًا للآخرين.
استخدم Server Behavior Builder لإضافة مقطع التعليمات البرمجية أو مقاطع التعليمات البرمجية التي يدخلها السلوك إلى صفحة.
يتم عرض مربع الحوار Server Behavior Builder.
يظهر الاسم الذي أدخلته في Server Behavior Builder، بعلامات برمجة نصية مرئية في مربع مقطع التعليمة البرمجية Code.
عند إدخال تعليمة برمجية في المربع Code Block، يمكنك فقط إدراج علامة واحدة أو مقطع تعليمات برمجية لكل مقطع تعليمات برمجية مسمى (على سبيل المثال، myBehavior_block1، myBehavior_block2، myBehavior_blockn، إلخ). إذا كان عليك إدخال علامات أو مقاطع تعليمات برمجية متعددة، فقم بإنشاء مقطع تعليمات برمجية فردي لكل منها. يمكنك أيضًا نسخ ولصق التعليمة البرمجية من الصفحات الأخرى.
يتم إدراج المعلمة إلى مقطع التعليمات البرمجية في الموقع الذي وضعت فيه نقطة الإدراج قبل تحديد المعلمة. إذا حددت سلسلة، يتم استبدال كل مثال للسلسلة المحددة في مقطع التعليمات البرمجية بعلامة معلمة (على سبيل المثال، @@Session@@).
تسرد اللوحة Server Behaviors سلوك الخادم.
بعد تحديد التعليمة البرمجية المصدر وإدراج موقع لكل مقطع تعليمات برمجية، يكون سلوك الخادم محدد تمامًا. في أغلب الأحيان، لا تحتاج إلى تحديد أي معلومات إضافية.
إذا كنت مستخدمًا متقدمًا، فيمكنك تعيين أي من الخيارات التالية:
Identifier
تحديد ما إذا كان مقطع التعليمات البرمجية يجب معاملته كمعرف.
افتراضيًا، يعتبر كل مقطع تعليمات برمجية معرفًا. إذا عثر Dreamweaver على مقطع تعليمات برمجية لمعرف في أي مكان في مستند ما، فسيسرد lلسلوك في اللوحة Server Behaviors. استخدم الخيار Identifier لتحديد ما إذا كان مقطع التعليمات البرمجية يجب معاملته كمعرف.
يجب أن يكون مقطع واحد على الأقل من مقاطع التعليمات البرمجية لسلوك الخادم معرفًا. يجب ألا يكون مقطع التعليمات البرمجية معرفًا في حالة انطباق أحد الشروط التالية: يتم استخدام نفس مقطع التعليمات البرمجية بواسطة سلوك خادم آخر؛ أو مقطع التعليمات البرمجية بسيط لدرجة أنه قد يحدث طبيعيًا على الصفحة.
Server Behavior Title
تحديد عنوان السلوك في اللوحة Server Behaviors.
عندما ينقر مصمم الصفحة فوق زر علامة الزائد (+) في اللوحة Server Behaviors، سيظهر عنوان سلوك الخادم الجديد في القائمة المنبثقة. عندما يطبق مصمم مثيلاً لسلوك خادم على مستند، يظهر السلوك في قائمة السلوكيات المطبقة في اللوحة Server Behaviors. استخدم المربع Server Behavior Title لتحديد محتويات قائمة علامة الزائد (+) المنبثقة وقائمة السلوكيات المطبقة.
القيمة الأولية في المربع هي الاسم الذي أدخلته في مربع الحوار New Server Behavior. وبما أن المعلمات محددة، يتم تحديث الاسم تلقائيًا بحيث تظهر المعلمات داخل أقواس بعد اسم سلوك الخادم.
Set Session Variable (@@Name@@, @@Value@@)
إذا كان المستخدم يقبل القيمة الافتراضية، يظهر كل شيء قبل الأقواس في قائمة علامة الزائد (+) المنبثقة (على سبيل المثال، Set Session Variable). سيظهر الاسم والمعلمات في قائمة السلوكيات المطبقة—على سبيل المثال، Set Session Variable ("abcd", "5").
Code Block to Select
تحديد مقطع التعليمات البرمجية المعين عندما يحدد المستخدم السلوك في اللوحة Server Behaviors.
عندما تطبق سلوك خادم، يتم تعيين أحد مقاطع التعليمات البرمجية داخل السلوك إلى "code block to select". إذا قمت بتطبيق سلوك الخادم، ثم تحديد السلوك في اللوحة Server Behaviors، يتم تحديد المقطع المعين في النافذة Document. افتراضيًا، يحدد Dreamweaver كتلة التعليمات البرمجية الأولى التي ليست موجودة فوق العلامة html . إذا كانت كل مقاطع التعليمات البرمجية موجودة فوق العلامة html، فسيتم تحديد المقطع الأول. يستطيع المستخدمون المتقدمون تحديد أي مقاطع التعليمات البرمجية بحيث يكون هو المقطع المحدد.
مقاطع التعليمات البرمجية التي تقوم بإنشائها في Server Behavior Builder مغلّفة في سلوك الخادم الذي يظهر في اللوحة Server Behavior Builder. يمكن أن تكون التعليمة البرمجية أي تعليمة برمجية صالحة لوقت التشغيل من أجل نموذج الخادم المحدد. على سبيل المثال، إذا اخترت ColdFusion كنوع مستند لسلوك الخادم المخصص، فيجب أن تكون التعليمة البرمجية التي تكتبها هي تعليمة برمجية صالحة لـColdFusion تعمل في خادم تطبيق ColdFusion.
يمكنك إنشاء مقاطع التعليمات البرمجية إما مباشرةً في Server Behavior Builder، أو يمكنك نسخ ولصق التعليمة البرمجية من مصادر أخرى. يجب أن يكون كل مقطع من مقاطع التعليمات البرمجية التي تقوم بإنشائها في Server Behavior Builder مقطع برنامج نصي واحد أو علامة واحدة. إذا كان يتعين عليك إدراج مقاطع متعددة للعلامة، فقسمها إلى مقاطع تعليمات برمجية منفصلة.
الشروط المتوفرة في مقاطع التعليمات البرمجية
يتيح لك Dreamweaver إمكانية تطوير مقاطع التعليمات البرمجية التي تدمج عبارات التحكم التي تُنفذ شرطيًا. يستخدم Server Behavior Builder عبارات if، وelseif، وelse، وقد يتضمن أيضًا معلمات سلوك خادم. يتيح لك هذا إمكانية إدراج مقاطع تعليمات برمجية نصية بديلة استنادًا إلى قيم علاقات OR بين معلمات سلوك الخادم.
يبين المثال التالي عبارات if، وelseif، وelse. تشير أقواس التربيع ([ ]) إلى تعليمة برمجية اختيارية، وتشير العلامة النجمية (*) إلى صفر أو مزيد من المثيلات. لتنفيذ جزء من مقطع تعليمات برمجية أو مقطع تعليمات برمجية بأكمله فقط عند انطباق شرط أو شروط محددة، استخدم بناء الجملة التالي:
<@ if (expression1) @> conditional text1[<@ elseif (expression2) @> conditional text2]*[<@ else @> conditional text3]<@ endif @>
يمكن أن تكون تعبيرات الشرط أي تعبير JavaScript يمكن تقييمه باستخدام وظيفة JavaScript eval()، وقد تتضمن معلمة سلوك خادم مميزة بالعلامة @@’s. (تعمل @@’s على تمييز المعلمة عن متغيرات JavaScript والكلمات الرئيسية).
استخدام التعبيرات الشرطية بفعالية
عند استخدام التوجيهات if، وelse، وelseif داخل علامة insertText XML، تتم معالجة النص المشترك لحل أوامر if وتحديد نص لتضمينه في النتيجة. يأخذ التوجيهان if وelseif التعبير بوصفه وسيطة. تعبير الشرط هو نفس تعبيرات شرط JavaScript، ويمكن أن يتضمن معلمات سلوك الخادم. تتيح لك مثل هذه التوجيهات إمكانية الاختيار بين مقاطع التعليمات البرمجية استنادًا إلى القيم أو العلاقات بين معلمات سلوك الخادم.
على سبيل المثال، تأتي تعليمة JSP البرمجية التالية من سلوك خادم Dreamweaver والذي يستخدم مقطع تعليمات برمجية شرطي:
@@rsName@@.close(); <@ if (@@callableName@@ != '') @> @@callableName@@.execute(); @@rsName@@ = @@callableName@@.getResultSet();<@ else @> @@rsName@@ = Statement@@rsName@@.executeQuery(); <@ endif @> @@rsName@@_hasData = @@rsName@@.next();
يبدأ مقطع التعليمات البرمجية الشرطي بالبادئة <@ if (@@callableName@@ != '') @> وينتهي بالخاتمة <@ endif @>. وفقًا للتعليمة البرمجية، إذا أدخل المستخدم قيمة للمعلمة @@callableName@@ في مربع الحوار Parameter لسلوك الخادم- أو بعبارة أخرى، إذا كانت قيمة المعلمة @@callableName@@ غير فارغة، أو (@@callableName@@ != '')— فسيتم استبدال مقطع التعليمات البرمجية الشرطي بالعبارات التالية:
@@callableName@@.execute(); @@rsName@@ = @@callableName@@.getResultSet();
وإلا، فسيتم استبدال مقطع التعليمات البرمجية بالعبارة التالية:
@@rsName@@ = Statement@@rsName@@.executeQuery();
عند إنشاء مقاطع تعليمات برمجية باستخدام Server Behavior Builder، يجب عليك تحديد مكان إدراجها في تعليمات HTML البرمجية الخاصة بالصفحة.
على سبيل المثال، إذا أدخلت مقطع تعليمات برمجية فوق علامة الفتح <html>، فيجب عليك تحديد موضع مقطع التعليمات البرمجية الخاص بالعلامات، والبرامج النصية، وسلوكيات الخادم الأخرى في ذلك القسم من تعليمات HTML البرمجية الخاصة بالصفحة. تتضمن الأمثلة النموذجية تحديد موضع سلوك إما قبل أي استعلامات لمجموعة سجلات أو بعدها والتي قد تتوفر أيضًا في التعليمة البرمجية للصفحة فوق علامة الفتح <html> .
عند تحديد خيار تحديد موضع من القائمة المنبثقة Insert Code، تتغير الخيارات المتاحة في القائمة المنبثقة Relative Position لتوفير الخيارات ذات الصلة لهذا الجزء من الصفحة. على سبيل المثال، إذا حددت القائمة المنبثقة Above The <html> Tag In The Insert Code، تعكس خيارات تحديد الموضع المتاحة في القائمة المنبثقة Relative Position الخيارات ذات الصلة لهذا الجزء من الصفحة.
يبين الجدول التالي خيارات إدراج مقطع تعليمات برمجية، وخيارات تحديد الموضع ذات الصلة والمتاحة لكل:
خيارات Insert Code |
خيارات وضع النسبة |
Above the <html> Tag |
|
Below the </html> Tag |
|
Relative to a Specific Tag |
حدد علامة من القائمة المنبثقة Tag، ثم اختر من بين خيارات تحديد موضع العلامة. |
Relative to the Selection |
قبل التحديد بعد التحديد استبدال التحديد التفاف التحديد |
لتحديد موضع مخصص، يجب عليك تخصيص عنصر واجهة مستخدم لمقطع التعليمات البرمجية. استخدم الخيار Custom Position عندما تريد إدراج أكثر من مقطع تعليمات برمجية بترتيب خاص. على سبيل المثال، لإدراج سلسلة مرتبة من ثلاثة مقاطع تعليمات برمجية بعد مقاطع التعليمات البرمجية التي تفتح مجموعات السجلات، ستقوم بإدراج فاعلية قدرها 60 لمقطع التعليمات البرمجية الأول، و65 لمقطع التعليمات البرمجية الثاني، و70 للثالث.
افتراضيًا، يقوم Dreamweaver بتخصيص فاعلية قدرها 50 لكل مقاطع التعليمات البرمجية الخاصة بمجموعة السجلات المفتوحة المدرجة فوق العلامة <html> . في حالة تطابق اثنين أو أكثر من مقاطع التعليمات البرمجية، يعيّن Dreamweaver الترتيب بين مقاطع التعليمات البرمجية عشوائيًا.
يتم سرد سلوك الخادم في اللوحة Server Behaviors (Window > Server Behavior)؛ انقر فوق زر علامة الجمع (+) لعرض سلوك الخادم.
إذا أدخلت علامة، فلا تقم بتضمين الأقواس الزاوِّية (<>).
يمكنك إدراج مقطع تعليمات برمجية خاص بك قبل التحديد مباشرةً أو بعده مباشرةً. يمكنك أيضًا استبدال التحديد بمقطع تعليمات برمجية خاص بك، أو يمكنك إجراء التفاف لمقطع التعليمات البرمجية حول التحديد.
لإجراء التفاف لمقطع التعليمات البرمجية حول تحديد، يجب أن يتكون التحديد من علامة فتح وإغلاق دون فاصل بينهما، كما يلي:
<CFIF Day=”Monday”></CFIF>
أدخل جزء علامة الفتح لمقطع التعليمات البرمجية قبل علامة فتح التحديد وجزء علامة الإغلاق لمقطع التعليمات البرمجية بعد علامة إغلاق التحديد.
لتكرار جزء من مقطع تعليمات برمجية أو مقطع التعليمات البرمجية بأكمله لعدد من المرات، استخدم الجملة التالية:
<@ loop (@@param1@@,@@param2@@) @> code block<@ endloop @>
عند إنشاء سلوكيات خادم، يمكنك استخدام الإنشاءات الحلقية لتكرار مقطع تعليمات برمجية لعدد محدد من المرات. <@ loop (@@param1@@,@@param2@@,@@param3@@,@@param_n@@) @> code block <@ endloop @>يقبل التوجيه الحلقي قائمة مفصولة بفاصلة لصفائف المعلمات كوسيطات. في هذه الحالة، تتيح وسيطات صفيف المعلمة للمستخدم إمكانية إدخال قيم عديدة لمعلمة واحدة. يتم تكرار النص المكرر بمقدار n من المرات، حيث n هو طول وسيطات صفيف المعلمة. إذا تم تحديد أكثر من وسيطة صفيف معلمة، فيجب أن تكون مجموعة الصفيف لها نفس الطول. في التقييم ith للتكرار الحلقي، تستبدل العناصر ith لمجموعة صفيف المعلمة مثيلات المعلمة المرتبطة، في مقطع التعليمات البرمجية.
عند إنشاء مربع حوار لسلوك الخادم، يمكنك إضافة عنصر تحكم لمربع الحوار والذي يتيح لمصمم الصفحة إمكانية إنشاء مجموعة صفيف المعلمة. يتضمن Dreamweaver عنصر تحكم بسيط للصفيف والذي يمكنك استخدامه لإنشاء مربعات حوار. يتوفر عنصر التحكم هذا والذي يسمى، Text Field Comma Separated List، عبر Server Behavior Builder. لإنشاء عناصر واجهة مستخدم ذات تعقيد أكبر، راجع وثائق API لإنشاء مربع حوار يضم عنصر تحكم لإنشاء مجموعة صفيف (عنصر تحكم في الشبكة، على سبيل المثال).
يمكنك تنفيذ تداخل أي عدد من الشروط أو توجيه تكرار حلقي داخل توجيه شرطي. على سبيل المثال، يمكنك تحديد ذلك إذا كان تعبير ما صحيحًا لتنفيذ تكرار حلقي.
يبين المثال التالي كيفية استخدام مقاطع تعليمات برمجية متكررة من هذا القبيل، لإنشاء سلوكيات خادم (المثال هو سلوك ColdFusion المستخدَم للوصول إلى إجراء مُخزن):
<@ loop (@@param1@@,@@param2@@,@@param3@@,@@param_n@@) @> code block <@ endloop @>
<CFSTOREDPROC procedure="AddNewBook" datasource=#MM_connection_DSN# username=#MM_connection_USERNAME# password=#MM_connection_PASSWORD#> <CFPROCPARAM type="IN" dbvarname="@CategoryId" value="#Form.CategoryID#" cfsqltype="CF_SQL_INTEGER"> <CFPROCPARAM type="IN" dbvarname="@ISBN" value="#Form.ISBN#" cfsqltype="CF_SQL_VARCHAR"> </CFSTOREDPROC>
في هذا المثال، يمكن أن تتضمن علامة CFSTOREDPROC صفر أو أكثر من علامات CFPROCPARAM . ومع ذلك، بدون دعم لتوجيه التكرار الحلقي، لا توجد طريقة لتضمين علامات CFPROCPARAM داخل علامة CFSTOREDPROC المدرجة. إذا كان هذا سيتم إنشاؤه كسلوك خادم دون استخدام التوجيه الحلقي، فستحتاج إلى تقسيم هذا المثال إلى اثنين من المشاركين: علامة CFSTOREDPROC رئيسية وعلامة CFPROCPARAM والتي يكون نوع المشارك فيها متعددًا.
باستخدام التوجيه الحلقي، يمكنك كتابة نفس الإجراء كالتالي:
<CFSTOREDPROC procedure="@@procedure@@" datasource=#MM_@@conn@@_DSN# username=#MM_@@conn@@_USERNAME# password=#MM_@@conn@@_PASSWORD#> <@ loop (@@paramName@@,@@value@@,@@type@@) @> <CFPROCPARAM type="IN" dbvarname="@@paramName@@" value="@@value@@" cfsqltype="@@type@@"> <@ endloop @> </CFSTOREDPROC>
يتم تجاهل الأسطر الجديدة بعد كل "@>".
إذا أدخل المستخدم قيم المعلمات التالية في مربع الحوار Server Behavior Builder:
procedure = "proc1" conn = "connection1" paramName = ["@CategoryId", "@Year", "@ISBN"] value = ["#Form.CategoryId#", "#Form.Year#", "#Form.ISBN#"] type = ["CF_SQL_INTEGER", "CF_SQL_INTEGER", "CF_SQL_VARCHAR"]
فسيُدرج سلوك الخادم التعليمة البرمجية لوقت التشغيل التالية في الصفحة:
<CFSTOREDPROC procedure="proc1" datasource=#MM_connection1_DSN# username=#MM_connection1_USERNAME# password=#MM_connection1_PASSWORD#> <CFPROCPARAM type="IN" dbvarname="@CategoryId" value="#Form.CategoryId#" cfsqltype="CF_SQL_INTEGER"> <CFPROCPARAM type="IN" dbvarname="@Year" value="#Form.Year#" cfsqltype="CF_SQL_INTEGER"> <CFPROCPARAM type="IN" dbvarname="@ISBN" value="#Form.ISBN#" cfsqltype="CF_SQL_VARCHAR"> </CFSTOREDPROC>
لا يمكن استخدام مجموعة صفيف المعلمة خارج تكرار حلقي باستثناء ما إذا كانت جزءًا من تعبير تكرار حلقي شرطي.
استخدام المتغيرين _index و_length لتوجيه التكرار الحلقي
يتضمن التوجيه الحلقي متغيرين اثنين يمكنك استخدامهما لحالات if المضمنة. المتغيران هما: _length و_index. يقيّم المتغير _length طول مجموعة الصفيف المعالجة عن طريق التوجيه الحلقي، بينما يقيّم المتغير _index الفهرس الحالي لتوجيه التكرار الحلقي. لضمان عدم التعرف على المتغيرات إلا في شكل توجيهات فقط، وليس معلمات فعلية مطلوب تمريرها إلى التكرار الحلقي، ولا تتضمن أي متغير في @@s.
ومثال على استخدام المتغيرات المضمنة هو تطبيقها على السمة import الخاصة بتوجيه الصفحة. تتطلب السمة import فصل الحزم بفواصل. إذا كان توجيه loop يمتد حول السمة import بأكملها، فستقوم فقط بإخراج اسم السمة import= في التكرار الأول للتكرار الحلقي—يتضمن هذا علامة الاقتباس المزدوجة للإغلاق (")— وليس إخراج فاصلة في التكرار الأخير للتكرار الحلقي. باستخدام المتغير المضمن، يمكنك التعبير عن هذا كما يلي:
<@loop (@@Import@@)@> <@ if(_index == 0)@>import=" <@endif@>@@Import@@<@if (_index == _length-1)@>"<@else@>, <@ endif @> <@endloop@>
غالبًا ما تتطلب سلوكيات الخادم أن يقوم مصمم الصفحة بإدخال قيمة معلمة. يجب إدراج هذه القيمة قبل إدراج التعليمة البرمجية لسلوك الخادم في الصفحة.
يمكنك إنشاء مربع الحوار من خلال تحديد المعلمات التي يُدخلها المصمم في التعليمة البرمجية. بعد ذلك، يمكنك إنشاء مربع حوار لسلوك الخادم، الذي يطالب مصمم الصفحة بإدخال قيمة معلمة.
تتم إضافة المعلمة إلى مقطع التعليمات البرمجية الخاص بك دون تدخل منك، إذا قمت بتحديد وجوب إدراج التعليمة البرمجية الخاصة بك بالقرب من علامة محددة اختارها مصمم الصفحة (أي، أنك تختار Relative to a Specific Tag من القائمة المنبثقة Insert Code). تضيف المعلمة قائمة علامات إلى مربع حوار السلوك لتتيح لمصمم الصفحة إمكانية تحديد علامة.
@@parameterName@@
<% Session(“lang_pref”) = Request.Form(“@@formParam@@”); %>
على سبيل المثال، إذا تضمن سلوك الخادم مقطع التعليمات البرمجية التالي:
<% Session(“lang_pref”) = Request.Form(“Form_Object_Name”); %>
لتطلب من مصمم الصفحة إدخال القيمة Form_Object_Name، قم بتضمين علامات تعليقات المعلمات (@@):<% Session(“lang_pref”) = Request.Form(“@@Form_Object_Name@@”); %>
<% Session(“lang_pref”) = Request.Form(“@@Form_Object_Name@@”); %>
يمكنك أيضًا تمييز السلسلة والنقر فوق الزر Insert Parameter In Code Block. أدخل اسم معلمة، ثم انقر فوق OK. يستبدل Dreamweaver كل مثيل من السلسلة المميزة باسم المعلمة المحدد المضمن في علامات تعليقات المعلمات.
يستخدم Dreamweaver السلاسل التي يتم تضمينها في علامات تعليقات المعلمات لتسمية عناصر التحكم في مربع الحوار التي تكوّنه (راجع الإجراءات التالية). في المثال السابق، ينشئ Dreamweaver مربع حوار بالتسمية التالية:
لا يمكن أن تتضمن أسماء المعلمات في التعليمة البرمجية لسلوك الخادم أي مسافات. ولهذا، لا يمكن أن تتضمن تسميات مربعات الحوار أي مسافات. إذا كنت تريد تضمن مسافات في التسمية، فيمكنك تحرير ملف HTML المكوّن.
ينشئ Dreamweaver مربع حوار له عنصر تحكم يحمل تسمية لكل معلمة قمت بتحديدها والتي يُدخلها المصمم.
يظهر مربع حوار يسرد كل المعلمات التي يُدخلها المصمم والتي قمت بتحديدها في التعليمة البرمجية الخاصة بك.
يمكنك تحرير أي سلوك خادم تم إنشاؤه عن طريق Server Behavior Builder، بما في ذلك سلوكيات الخادم التي قمت بتنزيلها من موقع Dreamweaver Exchange على الويب، والمطورين الخارجيين الآخرين.
إذا قمت بتطبيق سلوك خادم على صفحة، ثم تحرير السلوك في Dreamweaver، فلن تظهر مثيلات السلوك القديم في اللوحة Server Behaviors. تبحث اللوحة Server Behaviors في الصفحة بحثًا عن التعليمة البرمجية التي تتطابق مع التعليمة البرمجية لسلوكيات الخادم المعروف. إذا تغيرت التعليمة البرمجية لسلوك خادم، فلن تتعرف اللوحة على الإصدارات السابقة للسلوك على تلك الصفحة.
يعرض مربع الحوار Edit Server Behaviors كل سلوكيات تقنية الخادم الحالية.
يعيد Dreamweaver إنشاء سلوك الخادم دون مربع حوار. يظهر سلوك الخادم الجديد في قائمة علامة الزائد (+) المنبثقة من اللوحة Server Behaviors.
يسألك Dreamweaver عما إذا كنت تريد إنشاء مربع حوار جديد، والكتابة فوق القديم. قم بإجراء التغييرات التي تريدها ثم انقر فوق OK.
يحفظ Dreamweaver كل التغييرات في ملف EDML لسلوك الخادم.
بوجه عام، يجب أن تكون التعليمة البرمجية لسلوك الخادم مضغوطة وقوية. يتمتع مطورو تطبيقات الويب بإحساس بالغ الدقة تجاه التعليمة البرمجية المضافة إلى صفحاتهم. اتبع ممارسات الترميز المقبولة بشكل عام للغة نوع المستند (ColdFusion، أو JavaScript، أو VBScript، أو PHP). عند كتابة تعليقات، فكر في الجمهور الفني المختلف الذي قد يحتاج إلى فهم التعليمة البرمجية، مثل مصممو التفاعل والويب، أو مطورو تطبيقات الويب الآخرون. قم بتضمين التعليقات التي تصف غرض التعليمة البرمجية بدقة، وأي تعليمات خاصة لتضمينها داخل صفحة.
تذكر إرشادات الترميز التالية عند إنشاء سلوكيات الخادم الخاصة بك:
فحص الخطأ
أمر مهم. يجب أن تعالج التعليمة البرمجية لسلوك الخادم حالات الخطأ بشكل صحيح. حاول التنبؤ بكل احتمال. على سبيل المثال، ماذا لو فشل طلب معلمة؟ ماذا لو لم يتم إرجاع أي سجلات من استعلام؟
أسماء فريدة
ساعد في التأكد من أن التعليمة البرمجية يمكن التعرف عليها بوضوح وتجنب تضارب الأسماء مع تعليمة برمجية موجودة. على سبيل المثال، إذا تضمنت الصفحة وظيفة تسمى hideLayer() ومتغيرًا عامًا يسمى ERROR_STRING، ويقوم سلوك الخادم بإدراج تعليمة برمجية تستخدم تلك الأسماء أيضًا، فقد يتعارض سلوك الخادم مع التعليمة البرمجية الموجودة.
بادئات التعليمة البرمجية
تتيح لك إمكانية تحديد وظائف وقت التشغيل والمتغيرات العامة في صفحة. اصطلاح لاستخدام الحروف الأولى من الكلمة. لا تستخدم البادئة MM_ أبدًا، حيث إنها محجوزة لاستخدام Dreamweaver فقط. يسبق Dreamweaver كل الوظائف والمتغيرات العامة بالبادئة MM_ لمنعها من التضارب مع أي تعليمة برمجية تكتبها.
var MM_ERROR_STRING = "..."; function MM_hideLayer() {
تجنب مقاطع التعليمات البرمجية المتشابهة
بحيث لا تتشابه التعليمة البرمجية التي تكتبها تشابهًا شديدًا مع التعليمة البرمجية الموجودة في المقاطع الأخرى . إذا تشابه مقطع تعليمات برمجية تشابهًا شديدًا مع مقطع آخر في الصفحة، فقد تحدد اللوحة Server Behaviors عن طريق الخطأ مقطع التعليمات البرمجية الأول كمثيل للمقطع الثاني (أو العكس). والحل البسيط وهو إضافة تعليق على مقطع التعليمات البرمجية لجعله فريدًا.
يوصي Dreamweaver Exchange بإجراء الاختبارات التالية على كل سلوك خادم تقوم بإنشائه:
قم بتطبيق السلوك من اللوحة Server Behaviors. إذا كان يحتوي على مربع حوار، فأدخل بيانات صالحة في كل حقل وانقر فوق OK. تحقق من عدم حدوث أخطاء عند تطبيق السلوك. تحقق من ظهور التعليمة البرمجية لوقت التشغيل الخاصة بسلوك الخادم في عارض Code.
قم بتطبيق سلوك الخادم مرة أخرى وأدخل بيانات غير صالحة في كل حقل من حقول مربع الحوار. حاول ترك الحقل فارغًا، واستخدام أرقام كبيرة أو سالبة، واستخدام رموز غير صالحة (مثل /، و؟، و:، و*، وما إلى ذلك)، واستخدام الحروف في الحقول الرقمية. يمكنك الكتابة من إجراءات التحقق الروتينية لمعالجة البيانات غير الصالحة (تشتمل إجراءات التحقق الروتينية على الترميز اليدوي، الذي يعتبر خارج نطاق هذا الكتاب).
بعد تطبيق سلوك الخادم بنجاح على الصفحة، تحقق من الآتي:
تحقق من اللوحة Server Behaviors للتأكد من ظهور اسم سلوك الخادم في قائمة السلوكيات المضافة إلى الصفحة.
تحقق من ظهور رموز البرنامج النصي بجانب الخادم في الصفحة، إن أمكن. تعتبر الرموز العامة للبرنامج النصي لجانب الخادم أدرعًا ذهبية. لرؤية الرموز، قم بتمكين Invisible Elements (View > Visual Aids > Invisible Elements).
في طريقة العرض Code (View > Code)، تحقق من عدم إنشاء تعليمة برمجية غير صالحة.
وأيضًا، إذا أدرج سلوك الخادم الخاص بك التعليمة البرمجية في المستند المؤسس لاتصال بقاعدة بيانات، فقم بإنشاء قاعدة بيانات اختبار لاختبار التعليمة البرمجية المدرجة في المستند. تحقق من الاتصال بتحديد الاستعلامات التي تنتج مجموعات مختلفة من البيانات، وأحجام مختلفة من مجموعات البيانات.
في النهاية، قم بتحميل الصفحة إلى الخادم وافتحها في مستعرض. اعرض التعليمة البرمجية المصدر لـ HTML الخاصة بالصفحة وتحقق من عدم إنشاء HTML غير صالحة عن طريق البرامج النصية لجانب الخادم.
تسجيل الدخول إلى حسابك