7月 27

PhpDocumentorはプログラムソースからリファレンスを生成することができるツールです。

プログラムソースのコメントからリファレンスを生成します。

HTMLやPDFにアウトプットすることができます。

■インストール
Ubuntuパッケージ
$sudo apt-get install

Linuxソース
ここからDLして
unzip xxx.zip
cd xxx
./configure;make;make install;

■クラスのコメントの書き方

/**
* ログインクラス(クラスの論理名)
*
* ログインに関する機能を有するクラス(クラスの説明)
*
* @package パッケージ名
* @author 著作者 <著作者メール>
* @since 2009/07/27
* @version $Id: login.class.php,v 1.0 2009/07/27 20:15:32 xxx Exp $
*/

■メソッド、関数のコメントの書き方

/**
* loginチェック(メソッドの説明)
*
* @param string $arg ユーザー名
* @param integer $arg2 パスワード
* @return string 1:LoginOK 0:LogniNG
*/

■ドキュメント生成

phpdoc -t ./ドキュメント保存先 -d ./ソースディレクトリ

$ cd sourceディレクトリ
$ mkdir doc
$ phpdoc -t ./doc -d ./* -o HTML:Smarty:PHP
// -o HTML:Smarty:PHP を指定するとUTF-8のソースで文字化け無く見れます

■マニュアル
PEAR
phpDocumentor

7月 20

【重要・あと30日です】Product Advertising API の署名認証利用開始のお願い

移行期間終了後に認証を含まないリクエストが送信された場合、リクエストは一切処理されなくなりますのでご注意ください。
とのメールがきました。

AWSの仕様変更があり名称も「Product Advertising API」となりました。

いままではAccessKeyIDのみの認証でしたが、SecretAccessKeyなるものが必要になりました。

PEAR::Services_Amazonのものは
こちらを参考にさせていただきました。

# pear upgrade Services_Amazon-beta

Did not download optional dependencies: pear/Cache, use –alldeps to download automatically
downloading Services_Amazon-0.8.0.tgz …
Starting to download Services_Amazon-0.8.0.tgz (20,992 bytes)
……..done: 20,992 bytes
upgrade ok: channel://pear.php.net/Services_Amazon-0.8.0

でServices_Amazonをアップグレードして、requireするファイルをAmazonにして呼び出し時にSecretAccessKeyを追加。

require_once 'Services/Amazon.php';
$Ama = new Services_Amazon(ACCESS_KEY_ID, SECRET_KEY_ID, ASSOC_ID);

Zend_Service_Amazonを使ってるアプリもあるので対応しないと。
こっちは日本語情報少ないな。

Zend Framework 1.8.4 2009-07-02 を落として調査中です。

7月 11

CodeIgniterでデフォルトのページングをおこなうとページングの引数が、offsetとなるので気持ち悪く、ページ番号にしたいとおもいMLなどで質問していると下記のクラスを公開された方がいたので、使用させて頂きました。
http://d.hatena.ne.jp/KuniTsuji/20090710/1247224167
CIのページネーションと同じオプションなのでそのまま使えます。

6月 22

テンプレート側
aタグもしくはFORMタグに「utn」の文字を付与する。

PHP
PEAR::Net_UserAgent_Mobile を使って以下のようなメソッドにしておく。

require(PEAR_DIR. 'Net/UserAgent/Mobile.php');

public function GetSerialNumber( $carrier )
{
	if ( $carrier === 'dcm' ) {
	    /*
	      端末製造番号(UTN)
	        端末ごとの番号なので機種変すると使えない
	        
	      フォーマット(15桁のユニークな英数字)
	        "serxxxxxxxxxxxxxxx"
	        
	        ser: FOMA端末個別識別子
	        xxxxxxxxxxxxxxx: FOMA端末製造番号(15桁)
	        
	    */
	    //$agent = Net_UserAgent_Mobile::singleton();
	    //$mobile_id = $agent->getSerialNumber();
	    
	    /*
	      FOMAカード製造番号(UIM)
	       カードごとに割り振りされている。機種変しても番号が変わらない
	      
	      フォーマット(20桁のユニークな英数字)
	        "iccxxxxxxxxxxxxxxx"
	        
	        icc: FOMAカード個体識別子
	        xxxxxxxxxxxxxxx: FOMA端末製造番号(15桁)
	    $mobile_id = $agent->getCardID();
	    */
	    $mobile_id = $agent->getCardID();
	    
	} elseif( $carrier === 'au' ) {
	    
	    /*
	      EZ番号(サブスクライバID)
	        契約に対して1意に割り振られている
	        
	      フォーマット
	        "XXXXXXXXXXXXX_XX.ezweb.ne.jp"
	        
	        XXXXXXXXXXXXX: 14桁の数字
	        XX: 2桁の英数字
	        ezweb.ne.jp: 固定値
	     */
	        
	    $mobile_id = $_SERVER['HTTP_X_UP_SUBNO'];
	
	} elseif( $carrier === 'sb' ) {
	    
	    /*
	      端末製造番号(P型以降で取得可能)
	        端末ごとの番号なので機種変すると使えない
	        携帯の設定で端末シリアル番号を「送出する」を設定した場合、取得可能となる
	        
	      フォーマット(20桁のユニークな英数字)
	        "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
	        
	        P型: 11桁の英数字
	        W型: 15桁の英数字
	        3GC型: 20桁の英数字
	    */
	    //$agent = Net_UserAgent_Mobile::singleton();
	    //$mobile_id = $agent->getSerialNumber();
	    
	    /*
	      ユーザーID
	       カードごとに割り振りされている。機種変しても番号が変わらない
	       
	      フォーマット
	        "xxxxxxxxxxxxxxxx"
	        
	        xxxxxxxxxxxxxxxx: 16桁の英数字
	    */
	    
	    $mobile_id = $_SERVER['HTTP_X_JPHONE_UID'];
	}
	
	return $mobile_id;
}

6月 12

WordPressを利用してサイトを構築しました。

MTと同じくブログエンジンとしてだけでなく、CMSとして活用する
ことができます。

短い時間で以下のようなサイトを構築できます。

BFC KOWA OIZUMI

bfc-kowa-oizumi-emblem

bfc-kowa-oizumi

昨年からWordPressを研究していますが、プラグインを作成することで
かなり幅広く活用されるシーンが多くなりそうです。

弊社でのWordPressはCMSとしてサイト構築する物、ブログエンジンと
してだけでなく、Smartyなどにかわるビューの高機能フレームワークと
して考えています。

XML-RPCとPHPの組み合わせやプラグインを作成して使うと可能性が広
がります。

MTのように再構築がないので、Cache関連の対策は必須です(たぶん)

PVが当初からある程度見込みのあるサイトであれば必ずCache対策を
したほうが無難でしょう。

テンプレキャッシュ>クエリキャッシュなのでテンプレキャッシュを
実装しないと。
MySQLでMYISAMのテーブルがあるなら定期的に最適化が必要です。

WordPressMuもいろいろ活用できそうですね。