明日は「LOCAL PHP部札幌勉強会04 openpearを使ってみよう」の日です
    このエントリをはてなブックマークに登録

2009/4/17 金曜日 matsui Posted in PHP, お知らせ No Comments »

明日行われるイベントの告知です。

明日4月18日に「LOCAL PHP部札幌勉強会04 openpearを使ってみよう」を行います。

ごく少人数の集まりになるかなと思っていましたが、おかげさまで予想よりも多くの申し込みを頂いております。

しかし部屋スペース的には、まだまだ参加可能ですので、お時間のある方はぜひご参加ください。

→ LOCAL 第4回 LOCAL PHP部 勉強会 openpearを使ってみよう [local.gr.jp]

→ 参加申し込みページ LOCAL PHP部 札幌勉強会04(openpearを使ってみよう) [events.php.gr.jp]

 

日時、会場:
4/18(土) 13時~17時
ちえりあ 研修室6
参加費:300円
定員:30名

 

今回はopenpearの作者であるriaf氏を講師としてお招きして、実際にパッケージを制作・登録するハンズオン/開発オフを行います。
各自PCをご持参の上ご参加ください。

13:00  openpearに関する概要・コミット方法の説明など
13:30  もくもく開発
15:00  おやつタイム
16:00  成果発表
16:45  撤収・解散

 

詳しい内容は、上記のページに記載されていますので、そちらからご確認ください。

皆様のご参加をお待ちしております。

 

関連:



Zend Frameworkを使ったケータイサイトの作り方を解説したスライド資料「ZFではじめる携帯サイト」
    このエントリをはてなブックマークに登録

2009/4/13 月曜日 matsui Posted in PHP, 記事紹介・リンク 1 Comment »

先日行われたZend Framework勉強会@Tokyo内でid:Bayside氏によって発表されたスライド資料、「ZFではじめる携帯サイト」が公開されているようなのでご紹介させていただきます。

 

→ Devel::Bayside Zend Framework ではじめる携帯サイト

→ ZFではじめる携帯サイト (PDF)

 

Zend Frameworkとは、Zend社を中心として開発されているPHP向けのフレームワークです。
PHPの世界では、CakePHPやsymfonyなどと並んで、多くの利用ユーザがいます。

この資料では、このZend Frameworkを使って、ケータイサイトを構築する場合のテクニックとノウハウがまとめられています。

 

機種判別やセッションについて、といった基本的なところから、画像変換、絵文字変換、半角カナ&絵文字メールについてといった、ケータイサイトならではの込み入った部分まで幅広く触れられています。

またZend_Formのつかいどころという形で、具体的な設定定義やControllerやViewのコードについても解説されていますので、Zend Framework使いの方はとても参考になるのではないでしょうか。

 

最近はケータイサイト開発でもフレームワークを使った開発がかなり多くなってきています。

あまりフレームワークを使ったことのないという方も、一度目を通してみてはいかがでしょうか。

 

関連:



CakePHP用のケータイ対応ライブラリ「Ktai Library」の新バージョンがリリース間近、テスト協力者の募集も
    このエントリをはてなブックマークに登録

2009/4/7 火曜日 matsui Posted in PHP, ニュース, 記事紹介・リンク No Comments »

作者のMASA-Pさんご本人からのタレコミです。
(情報提供ありがとうございます)

先日ご紹介させていただいた、CakePHP向けのケータイライブラリ「Ktai Library」がバージョンアップされ、現在「Ver0.0.2beta3」となっているようです。

→ ECWorks Blog 【Ktai】機能チェックサイトがVer0.0.2beta3になりました [blog.ecworks.jp]

 

新バージョンである「Ver0.0.2」に向け、ほぼ最終的な調整に入っているようで、正式リリース前に新機能について動作チェックを収集したいので、テストに協力してくれる方を募集しているとのことです。

テストはこちらのサイトにケータイからアクセスすることで行うことができます。
お時間のある方は、ぜひご協力をお願いします。

→ 「Ktai Library」機能チェックサイト (ケータイ用)

 

これとは別に、既にCakePHPをお使いの方で、リリース前の生け贄になってくれる方も募集しているとのことです。
こちらは上記ブログのコメント欄から申し込みができるようです。

 

新バージョンでは、UTF-8対応、mailto作成機能に加え、大画面携帯向けのストレッチ機能を盛り込んでいるとのことです。
ストレッチ機能とは、ソフトバンクの高解像度端末などで画像入りのページを表示すると、解像度が高すぎるために画面のレイアウトが崩れてしまう問題で、困っていた方も多いと思います。
これは使える機能ですね。

正式バージョンのリリースが楽しみです。

 

関連:



PHPでモバイル向けクローラを判定する関数
    このエントリをはてなブックマークに登録

