Аргерих Л. О языке РНР. Часть 5. Страница 122


WAP и WML

РНР предоставляет несколько хороших способов генерирования содержимо­го, пригодного для беспроводных устройств типа PDA, наладонных PC и со­товых телефонов. Wireless Markup Language (WML) по строгости синтакси­са сходен с XML, поскольку на нем основан.

При создании страниц WML надо проявлять осторожность, поскольку мно­гие устройства WAP (Wireless Access Protocol) не могут обработать больше 1400 байт компилированных данных («компилированные» означает теги wml, текст и другие данные, имеющиеся на странице).

Возможно, вам будет интересно прочесть спецификацию WML, которую можно найти на http://www.oasis-open.org/cover/wap-wml.html"> http://www.oasis-open.org/cover/wap-wml.html.

WML основан не на страницах, а на подстраницах, называемых

(cards), находящимися внутри главной страницы, называемой «колодой»

(deck). Простая страница WML имеет следующий синтаксис:

<wml> <card id="home">

<p>Welcome, wireless users! </p> </card>

</wml>

Беспроводное устройство, которое обращается к этой странице, получит со­общение: «Welcome, wireless users!» Может возникнуть вопрос, каким обра­зом пользователи беспроводных устройств получат эту страницу вместо файла index, html, показываемого по умолчанию. Для этого требуется немно­го разбираться в администрировании Apache. Сначала надо отредактировать файл httpd.conf и добавить .wml в качестве типа MIME, обрабатываемого РНР. Для этого найдем в httpd. conf строку:

AddType application/x-httpd-php .php .phtml

Заменим ее следующей:

AddType application/x-httpd-php .php .phtml wml

Необходимо также при помощи модуля Apache mod_rewrite изменить марш­рут файла, который видят пользователи беспроводных устройств, когда за­прашивают страницу, не являющуюся WAP-совместимой. Тем, кому этот материал не понятен, советуем почитать «Professional Apache» издательства Wrox Press (ISBN 1-861003-02-1).хДля того чтобы активизировать mod_rew- rite, надо раскомментировать следующие строки:

flLoadModule rewrite_module modules/mod.rewrite. so #AddModule mod_ rew rite.с

У пользователей Apache под Windows поддержка mod_rewrite включается ав­томатически.

Затем необходимо добавить в httpd. conf следующий текст:

RewriteEngine On

((Обнаруживать броузеры WAR

RewriteCond %{НПР_АССЕРТ) text/vnd\.wap\.wml [OR]

ttWAPjag и WinWAP вызывают страницы с этим заголовком USER_AGENT RewriteCond %{HTTP_USER_AGENT} wap [OR]

«Эмуляторы Nokia вызывают страницы с этим заголовком