2009年3月8日日曜日

phpDocumentorのメモ

PHPのソースからAPIドキュメントを出力するツール「phpDocumentor」を調べたのでメモ。
JavaでのJavaDocにあたるもの。PHPソース内の記述もJavaDocとほぼ同じ。

インストールはpearから。
-----インストール例-------
>pear install --alldeps phpdocumentor
WARNING: channel "pear.php.net" has updated its protocols, use "channel-update
ear.php.net" to update
downloading PhpDocumentor-1.4.2.tgz ...
Starting to download PhpDocumentor-1.4.2.tgz (2,421,028 bytes)
....................................................................done: 2,421
028 bytes
downloading XML_Beautifier-1.2.0.tgz ...
Starting to download XML_Beautifier-1.2.0.tgz (12,948 bytes)
...done: 12,948 bytes
downloading XML_Parser-1.3.2.tgz ...
Starting to download XML_Parser-1.3.2.tgz (16,260 bytes)
...done: 16,260 bytes
downloading XML_Util-1.2.1.tgz ...
Starting to download XML_Util-1.2.1.tgz (17,729 bytes)
...done: 17,729 bytes
install ok: channel://pear.php.net/PhpDocumentor-1.4.2
install ok: channel://pear.php.net/XML_Parser-1.3.2
install ok: channel://pear.php.net/XML_Util-1.2.1
install ok: channel://pear.php.net/XML_Beautifier-1.2.0

-----インストール例ここまで-------

実行はコマンドラインから。

(実行)
>phpdoc -t ドキュメント出力ディレクトリ -d ソースディレクトリ -o HTML:frames:earthli

※ 出力はHTML::frames:earthliがお気に入り

テーマ(?)のテンプレートが日本語対応になっておらず、出力したファイルが文字化けするので、以下のテンプレートを修正する。

ディレクトリ([php install directory]/data/PhpDocumentor/phpDocumentor/Converters/HTML/タイプ/templates/テーマ/templates)以下にあるheader.tplファイルのISO-8859-1と書かれている所を文字コードにあわせて修正

PDF/CHMもためしたが、PDFは文字化け、CHMはファイルの生成がされなかった。

[タイプ/テーマ]
frames(フレームあり)
 default
 DOM
 earthli
 l0l33t
 phpdoc.de
 phpedit
 phphtmllib

Smarty(フレームなし)
 HandS
 PHP
 default

(参考URL)
http://caspar.hazymoon.jp/php/phpDocumentor/

ieHTTPHeaders

HTTPヘッダー情報を知りたいときにはいつもFirefoxのLive HTTP Headersというプラグインを使っているのですが、IEでHTTPヘッダーを表示するプラグインとして「ieHTTPHeaders」があるのを知ったのでとりあえずメモ。

2009年2月19日木曜日

IEでローカルファイルのJavaScriptの動作を確認するときのおまじない

IEでローカルファイルのJavascriptやFLASHの動作を確認使用とするとセキュリティ警告が出てきてちょっと面倒。
DOCTYPE宣言の後に、以下の一文を入れておくとIEでセキュリティ警告が出なくなる。

<!-- saved from url=(0014)about:internet -->

文字コードはEUC-JPでもUTF-8でも何でもいいけど、改行はCRLFでないとうまく動作しないので注意。

2009年2月14日土曜日

フリーのER図作成ツール

[ClayDatabaseModeling]
http://www.azzurri.co.jp/ja/clay/index.html

PostgreSQL7.x,MySQL3,4などちょっと古い印象。
Windows以外や、Eclipseのプラグインとして動作するので、Eclipseユーザならいいかも。


[A5:SQL Mk-2]
http://www.wind.sannet.ne.jp/m_matsu/developer/a5m2/#Download

結果をExcelシートに出力できるのは面白いかも。

PostgreSQLでサーバ・クライアント間の自動文字セット変換

[参考ドキュメント]
http://www.postgresql.jp/document/pg835doc/html/multibyte.html#AEN27493

クライアント側で使用するの文字セットを明示することで、サーバとクライアントの間の文字セットの変換をしてくれる。
SQLベースで行う場合は以下のようなSQL(?)を接続時に実行すればよい。