2008/11/11 火曜日 matsui Posted in PHP 4 Comments »

PHPからモバイル向けクローラを判定する関数を作ってみました。

ケータイサイトを作る際に、対応機種を「FOMA以降」としたいような場合があります。

そのような場合、例えばPEAR::Net_UserAgent_Mobileの「isFOMA」メソッドなどを使って機種を判定し、非対応機種であればその旨を書いたページを表示するのですが、クローラはFOMAのユーザエージェントを持っているとは限りません。

例えばGoogleは、未だにドコモのN505iのユーザエージェントを騙ってきます。
それでは非対応用画面がクローラにキャッシュされてしまいます。

 

ということで、その対策のためモバイル向けのクローラーを判定する関数を作ってみました。
とは言ってもリストをなめるだけのごくごく単純な関数です。

この関数を対応機種判定より先に判定してやれば、クローラが非対応機種と判断されることはありません。

/**
 * クローラ判定
 * @return	bool	true:クローラ、false:非クローラ
 */
function isCrawler()
{
	$crawler_arr = array(
		'Googlebot-Mobile', 
		'moba-crawler', 
		'mobile goo', 
		'LD_mobile_bot', 
		'froute.jp', 
		'Y!J-SRD', 
		'Y!J-MRD'
	);
	
	foreach ($crawler_arr as $val) {
		if (false !== strpos($_SERVER['HTTP_USER_AGENT'], $val)) {
			return true;
		}
	}
	
	return false;
}

 

クローラのユーザエージェント文字列の情報元としたページはこちらです。

 

なお、ユーザエージェントを変更し検索エンジンを騙ることは簡単ですので、ケータイ実機とクローラ以外に見られたくないページを用意する場合は、IPアドレスによるアクセス制限を併用してください。

他にもIPアドレスからキャリアやクローラの種類を判定する方法もあるのですが、それはまた別のエントリーで書きたいと思います。

 

関連:



ケータイの端末ID・ユーザIDの取得についてまとめてみました(サンプルプログラム編)
    このエントリをはてなブックマークに登録

2008/9/9 火曜日 matsui Posted in au, DoCoMo, PHP, SoftBank No Comments »

昨日の記事に続き、本日も端末ID・ユーザIDの話です。

各種IDの基本的な取得の方法は、昨日すでにご紹介したので、より具体的なプログラムのサンプルをご紹介したいと思います。

IDの取得には、「PEAR::Net_UserAgent_Mobile」を使うのが簡単でオススメです。

→ PEAR Net_UserAgent_Mobile [pear.php.net]

 

まずはインストール方法からです。

・Windowsの場合:

> c:\php\pear install -f Net_UserAgent_Mobile

※「c:\phpはPHPをインストールした場所に合わせて適宜読み替えてください」
※「-f」オプションはベータ版のためインストールできないというエラーを回避するためのものです。

・Linux環境の場合:

# pear install -f Net_UserAgent_Mobile

レンタルサーバなどでインストールが出来ない場合は、上記本家サイトの「Download」からパッケージをダウンロードし、

「Net/UserAgent/Mobile.php」
「Net/UserAgent/Mobile/」

となるように設置しても動作します。(PEAR本体がインストールされてない場合はそちらのインストールも必要になります)

 

さて、インストールが完了したらプログラムを設置します。
サンプルプログラムは次の通りです。

// PEAR::Net_UserAgent_Mobileの読み込み
require_once('Net/UserAgent/Mobile.php');

// インスタンスの作成
$agent = Net_UserAgent_Mobile::factory();

は、既に実行済みと仮定します。

ドコモの場合

// 端末製造番号
$ser_no = $agent->getSerialNumber();

// FOMAカード製造番号
$card_no = $agent->getCardID();

// iモードIDを取得
$imode_id = $agent->getUID();

端末製造番号とFOMAカード製造番号は「utn認証」を、iモードIDは「guid=ON」を付けないと、値が取得できないことに注意してください。
(詳しくは昨日の記事を参照してください)

 

auの場合

// EZ番号(サブスクライバID)を取得
$ez_no = $agent->getUID();

 

ソフトバンクの場合

// 端末シリアル番号を取得
$ser_no = $agent->getSerialNumber();

// x-jphone-uidを取得
$j_uid = $agent->getUID();

 

これならどれも簡単に取得できますね。
メソッドの詳細が知りたい方は、本家のドキュメントページを参照するとよいでしょう。

→ PEAR Net_UserAgent_Mobile Documentation [pear.php.net]

 

なお、何かしらの理由でID取得の処理を一から実装し直さなくてはならないような場合は、上記のPEAR::Net_UserAgent_Mobileのソースの他にも、OpenPNE [openpne.jp] の簡単ログインの部分(webapp/lib/OpenPNE/KtaiID.php)のソースが参考になったりします。

 

関連: