Zend_Controllerを使ったWebアプリケーションで、リクエストを処理し、クライアントにレスポンスを返す一連の流れの主な通過点を理解するため、ログを出力してみます。
Zend_Front_Controllerに追加できるプラグインという機能を利用します。
(続きを読む »)

Zend Frameworkを使って、Hello World!を表示するWebアプリケーションを作成してみます。

ディレクトリ構成

ディレクトリ構成は、だいたい次のようにしています。

BASEDIR/
    html/
        .htaccess
        index.php
    lib
        ZendFramework
        ZendFramework-1.0.1/
    webapp/
        modules/
            default/
                controllers/
                views/
                    scripts/

BASEDIRは、ドキュメントルートの一個上のディレクトリです。
htmlは、ドキュメントルートです。
lib/ZendFrameworkは、lib/ZendFramework-1.0.1へのシンボリックリンクにしています。
(続きを読む »)

Yahoo! UI Libraryを使用して、select要素のオプションデータを非同期に取得するメモです。

サーバー側は、次のようなJSON形式のデータを返します。

JavaScript:
  1. [{"id":"1","name":"test"},{"id":"2","name":"test2"}]

クライアント側のJavaScriptのサンプルです。
onLabelClickは、Yahoo! UI LibraryのTreeviewのラベルをクリックしたときに呼ばれる関数です。

(続きを読む »)

JavaScript select要素に含まれるオプションの値の取得するメモです。

JavaScript:
  1. var sel_elem = document.getElementById("sel_foo");
  2. var sel_children = sel_elem.childNodes;
  3. var count = sel_children.length;
  4. for (var i=0;i<count;i++) {
  5.   var opt_elem = sel_children[i];
  6.   // オプションのテキスト
  7.   YAHOO.log(opt_elem.text);
  8.   // オプションの値
  9.   YAHOO.log(opt_elem.value);
  10. }

Yahoo! UI Libraryを使用したページをInternet Explorer6で表示して、リンクをクリックすると、テキストのサイズが大きくなり、デザインが崩れます。

YUI Library Examples: TreeView Control: Default TreeViewのTreeviewのサンプルでも、ラベルの部分をクリックすると一部のフォントサイズが大きくなり、ページ全体のデザインが少し崩れます。

Yahoo! UI Libraryのcssを使用しないでTreeviewを作成した場合には、このようなことにはなりませんでした。

YUI付属のfonts.cssにある次の定義が問題になるようです。

CSS:
  1. body {font:13px/1.22 arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}

次のようにbodyのフォントスタイルを上書きして、フォントが大きくなることは避けられました。
(「*font-size:small;」を削除しました。)

CSS:
  1. body {
  2.   font:13px/1.22 arial,helvetica,clean,sans-serif;*font: x-small;
  3. }

フォントサイズに関するCSSハック - Go my wayに、「*font-size:small;」の解説がありました。
IE7の対策とのことです。

IE6とFirefox2.0.0.6では、この変更で影響はないようですが、いつか他のブラウザ(特にIE7)の影響も見たいと思います。

追記(2007年9月24日):
Internet Explorer6で、2007年9月24日に再確認したところ、この記事の現象は発生しませんでした。
この記事を書いたときの僕のPCの状態が悪かったのか、Windows UpdateでIEが改善されたか、YUIのバージョンアップで解消されたかは、不明です。