Dipilih dari Blog slamdunk3
1. Format file Masalah pertama yang pasti Anda temui adalah format file, saat melakukan pengembangan web, semua orang menggunakan html atau xhtml, kalau untuk pengembangan wap harus menggunakan wml
informasi lebih detailnya, saya hanya menyebutkannya secara singkat disini, menurut saya wml mirip dengan xml dan memiliki format yangsangat
ketat, saat membuat halaman wap harus menggunakan wml untuk tampilannya
PHP untuk keluaran dinamis, Anda harus mengirimkan pesan header untuk menunjukkan bahwa halaman ini adalah wml, bukan *ml.header
("Content-type: text/vnd.wap.wml; charset=" gb2312"");
?>
Character set yang digunakan disini adalah gb2312. Tidak ada masalah pada platform mobile, namun tidak akan berfungsi pada platform China Unicom -8. Itu adalah
header("Jenis konten: text/vnd.wap.wml; charset="utf-8"");
?>
2. Pengkodean
Seperti disebutkan di atas, kumpulan karakter semuanya harus menggunakan utf-8. Ini adalah kumpulan karakter yang mengakomodasi banyak bahasa. Karakter Cina menempati dua byte, dan utf-8 menempati 4 byte, sehingga dapat menampung Jumlahnya informasi lebih besar. Karakter Cina yang ditulis di ponsel mungkin merupakan kumpulan karakter yang kacau setelah kode halaman diubah menjadi utf-8 ketika dibuka nanti. Oleh karena itu, saat membuat komentar, gunakan komentar bahasa Inggris sebanyak mungkin untuk menghindari masalah yang tidak perlu Saya tidak akan bisa memahaminya di masa depan. Alat seperti editplus dan ultraedit dapat mengkonversi kode internal file.
3.
Sangat sulit untuk beradaptasi dengan produsen ponsel besar dunia aneh dan dapat mendukung berbagai format. Misalnya nada dering, ada yang mendukung 16, 32, 48 akord, mendukung mid, wmv, ada yang tidak sepenuhnya mendukung gif, png, bmp, dan ada pula yang tidak sepenuhnya mendukungnya. Meskipun hal ini meningkatkan kualitas dan harga ponsel, namun sulit bagi saudara-saudara yang bergerak di bidang pengembangan ponsel. Karena tidak dapat dihindari untuk mencocokkan gambar, nada dering, dan informasi multimedia lainnya yang dapat dilakukan oleh ponsel dukungan. Proses pencocokan ini umumnya disebut adaptasi ponsel.
Untuk melakukan adaptasi telepon seluler, umumnya kita memerlukan informasi berikut.
1) Lembar data adaptasi telepon seluler yang terperinci, yang harus menjelaskan secara rinci nada dering dan format gambar yang dapat didukung oleh telepon seluler, serta model telepon seluler dan informasi lainnya.
2) Untuk mendapatkan UA ponsel dengan benar, apa itu UA (agen pengguna), yang sebenarnya adalah informasi ponsel pengguna.
Hanya dengan hal di atas kita dapat melakukan adaptasi pengembangan dapat digunakan untuk mendapatkan nomor ponsel dan UA ponsel
/**.
* Nama kelas: seluler
* Deskripsi: Informasi ponsel
* Lainnya: Ditulis secara kebetulan
*/
ponsel kelas
{
/**
* Nama fungsi: getPhoneNumber
* Fungsi: Dapatkan nomor ponsel
* Parameter masukan: tidak ada
* Nilai pengembalian fungsi: Nomor pengembalian jika berhasil, salah jika gagal
* Instruksi lainnya: instruksi
*/
fungsi getPhoneNumber()
{
jika (isset($_SERVER['HTTP_X_NETWORK_INFO']))
{
$str1 = $_SERVER['HTTP_X_NETWORK_INFO'];
$getstr1 = preg_replace('/(.*,)(11[d])(,.*)/i','',$str1);
Kembalikan $getstr1;
}
elseif(diset($_SERVER['HTTP_X_UP_CALLING_LINE_ID']))
{
$getstr2 = $_SERVER['HTTP_X_UP_CALLING_LINE_ID'];
Kembalikan $getstr2;
}
elseif(diset($_SERVER['HTTP_X_UP_SUBNO']))
{
$str3 = $_SERVER['HTTP_X_UP_SUBNO'];
$getstr3 = preg_replace('/(.*)(11[d])(.*)/i','',$str3);
Kembalikan $getstr3;
}
elseif (isset($_SERVER['DEVICEID']))
{
Kembalikan $_SERVER['DEVICEID'];
}
kalau tidak
{
Kembalikan salah;
}
}
/**
* Nama fungsi: getHttpHeader
* Fungsi: Dapatkan informasi header
* Parameter masukan: tidak ada
* Nilai pengembalian fungsi: Nomor pengembalian jika berhasil, salah jika gagal
* Instruksi lainnya: instruksi
*/
fungsi getHttpHeader()
{
$str = '';
foreach ($_SERVER sebagai $key=>$val)
{
$gstr = str_replace("&","&",$val);
$str.= "$kunci -> ".$gstr."rn";
}
Kembalikan $str;
}
/**
* Nama fungsi: getUA
* Fungsi: Dapatkan UA
* Parameter masukan: tidak ada
* Nilai pengembalian fungsi: Nomor pengembalian jika berhasil, salah jika gagal
* Instruksi lainnya: instruksi
*/
fungsi getUA()
{
jika (diset($_SERVER['HTTP_USER_AGENT']))
{
Kembalikan $_SERVER['HTTP_USER_AGENT'];
}
kalau tidak
{
Kembalikan salah;
}
}
/**
* Nama fungsi: getPhoneType
* Fungsi: Mendapatkan tipe ponsel
* Parameter masukan: tidak ada
* Nilai pengembalian fungsi: string jika berhasil, salah jika gagal
* Instruksi lainnya: instruksi
*/
fungsi getPhoneType()
{
$ua = $ini->getUA();
jika($ua!=salah)
{
$str = meledak(' ',$ua);
Kembalikan $str[0];
}
kalau tidak
{
Kembalikan salah;
}
}
/**
* Nama fungsi: isOpera
* Fungsi: Menentukan apakah itu opera
* Parameter masukan: tidak ada www.knowsky.com
* Nilai pengembalian fungsi: string jika berhasil, salah jika gagal
* Instruksi lainnya: instruksi
*/
fungsi isOpera()
{
$uainfo = $ini->getUA();
if (preg_match('/.*Opera.*/i',$uainfo))
{
Kembalikan benar;
}
kalau tidak
{
Kembalikan salah;
}
}
/**
* Nama fungsi: isM3gate
* Fungsi: Tentukan apakah itu m3gate
* Parameter masukan: tidak ada
* Nilai pengembalian fungsi: string jika berhasil, salah jika gagal
* Instruksi lainnya: instruksi
*/
fungsi isM3gate()
{
$uainfo = $ini->getUA();
jika (preg_match('/M3Gate/i',$uainfo))
{
Kembalikan benar;
}
kalau tidak
{
Kembalikan salah;
}
}
/**
* Nama fungsi: getHttpAccept
* Fungsi: Dapatkan HA
* Parameter masukan: tidak ada
* Nilai pengembalian fungsi: string jika berhasil, salah jika gagal
* Instruksi lainnya: instruksi
*/
fungsi getHttpAccept()
{
jika (isset($_SERVER['HTTP_ACCEPT']))
{
Kembalikan $_SERVER['HTTP_ACCEPT'];
}
kalau tidak
{
Kembalikan salah;
}
}
/**
* Nama fungsi: getIP
* Fungsi: Dapatkan IP ponsel
* Parameter masukan: tidak ada
* Nilai pengembalian fungsi: string berhasil dikembalikan
* Instruksi lainnya: instruksi
*/
fungsi getIP()
{
$ip=getenv('REMOTE_ADDR');
$ip_ = getenv('HTTP_X_FORWARDED_FOR');
if (($ip_ != "") && ($ip_ != "tidak diketahui"))
{
$ip=$ip_;
}
kembalikan $ip;
}
}
?>
4. Desain halaman
Saat mengembangkan wap, halaman wap sangat sederhana. Tidak ada yang lebih sederhana dari html. Di wap1.0, tidak ada hal-hal yang berantakan seperti tabel. Semua tag ditulis dalam tag yang disebut kartu .Dapat digunakan untuk segmentasi, sehingga memudahkan dalam membuat halaman.
5. Simulator
Untuk pengembangan wap, tidak dapat dihindari untuk menggunakan berbagai simulator untuk pengujian.Yang lebih baik adalah m3gate, openwave, opera, dan yang disebut winwap yang terbaik adalah tidak menggunakannya untuk pengujian. Kompatibilitasnya sangat baik sehingga meskipun ada kesalahan pada halaman, kesalahan tersebut dapat diabaikan. Pengujiannya sama dengan menggunakan browser untuk menguji halaman web. Tidak ada yang lebih mudah dari ini.
6. Catatan
1) Spasi, terutama saat mendefinisikan DTD,
gema "";
?>
saya
menggunakan penataan ulang halaman untuk menghapus beberapa spasi. Butuh waktu dua hari untuk menemukan kesalahannya. Tolong jangan ikuti contoh saya
) Tag, jika tag tidak dipasangkan, akan muncul kesalahan. Perhatikan saja, mudah untuk memperbaikinya.