لا يمكن فصل تطوير WAP عن تراث WWW الخاص به، حيث تمت صياغة بروتوكول WAP بالكامل بالرجوع إلى نموذج WWW واستخدام العديد من معايير وتقنيات الإنترنت قدر الإمكان. على سبيل المثال، ولدت لغة WML من HTML و XML وWMLScript مشتقان من لغات البرمجة النصية التقليدية المتشابهة جدًا أيضًا. وفي الواقع، على الرغم من أن WAP هو مصطلح جديد، إلا أنه يتكامل بشكل لا ينفصل مع شبكة الإنترنت الدولية التقليدية، سواء من الناحية الهيكلية أو التقنية.
يُذكر في بروتوكول WAP أن لغة الترميز التي تستخدمها صفحات WAP هي WML. عندما تكون هناك حاجة إلى عمليات ذات مستوى أعلى، مثل استخدام موارد معينة للمحطة، يمكنك استخدام لغة البرمجة النصية WMLScript بسيطة للغاية، ويمكنك حتى وصفها ببساطة، فهي غير قادرة تقريبًا على تشغيل قواعد البيانات. هذا "الخلل" غير متوافق مع آفاق الأعمال والتطبيقات الواسعة لـ WAP، لكننا لسنا عاجزين بسبب تكامل WAP وWWW ، لا يزال بإمكاننا استخدام تكنولوجيا وموارد WWW لحل مشكلات الوصول إلى قاعدة البيانات، لأنه في النهاية، لا تزال معظم قواعد البيانات داخل الشبكة السلكية.
ما هو المزيج الأكثر شيوعًا بين لغة برمجة الويب وقاعدة البيانات في الوقت الحالي؟ أعتقد أن الكثير من الناس سيقولون الأسماء "PHP" و"MySQL". إنها تنتمي إلى فئة WWW أو الإنترنت السلكي، وهي مشهورة بسهولة الاستخدام ووظائفها القوية، فهل يمكنها خدمة WAP؟ الجواب هو نعم. قد يكون الأشخاص الذين ليسوا على دراية بـ WAP أو PHP في حيرة من أمرهم، فبعد كل شيء، بالمعنى التقليدي، توفر PHP محتوى وخدمات WWW. هل هي "متوافقة" مع WAP؟
تقريبية
إلى PHP بعد قراءة المقدمة إلى WAP، يجب على الجميع أن يبدأوا تدريجيًا في فهم سبب استمرار PHP في خدمة WAP. يختلف PHP عن HTML وWML وJavascript وJava، فهو يعمل على جانب الخادم، بينما يعمل Javascript وJava وما إلى ذلك على جانب المتصفح. بالمقارنة مع WAP، يعمل WMLScript على جانب العميل يمكن دمج كل ذلك بسهولة مع PHP.
تتمتع PHP بمرونة كبيرة في WWW، حيث يمكنها إنشاء أي كود HTML مطلوب، حتى كود Javascript. وبالمثل، في WAP، لا يزال بإمكاننا استخدام الخصائص الديناميكية والمرنة لـ PHP لإنشاء تعليمات برمجية WML عشوائية، بحيث يمكن لـ PHP أن تخدم WAP بشكل طبيعي.
السبب وراء استخدام PHP لتقديم خدمات WAP ليس فقط ميزاتها المرنة، ولكن أيضًا لأن PHP يمكنها استخدام قواعد البيانات بسهولة. يمكن للمستخدمين استخدام PHP للوصول إلى Oracle وSybase وMS SQL وMySQL وdBase وInformix وقواعد البيانات الأخرى التي تدعم معايير ODBC، والتي تلبي فقط احتياجات أعمال WAP.
من الناحية العملية، من الضروري بشكل عام إنشاء ملف PHP. عندما يرسل المستخدم طلبًا إلى الخادم لتصفح ملف PHP، سيقوم الخادم بإنشاء محتوى HTML أو WML المقابل بناءً على الكود الموجود في الملف وإرساله إلى الموقع. المتصفح أو محطة WAP.
إذا كنت ترغب في الحصول على معلومات حول PHP، يمكنك الذهاب إلى http://www.php.com .
PHP-WML
نظام PHP وطريقة العمل وطريقة التثبيت ليست ضمن نطاق هذه المقالة، فبعد كل شيء، ينصب تركيزنا على كيفية تعاون PHP مع WAP. بشكل عام، لكي تعمل PHP، نحتاج إلى خادم ويب مزود بوحدة PHP، أو خادم يدعم PHP، وهو خادم الويب الأكثر شهرة في العالم. بالإضافة إلى ذلك، نحتاج أيضًا إلى تثبيت برنامج PHP وما إلى ذلك مثل قاعدة بيانات MySQL، يمكن العثور على محتوى محدد في الكتب أو مواقع الويب ذات الصلة. نناقش أدناه كيفية السماح لـ PHP بإنشاء كود WML.
في WWW، غالبًا ما يكون السطر الأول من المحتوى الذي تم إنشاؤه بواسطة PHP هو: content-type: text/html
ومع ذلك، لا تستطيع محطات WAP قراءة مثل هذه العناوين. وحدة محطات WAP التي يتم تنزيلها من الخادم هي Deck، ووحدة التصفح هي Card. بشكل عام، يشكل Deck ملف WML. وبعد ذلك، عند تقديم WAP، يحتاج ملف PHP غالبًا إلى أن يحتوي على التعليمات البرمجية التالية:
header("Content-type:text/vnd.wap.wml");
صدى "<xml version="1.01">n"
echo"<! DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"" http://www.wapforum.org//DTD//wml_1.1.xml ">n"
أعلاه
بإنشاء رأس ملف WML (Deck)، بحيث يمكن لمحطة WAP تحديد ما إذا كان Deck الذي تم تنزيله بتنسيق WML، ثم عرض محتوى Deck المتبقي.
يوجد أدناه أبسط سطح يعرض "Hello World" على محطة WAP.
<?xml version="1.0" encoding="ISO-8859-1"?> <! DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" " http://www.wapforum.org// DTD//wml_1.1.xml ">
</xml>
<!--Nokia Parser Info:Phone = Nokia 7110; Height = 130; CurrentDeckSize = 38;
</معرف البطاقة = "بطاقة 1" أمر = "صحيح" newcontext = "خطأ">
<ص محاذاة = "يسار">
مرحبا بالعالم
</ع>
</بطاقة>
</wml>
ملفات PHP المقابلة التي أنشأناها هي كما يلي:
<?php
header("نوع المحتوى:نص/vnd.wap.wml");
صدى "<?xml version="1.0">n";
echo "<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" " http://www.wapforum.org//DTD//wml_1.1.xml ">n" ;
صدى "n";
echo "<!--معلومات محلل Nokia: الهاتف = Nokia 7110; الارتفاع = 90; العرض = 130; CurrentDeckSize = 38; MaxDeckSize = 1600; CardsOnEachLine = 5; CardsVerticalGap = 30-->n";
echo "<card id="card1"order="true" newcontext="false"> ";
صدى "<p align="left">n";
صدى "مرحبا بالعالم" ؛
صدى "</p>";
صدى "</بطاقة>";
صدى "</wml>";
?>
يمكننا حفظ الملف بتنسيق Index.php3. عندما تتصفح محطة WAP موقع الويب، سيقوم خادم الويب تلقائيًا بإنشاء محتوى WML المذكور أعلاه استنادًا إلى محتوى ملف Index.php3 وإرساله إلى البوابة للمعالجة. بعد أن تستقبل محطة WAP السطح، ستعرض الكلمات "Hello World" على الشاشة.
ما ورد أعلاه هو أبسط تطبيق لـ PHP في WAP، فهو يقوم ببساطة بإنشاء عدة أسطر من كود WML ولا يتضمن الوصول إلى قاعدة البيانات. في الواقع، يمكن لوظائف PHP القوية أن توفر مجموعة كبيرة من الخدمات لـ WAP، وأكثر ما يستحق الاستكشاف هو دعمها القوي لقاعدة البيانات، والذي سيتم مناقشته في المقالات المستقبلية.