UTF8を指定する例)

 SET CLIENT_ENCODING TO 'UTF8'

2009年2月12日木曜日

jQuery適当メモ


[jQuery日本語リファレンス]
http://semooh.jp/jquery/cont/doc/release_1.3/

(1)ダウンロード
ダウンロードは以下から
[jQuery]
http://jquery.com/

開発用の非圧縮用と、公開用(?)圧縮されたライブラリが用意されいる。
試したときのバージョンは1.3.1

2)コアライブラリの読み込みと読み込み完了の関数実行

HTMLに以下を記載(srcの部分は環境に合わせて)
<pre>
<script type="text/javascript" src="js/jquery-1.3.1.min.js"></script>
<script>
jQuery.noConflict();
jQuery(document).ready(function(){
//実行したい内容を記載<br />}
</script>
</pre>
jQuery.noConflict()は他のライブラリを意識する場合に記述する。
記述すると、$のショートカット(?)は無効になるので、jQuery()の記述だけが利用できることになる。
prototype.jsと同時に使わなければ意識する必要なないようです。
以下のように戻り値を受け取ると、宣言した変数が$の代わりに使える。

   var j = jQuery.noConflict();

$は短くていいけど、個人的な趣味で以下はjQuery.xxxで書いておきます。

jQuery(document).ready(function(){})
はブラウザがDOMを構成し終わった後に起動する関数オブジェクトを指定する。
いくつも重ねて書いてもいいようです。

(3)要素の指定方法

$(".クラス名");
$("タグ名");
$("#ID名");

(4)個人的に良く使いそうなメソッド

要素.addClass();//クラス追加
要素.removeClass();//クラス除外
要素.toggleClass(class)//要素に対し、指定CSSクラスがあれば削除し、無ければ追加する。

要素.html();//HTMLの取得/設定
要素.val();//value属性の取得/設定


(5)個人的に良くお世話になりそうなイベント

//クリックイベント
要素.click();

//要素にマウスが乗った時の動作イベント。
//overがマウスが乗った時、outが外れた時に呼び出す関数オブジェクトを指定する。
要素.hover(over, out);

(6)DOMの構成が終わった後のイベントに処理を追加

 $(document).ready(関数オブジェクト);

 or

$(関数オブジェクト);


例)読み込み直後にアラートを表示する例
$(document).ready(
function() {
alert("jQuery START!!");
}
);

(7)選択済みラジオボタンのバリューを取得
未調査

(8)選択済みリストのバリューを取得
//IDで指定
var fid=jQuery('#ターゲット').val();
//イベント処理を記述しているときなど
var fid=jQuery(this).val();

// 複数の要素が選択済みの可能性がある場合は、配列が帰ってくる
var sel=jQuery("select option:selected");
var fid=sel.val();


(9)リスト変更イベントに関数を登録
jQuery("#ターゲット").change(関数オブジェクト);

(10)特定CSSクラスのエリアにマウスオーバーイベントに関数を登録

(11)データの書換え:直接
$(ターゲット).text();//テキストとして、(タグはそのまま表示される)
$(ターゲット).html();//HTMLとして(タグはきちんと解釈される)


(12)データの書換え:dom操作で
$(タゲット).before(要素);//同列で次に追加
$(ターゲット).after(要素);//同列で前に追加
$(ターゲット).prepend(要素);//子要素の最後に追加
$(ターゲット).append(要素);//子要素の最後に追加
$(ターゲット).empty(要素);//子要素をすべて削除
$(ターゲット).remove(要素);//ターゲット自体を削除

要素:jQuery("<div>") とするとタグ名で指定できる
   単純にテキストで記述してもOK

//テキスト記述
$("#hoge").append('<a href="http://www.google.com/">google</a>');
//エレメント表記
$("#hoge").append(
$('<a>').attr("href", "http://www.google.com").html("google")
);

(13)属性の操作
jQuery(":submit").attr("disabled", "disabled");//無効化
jQuery(":submit").removeAttr("disabled");//無効化解除

Ext2.2.1が出てます

Ext2.2.1が出てます。
ここから

Google Chromeに正式に対応したのとAIR関連のコンポーネントが追加されているようです。