第10回 Net_UserAgent_Mobile クラス - 携帯端末情報取得ライブラリ - PEAR講座

くまっち先生のPEAR講座

Lecutures on PHP

第10回 Net_UserAgent_Mobile クラス - 携帯端末情報取得ライブラリ (その1)

 このエントリーをはてなブックマークに追加

携帯電話端末対応Webサイトを作る

くまっち先生

現在日本国内では複数の携帯電話会社(キャリア)が存在し、また各会社ごとにも様々な電話端末が発表、リリースされています。通話・メールはもちろんのこと、最近では携帯端末からWebサイトを閲覧、利用することが一般的になってきました。

携帯端末で閲覧できるWebサイトは、PC向けWebサイトの仕組みと大よそ同じなものの、若干の仕様の差異が存在します。また、会社毎、そして各端末毎にも多少の差異が存在しています。例えば端末毎に画面サイズの違いにおける表示可能な画像データの大きさや容量、各会社毎にサポートしている画像フォーマットの違いなどがあります。画面内を飾る絵文字もどの会社のものでも利用することができますが、これも会社毎に出力方法が異なります。
したがって携帯端末向けWebサイトは、これらの差異に動的対応できるよう作成しなければなりません。

PEAR Net_UserAgent_Mobileパッケージは、日本国内で利用されている携帯電話端末の情報を簡単に取得し利用することができるライブラリです。アクセスしてきている携帯端末はどこの会社のものなのか、端末名称は何なのか、どんな機能に対応しているのか、といったサイトの動的対応を行うためのきっかけ(条件)となる情報が簡単に取得できます。

ちなみにこのNet_UserAgent_Mobileは、PEARパッケージの1つとして全世界に公開されているにも関わらず、唯一日本の携帯端末のみをカバーしているというちょっと特殊な代物なのです。

ベータバージョン

これまで本講座で紹介してきたパッケージとは異なり、このNet_UserAgent_Mobileパッケージは「ベータバージョン」という状態にあります。

ベータバージョンと聞くと「開発中のソフトウェアなので不安定さ・不具合が残っているのではないか」と懸念される方も居られるかもしれません。確かにベータ版としてソフトウェアをリリースする目的は、正式版をリリースする直前に様々なシーンで試用してもらい不具合報告や機能のフィードバックを得るためにあり、実際に問題が残っているケースもあるでしょう。

くまっち先生

しかしこのNet_UserAgent_Mobileはリリース直後より安定した状態が続いており、安心して利用できるパッケージであると言えます。実際のところ、携帯端末向けサイトを作成するケースをはじめ、携帯端末対応を謳うオープンソースWebアプリケーションでも本パッケージを利用して構築されていることが多くあります。
最近では機能が日々拡張されていて、これが完成形ではない(常に進化している)ということをアピールするため未だベータバージョンとしているWebサービス(mixiなど)などもあったりしますし、ベータを名乗ってるが故安定性にかけ利用できないなどということは決してないのです。

さて、PEARパッケージを導入するためのコマンドラインインストーラ(*1)において、通常はベータバージョン状態にあるパッケージを導入しようとするとリスト1のようなメッセージが出力されインストールに失敗してしまいます。これは、PEARコマンドラインインストーラの設定において、ステイブル(安定版)リリース以上のみを導入するよう初期設定されているためです。

    リスト1. ベータバージョンパッケージの導入失敗

    # pear install pear/Net_UserAgent_Mobile
    Failed to download pear/net_useragent_mobile within preferred state "stable", 
    latest release is version 0.30.0, stability "beta", use channel://pear.php.net/net_useragent_mobile-0.30.0" to install
    Cannot initialize 'channel://pear.php.net/net_useragent_mobile', invalid or 
    missing package file
    Package "channel://pear.php.net/net_useragent_mobile" is not valid
    install failed 

ベータバージョンパッケージをインストールするためには、以下のようにパッケージ名の最後に「-beta」という文字列を付与してインストールコマンドを実行します。

    # pear install pear/Net_UserAgent_Mobile-beta

もしくは、PEARコマンドラインインストーラの設定において導入可能なバージョン状態レベルをベータバージョンまで下げることで、通常インストールコマンドでも導入を可能にすることができます。以下の「pear config-set」コマンドを使用することで設定変更が行えます。

    # pear config-set preferred_state beta
    # pear install pear/Net_UserAgent_Mobile

設定項目の「preferred_state」が導入可能バージョンのレベルを決定しています。この項目に対して指定しようとしている「beta」が導入可能なバージョン状態の値となります。前述の通り初期値は「stable」です。なお、更に開発中な状態であることを示すバージョンの値として「alpha」「devel」といったものもあります。

----
*1) http://pear.php.net/manual/ja/installation.cli.php


  



Pick Up Q&A

Q
ログファイルの中の空のデータ行を削除したい
 このエントリーをはてなブックマークに追加 
A
ログのデータ個数(列数)が固定で、空のログが"<><><>"だと既知であれば if ($line === "<><><>") { continue; } で読み飛ばしてもいいのでは? ...

>>続きを読む

まずは配列や文字列の扱いから、じっくり勉強して行きましょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)