تم تبسيط واجهة المستخدم في Dreamweaver والإصدارات الأحدث. ونتيجة لذلك، قد لا تجد بعض الخيارات الموضحة في هذه المقالة في Dreamweaver والإصدارات اللاحقة. للاطلاع على المزيد من المعلومات، راجع هذه المقالة.
معلومات عن سلوكيات الخادم المخصصة
يأتي Dreamweaver مع مجموعة من سلوكيات الخادم المدمجة التي تتيح لك بسهولة إضافة قدرات ديناميكية إلى الموقع.يمكنك توسيع وظائف Dreamweaver عن طريق إنشاء سلوكيات الخادم لتناسب احتياجات التطوير الخاصة بك، أو عن طريق الحصول على سلوكيات الخادم من موقع Dreamweaver Exchange.
قبل إنشاء سلوكيات الخادم الخاصة بك، يجب أن تتحقق من موقع Dreamweaver Exchange لترى إذا كان طرف آخر قد قام بالفعل بإنشاء سلوك خادم يوفر الوظائف التي تريد إضافتها إلى موقعك.غالباً، يكون مطور طرف ثالث قد أنشأ واختبر سلوك خادم سيلبي احتياجاتك.
الوصول إلى Dreamweaver Exchange
حدد Help > Dreamweaver Exchange.
حدد Window > Server Behaviors، انقر على زر الإضافة (+)، وحدد Get More Server Behaviors.
تفتح صفحة ويب Dreamweaver Exchange في مستعرضك.
تثبيت سلوك خادم أو امتداد آخر في Dreamweaver
لمزيد من المعلومات، راجع Using the Extension Manager.
سير العمل المخصص لسلوكيات الخادم
إذا كنت مطور ويب متمكناً في ColdFusion أو JavaScript أو VBScript أو PHP، يمكنك كتابة سلوكيات الخادم الخاصة بك.تتضمن خطوات إنشاء سلوك الخادم المهام التالية:
اكتب كتلة كود واحدة أو أكثر تؤدي الإجراء المطلوب.
حدد المكان الذي يجب إدراج كتلة الكود فيه ضمن كود HTML الخاص بالصفحة.
إذا كان سلوك الخادم يتطلب تحديد قيمة لمعامل، أنشئ مربع حوار يطالب مطور الويب الذي يطبق السلوك بتوفير قيمة مناسبة.
اختبر سلوك الخادم قبل جعله متاحًا للآخرين.
استخدام Server Behavior Builder
استخدم Server Behavior Builder لإضافة كتلة الكود أو الكتل التي يُدرجها السلوك في الصفحة.
يتم عرض مربع الحوار Server Behavior Builder.
الاسم الذي تدخله يظهر في Server Behavior Builder، مع علامات دليل البرمجة المناسبة المرئية في مربع Code block.
عند إدخال الكود في مربع Code Block، يمكنك فقط إدراج علامة واحدة أو كتلة كود واحدة لكل كتلة كود مسماة (على سبيل المثال، myBehavior_block1، myBehavior_block2، myBehavior_blockn، إلخ.).إذا كان عليك إدخال علامات متعددة أو كتل كود متعددة، أنشئ كتلة كود فردية لكل واحدة منها.يمكنك أيضاً نسخ ولصق الكود من صفحات أخرى.
يتم إدراج المعامل في كتلة الكود في الموقع الذي وضعت فيه نقطة الإدراج قبل تحديد المعامل.إذا حددت سلسلة نصية، فسيتم استبدال كل مثيل للسلسلة المحددة في كتلة الكود بعلامة معامل (على سبيل المثال، @@Session@@).
تسرد اللوحة Server Behaviors سلوك الخادم.
خيارات متقدمة
بعد تحديد كود المصدر وموقع الإدراج لكل كتلة كود، يصبح سلوك الخادم محدد بالكامل.في معظم الحالات، لا تحتاج لتحديد أي معلومات إضافية.
إذا كنت مستخدماً متقدماً، يمكنك تعيين أي من الخيارات التالية:
Identifier
يحدد ما إذا كان يجب التعامل مع كتلة الكود كمعرف.
افتراضيًا، يعتبر كل مقطع تعليمات برمجية معرفًا. إذا وجد Dreamweaver كتلة كود معرف في أي مكان في المستند، فسيعرض السلوك في لوحة سلوكيات الخادم.استخدم خيار المعرف لتحديد ما إذا كان يجب التعامل مع كتلة الكود كمعرف.
يجب أن تكون كتلة واحدة على الأقل من كتل كود سلوك الخادم معرفاً.يجب ألا تكون كتلة الكود معرفاً إذا انطبق أي من الشروط التالية: استخدام نفس كتلة الكود بواسطة سلوك خادم آخر؛ أو أن كتلة الكود بسيطة جداً بحيث قد تظهر بشكل طبيعي في الصفحة.
Server Behavior Title
تحديد عنوان السلوك في اللوحة Server Behaviors.
عندما ينقر مصمم الصفحة على الزر زائد (+) في لوحة سلوكيات الخادم، سيظهر عنوان سلوك الخادم الجديد في القائمة المنبثقة.عندما يطبق المصمم مثيلاً من سلوك الخادم على مستند، يظهر السلوك في قائمة السلوكيات المطبقة في لوحة سلوكيات الخادم.استخدم مربع عنوان سلوك الخادم لتحديد محتويات القائمة المنبثقة زائد (+) وقائمة السلوكيات المطبقة.
القيمة الأولية في المربع هي الاسم الذي قدمته في مربع الحوار "سلوك خادم جديد".مع تحديد المعاملات، يتم تحديث الاسم تلقائياً بحيث تظهر المعاملات داخل أقواس بعد اسم سلوك الخادم.
تعيين متغير الجلسة (@@Name@@, @@Value@@)
إذا قبل المستخدم القيمة الافتراضية، فسيظهر كل شيء قبل الأقواس في القائمة المنبثقة زائد (+) (على سبيل المثال، تعيين متغير الجلسة).سيظهر الاسم مع المعاملات في قائمة السلوكيات المطبقة—على سبيل المثال، تعيين متغير الجلسة ("abcd"، "5").
Code Block to Select
يحدد كتلة الكود التي يتم تحديدها عندما يحدد المستخدم السلوك في لوحة Server Behaviors.
عندما تطبق سلوك خادم، يتم تعيين إحدى كتل الكود داخل السلوك كـ "كتلة الكود المراد تحديدها". إذا طبقت سلوك الخادم ثم حددت السلوك في لوحة Server Behaviors، يتم تحديد الكتلة المُعيَّنة في نافذة المستند. بشكل افتراضي، يحدد Dreamweaver كتلة الكود الأولى التي ليست أعلى وسم html. إذا كانت جميع كتل الكود أعلى وسم html، فسيتم تحديد الكتلة الأولى. يمكن للمستخدمين المتقدمين تحديد أي كتلة كود هي المحددة.
إنشاء مقاطع تعليمات برمجية
كتل الكود التي تنشئها في Server Behavior Builder مُغلفة في سلوك خادم يظهر في لوحة Server Behaviors. يمكن أن يكون الكود أي كود وقت تشغيل صالح لنموذج الخادم المحدد. على سبيل المثال، إذا اخترت 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()، وقد تتضمن معامل سلوك خادم محدد بـ @@. (رموز @@ تميز المعامل عن متغيرات JavaScript والكلمات المفتاحية.)
استخدام التعبيرات الشرطية بفعالية
عند استخدام توجيهات if و else و elseif داخل وسم XML insertText، يتم معالجة نص المشارك مسبقًا لحل توجيهات 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@@ في مربع حوار المعامل الخاص بسلوك الخادم—بمعنى آخر، إذا كانت قيمة معامل @@callableName@@ ليست فارغة، أو (@@callableName@@ != '')—فإن كتلة الكود الشرطية يتم استبدالها بالعبارات التالية:
@@callableName@@.execute();
@@rsName@@ = @@callableName@@.getResultSet();
وإلّا، يتم استبدال كتلة الكود بالعبارة التالية:
@@rsName@@ = Statement@@rsName@@.executeQuery();
تحديد موضع مقطع تعليمات برمجية
عند إنشاء كتل أكواد باستخدام مُنشئ سلوك الخادم، يجب تحديد مكان إدراجها في كود HTML الخاص بالصفحة.
على سبيل المثال، إذا أدرجت كتلة كود فوق علامة الفتح <html>، يجب عليك حينها تحديد موضع كتلة الكود بالنسبة للعلامات والسكريبت وسلوكيات الخادم الأخرى في ذلك القسم من كود HTML الخاص بالصفحة. الأمثلة الشائعة تتضمن وضع سلوك إما قبل أو بعد أي استعلامات recordset قد توجد أيضًا في كود الصفحة فوق علامة الفتح <html>.
عند اختيار خيار وضع من القائمة المنبثقة Insert Code، تتغير الخيارات المتاحة في القائمة المنبثقة Relative Position لتوفير خيارات ذات صلة لذلك الجزء من الصفحة. على سبيل المثال، إذا حددت Above The <html> Tag في القائمة المنبثقة Insert Code، فإن خيارات الوضع المتاحة في القائمة المنبثقة Relative Position تعكس الاختيارات ذات الصلة لذلك الجزء من الصفحة.
الجدول التالي يظهر خيارات إدراج كتلة الكود، و خيارات الوضع النسبي المتاحة لكل منها:
|
خيارات Insert Code |
خيارات وضع النسبة |
|
Above the <html> Tag |
|
|
Below the </html> Tag |
|
|
Relative to a Specific 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@@) @> كود
كتلة<@ endloop @>
عند إنشاء سلوكيات الخادم، يمكنك استخدام بُنى التكرار لتكرار كتلة كود عدد محدد من المرات. <@ loop (@@param1@@,@@param2@@,@@param3@@,@@param_n@@) @> كتلة الكود <@ endloop @>يقبل توجيه التكرار قائمة مفصولة بفواصل من مصفوفات المعاملات كوسائط. في هذه الحالة، وسائط مصفوفة المعاملات تسمح للمستخدم بتوفير قيم متعددة لمعامل واحد. يتم تكرار النص المكرر n مرات، حيث n هو طول وسائط مصفوفة المعاملات. إذا تم تحديد أكثر من وسيطة مصفوفة معاملات واحدة، يجب أن تكون لجميع المصفوفات نفس الطول. في التقييم رقم i للحلقة، تحل العناصر رقم i من مصفوفات المعاملات محل مثيلات المعاملات المرتبطة في كتلة الكود.
عند إنشاء مربع حوار لسلوك الخادم، يمكنك إضافة عنصر تحكم إلى مربع الحوار يتيح لمصمم الصفحة إنشاء مصفوفات المعاملات.يتضمن Dreamweaver عنصر تحكم مصفوفة بسيط يمكنك استخدامه لإنشاء مربعات الحوار. عنصر التحكم هذا، الذي يُسمى Text Field Comma Separated List، متوفر عبر Server Behavior Builder.لإنشاء عناصر واجهة المستخدم الأكثر تعقيداً، راجع وثائق API لإنشاء مربع حوار مع عنصر تحكم لإنشاء المصفوفات (عنصر تحكم الشبكة، على سبيل المثال).
يمكنك تداخل أي عدد من الشروط أو توجيه التكرار داخل توجيه شرطي. على سبيل المثال، يمكنك تحديد أنه إذا كان التعبير صحيحًا لتنفيذ حلقة.
يوضح المثال التالي كيف يمكن استخدام كتل الكود المكررة هذه لإنشاء سلوكيات الخادم (المثال هو سلوك ColdFusion يُستخدم للوصول إلى إجراء مخزن):
<@ loop (@@param1@@,@@param2@@,@@param3@@,@@param_n@@) @> كتلة الكود
<@ 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 الفهرس الحالي لتوجيه الحلقة.للتأكد من أن المتغيرات يتم التعرف عليها كتوجيهات فقط، وليس كمعاملات فعلية سيتم تمريرها إلى الحلقة، لا تُحِط أي متغير بـ @@.
مثال على استخدام المتغيرات المدمجة هو تطبيقها على خاصية import الخاصة بتوجيه الصفحة.تتطلب خاصية import الفصل بالفواصل للحزم.إذا امتد توجيه loop حول خاصية import بالكامل، فستقوم بإخراج اسم الخاصية import= في التكرار الأول من الحلقة فقط—وهذا يتضمن علامة الاقتباس المزدوجة المُغلقة (")—ولن تخرج فاصلة في التكرار الأخير من الحلقة.باستخدام المتغير المدمج، يمكنك التعبير عن هذا كما يلي:
<@loop (@@Import@@)@>
<@ if(_index == 0)@>import="
<@endif@>@@Import@@<@if (_index == _length-1)@>"<@else@>,
<@ endif @>
<@endloop@>
طلب معامل لسلوك الخادم
غالبًا ما تتطلب سلوكيات الخادم أن يوفر مصمم الصفحة قيمة معامل.يجب إدراج هذه القيمة قبل إدراج كود سلوك الخادم في الصفحة.
تُنشئ مربع الحوار من خلال تعريف المعاملات المقدمة من المصمم في الكود.ثم تُنشئ مربع حوار لسلوك الخادم، يطالب فيه مصمم الصفحة بقيمة معامل.
تتم إضافة معامل إلى كتلة الكود الخاصة بك دون تدخل منك إذا حددت أن الكود الخاص بك يجب إدراجه بالنسبة إلى وسم محدد يختاره مصمم الصفحة (أي أنك اخترت بالنسبة إلى وسم محدد في القائمة المنبثقة 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 في الصفحة عن كود يطابق كود سلوكيات الخادم المعروفة. إذا تغير كود سلوك الخادم، لا تتعرف اللوحة على الإصدارات السابقة من السلوك في تلك الصفحة.
احتفظ بالإصدارين القديم والجديد من السلوك في اللوحة
حرر كود سلوك الخادم الذي تم إنشاؤه باستخدام Server Behavior Builder
يعرض مربع الحوار Edit Server Behaviors جميع السلوكيات لتقنية الخادم الحالية.
يعيد Dreamweaver إنشاء سلوك الخادم بدون مربع حوار. يظهر سلوك الخادم الجديد في القائمة المنبثقة Plus (+) للوحة 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. إذا كان له مربع حوار، أدخل بيانات صحيحة في كل حقل وانقر على موافق. تحقق من عدم حدوث أخطاء عند تطبيق السلوك. تحقق من ظهور كود وقت التشغيل لسلوك الخادم في Code inspector.
طبق سلوك الخادم مرة أخرى وأدخل بيانات غير صحيحة في كل حقل من حقول مربع الحوار. جرب ترك الحقل فارغًا، أو استخدام أرقام كبيرة أو سالبة، أو استخدام أحرف غير صحيحة (مثل /، ؟، :، *، وهكذا)، أو استخدام أحرف في حقول الأرقام. يمكنك كتابة روتينات التحقق من صحة النموذج للتعامل مع البيانات غير الصالحة (روتينات التحقق تتطلب كتابة الكود يدويًا، وهو ما يخرج عن نطاق هذا الكتاب).
بعد تطبيق سلوك الخادم بنجاح على الصفحة، تحقق مما يلي:
تحقق من لوحة Server Behaviors للتأكد من ظهور اسم سلوك الخادم في قائمة السلوكيات المضافة إلى الصفحة.
إذا كان ذلك مناسبًا، تحقق من ظهور أيقونات النص البرمجي من جانب الخادم على الصفحة. تعتبر الرموز العامة للبرنامج النصي لجانب الخادم أدرعًا ذهبية. لرؤية الأيقونات، مكّن العناصر غير المرئية (View > Visual Aids > Invisible Elements).
في عرض Code (View > Code)، تحقق من عدم إنشاء كود غير صحيح.
بالإضافة إلى ذلك، إذا كان سلوك الخادم الخاص بك يدرج كودًا في المستند لإنشاء اتصال بقاعدة بيانات، أنشئ قاعدة بيانات اختبار لاختبار الكود المدرج في المستند. تحقق من الاتصال عن طريق تعريف استعلامات تنتج مجموعات مختلفة من البيانات، وأحجام مختلفة من مجموعات البيانات.
أخيرًا، ارفع الصفحة إلى الخادم وافتحها في المتصفح. اعرض شفرة HTML المصدرية للصفحة وتحقق من عدم إنشاء HTML غير صالح بواسطة النصوص البرمجية من جانب الخادم.
قم بإنشاء مواقع ويب جميلة في Dreamweaver
قم بتصميم مواقع الويب الديناميكية وبرمجتها وإدارتها في أداة قوية متكاملة.