تم التحديد من مدونة slamdunk3
1. تنسيق الملف المشكلة الأولى التي يجب أن تواجهها هي تنسيق الملف، عند تطوير الويب، يستخدم الجميع html أو xhtml. عندما يتعلق الأمر بتطوير wap، ما هو wml؟ معلومات أكثر تفصيلاً، ذكرتها هنا باختصار فقط، في رأيي، WML يشبه XML وله تنسيق صارم للغاية، عند إنشاء صفحات WML، يجب عليك استخدام WML
للعرض PHP للإخراج الديناميكي، يجب عليك إرسال رسالة رأس للإشارة إلى أن هذه الصفحة هي wml، وليست بعض أنواع *ml
header("Content-type: text/vnd.wap.wml; charset=" gb2312"");
?>
مجموعة الأحرف المستخدمة هنا هي gb2312. لا توجد مشكلة على منصة الهاتف المحمول، ولكنها لن تعمل على منصة China Unicom ويجب استخدامها لتكون أكثر تنوعًا، ومن الآمن استخدام UTF -8. هذا هو
header("Content-type: text/vnd.wap.wml; charset="utf-8"");
?>
2. التشفير
كما ذكرنا أعلاه، يجب أن تستخدم مجموعة الأحرف utf-8، وهي مجموعة أحرف تستوعب لغات متعددة. يحتل الحرف الصيني بايتين، ويشغل utf-8 4 بايتات، لذا يمكنه استيعاب الكمية. من المعلومات أكبر. قد تكون الأحرف الصينية المكتوبة على الهاتف المحمول عبارة عن مجموعة من الأحرف المشوهة بعد تحويل رمز الصفحة إلى utf-8 عند فتحها لاحقًا، لذلك عند كتابة التعليقات، استخدم التعليقات الإنجليزية قدر الإمكان لتجنب المشاكل غير الضرورية لن أتمكن من فهم ذلك في المستقبل. يمكن لأدوات مثل Editplus وUltraedit تحويل الكود الداخلي للملفات.
3. من
الصعب حقًا التكيف مع الشركات المصنعة للهواتف المحمولة الكبرى في العالم غريبة ويمكن أن تدعم مجموعة متنوعة من التنسيقات، على سبيل المثال، يمكن لبعض النغمات أن تدعم 16، 32، 48 وترًا، وبعضها لا يدعمها بشكل كامل على الرغم من أن هذا يزيد من جودة الهواتف المحمولة وتكلفتها، إلا أنه من الصعب على الإخوة المشاركين في تطوير الهواتف المحمولة، لأنه لا مفر من مطابقة الصور ونغمات الرنين ومعلومات الوسائط المتعددة الأخرى التي يمكن للهاتف المحمول القيام بها وتسمى عملية المطابقة هذه بشكل عام بتكييف الهاتف المحمول.
للقيام بتكييف الهاتف المحمول، نحتاج عمومًا إلى المعلومات التالية
1) ورقة بيانات تفصيلية لتكييف الهاتف المحمول، والتي يجب أن تصف بالتفصيل نغمات الرنين وتنسيقات الصور التي يمكن أن يدعمها الهاتف المحمول، بالإضافة إلى طراز الهاتف المحمول والمعلومات الأخرى.
2) للحصول على UA للهاتف المحمول بشكل صحيح، ما هو UA هو (وكيل المستخدم)، وهو في الواقع معلومات الهاتف المحمول للمستخدم
فقط مع ما ورد أعلاه يمكننا إجراء التعديلات، إليك واحدة كتبتها على wap الفئات المستخدمة فيها يمكن استخدام التطوير للحصول على أرقام الهواتف المحمولة والهواتف المحمولة UA
/**
.
* اسم الفئة : جوال
* الوصف: معلومات الهاتف المحمول
* أخرى : كتبت بالصدفة
*/
فئة المحمول
{
/**
* اسم الوظيفة: getPhoneNumber
* الوظيفة: الحصول على رقم الهاتف المحمول
* معلمات الإدخال: لا شيء
* قيمة إرجاع الدالة: رقم الإرجاع في حالة النجاح، والخطأ في حالة الفشل
* تعليمات أخرى: تعليمات
*/
الدالة getPhoneNumber()
{
إذا (isset($_SERVER['HTTP_X_NETWORK_INFO']))
{
$str1 = $_SERVER['HTTP_X_NETWORK_INFO'];
$getstr1 = preg_replace('/(.*,)(11[d])(,.*)/i','',$str1);
إرجاع $getstr1؛
}
elseif (isset($_SERVER['HTTP_X_UP_CALLING_LINE_ID']))
{
$getstr2 = $_SERVER['HTTP_X_UP_CALLING_LINE_ID'];
إرجاع $getstr2;
}
elseif (isset($_SERVER['HTTP_X_UP_SUBNO']))
{
$str3 = $_SERVER['HTTP_X_UP_SUBNO'];
$getstr3 = preg_replace('/(.*)(11[d])(.*)/i','',$str3);
إرجاع $getstr3؛
}
elseif (isset($_SERVER['DEVICEID']))
{
إرجاع $_SERVER['DEVICEID'];
}
آخر
{
إرجاع كاذب؛
}
}
/**
* اسم الوظيفة: getHttpHeader
* الوظيفة: الحصول على معلومات الرأس
* معلمات الإدخال: لا شيء
* قيمة إرجاع الدالة: رقم الإرجاع في حالة النجاح، والخطأ في حالة الفشل
* تعليمات أخرى: تعليمات
*/
الدالة getHttpHeader()
{
$str = '';
foreach ($_SERVER كـ $key=>$val)
{
$gstr = str_replace("&"،&"،$val);
$str.= "$key -> ".$gstr."rn";
}
إرجاع $str;
}
/**
* اسم الوظيفة: getUA
* الوظيفة: احصل على UA
* معلمات الإدخال: لا شيء
* قيمة إرجاع الدالة: رقم الإرجاع في حالة النجاح، والخطأ في حالة الفشل
* تعليمات أخرى: تعليمات
*/
الدالة getUA()
{
إذا (isset($_SERVER['HTTP_USER_AGENT']))
{
إرجاع $_SERVER['HTTP_USER_AGENT'];
}
آخر
{
إرجاع كاذب؛
}
}
/**
* اسم الوظيفة: getPhoneType
* الوظيفة: الحصول على نوع الهاتف المحمول
* معلمات الإدخال: لا شيء
* قيمة إرجاع الدالة: سلسلة إذا نجحت، وخطأ إذا فشلت
* تعليمات أخرى: تعليمات
*/
الدالة getPhoneType()
{
$ua = $this->getUA();
إذا($ua!=خطأ)
{
$str = تنفجر(' ',$ua);
إرجاع $str[0];
}
آخر
{
إرجاع كاذب؛
}
}
/**
* اسم الوظيفة: isOpera
* الوظيفة: تحديد ما إذا كانت أوبرا
* معلمات الإدخال: لا شيء www.knowsky.com
* قيمة إرجاع الدالة: سلسلة إذا نجحت، وخطأ إذا فشلت
* تعليمات أخرى: تعليمات
*/
الدالة هيOpera()
{
$uainfo = $this->getUA();
إذا (preg_match('/.*Opera.*/i',$uainfo))
{
العودة صحيحة؛
}
آخر
{
إرجاع كاذب؛
}
}
/**
* اسم الوظيفة: isM3gate
* الوظيفة: تحديد ما إذا كان m3gate
* معلمات الإدخال: لا شيء
* قيمة إرجاع الدالة: سلسلة إذا نجحت، وخطأ إذا فشلت
* تعليمات أخرى: تعليمات
*/
الدالة M3gate()
{
$uainfo = $this->getUA();
إذا (preg_match('/M3Gate/i',$uainfo))
{
العودة صحيحة؛
}
آخر
{
إرجاع كاذب؛
}
}
/**
* اسم الوظيفة: getHttpAccept
* الوظيفة: احصل على HA
* معلمات الإدخال: لا شيء
* قيمة إرجاع الدالة: سلسلة إذا نجحت، وخطأ إذا فشلت
* تعليمات أخرى: تعليمات
*/
الدالة getHttpAccept()
{
إذا (isset($_SERVER['HTTP_ACCEPT']))
{
إرجاع $_SERVER['HTTP_ACCEPT'];
}
آخر
{
إرجاع كاذب؛
}
}
/**
* اسم الوظيفة: getIP
* الوظيفة: الحصول على IP للهاتف المحمول
* معلمات الإدخال: لا شيء
* قيمة إرجاع الوظيفة: تم إرجاع السلسلة بنجاح
* تعليمات أخرى: تعليمات
*/
الدالة getIP()
{
$ip=getenv('REMOTE_ADDR');
$ip_ = getenv('HTTP_X_FORWARDED_FOR');
إذا (($ip_ != "") && ($ip_ != "غير معروف"))
{
$ip=$ip_;
}
إرجاع $ip;
}
}
?>
4. تصميم الصفحة
عند تطوير wap، تكون صفحة wap بسيطة جدًا ولا يمكن أن تكون أبسط من html، في wap1.0، لا توجد أشياء فوضوية مثل الجداول، كل العلامات مكتوبة في علامة تسمى البطاقة يمكن استخدامه للتجزئة، لذلك من السهل إنشاء الصفحات.
5. محاكي
لتطوير WAP، لا بد من استخدام محاكيات مختلفة للاختبار من الأفضل عدم استخدامه للاختبار. توافقه جيد جدًا لدرجة أنه حتى لو كانت هناك أخطاء في الصفحة، فيمكن تجاهلها. الاختبار هو نفس استخدام المتصفح لاختبار صفحة الويب، فقط أدخل عنوان URL. لا يوجد أسهل من هذا
6. ملاحظات
1) المسافات، خاصة عند تعريف DTD.
صدى "";
?>
إذا كانت هناك مسافات مفقودة في مكان ما، فسوف تعاني. عندما كنت أكتب، استخدمت إعادة ترتيب الصفحة لإزالة بعض المسافات. من فضلك لا تتبع المثال الخاص
بي ) العلامات، إذا لم يتم إقران العلامات، فسيتم ظهور خطأ. فقط انتبه، فمن السهل تصحيحه.