“ZendFramework” カテゴリのアーカイブ

ZendFrameworkはSubversion(以下SVN)から取得して常に最新版での動作を確認することができる。
マニュアルの1.2. インストール参照)
このSVNリポジトリにはdocumentationディレクトリもあり、各国の言語でのマニュアルも日々更新されている。
MacBookAirはHDD容量が少なめなため、SVNから取得した最新マニュアルの日本語版のみをHTML作成したい。できればZendFramework日本語マニュアルを自分が見やすいと思うような好みのデザインにCSSで変更したい。
というわけで、翻訳の神id:m-takagiさんに色々と助けていただきながら作成してみた。

下準備 – MacPortsからautoconfとlibxsltをインストール

ZendFrameworkのマニュアルはDockBookというもので書かれているため、SVNから取得できるのはxmlファイルとテンプレートとなるデザインのみ。
これをHTMLにするにはMacにautoconfとlibxsltというものをMacPortsからインストールする。
MacPortsのインストールについては前回の記事を参照。

ターミナルを立ち上げ、以下のコマンドでautoconfとlibxsltをインストール(若干時間がかかる)

$ sudo port install autoconf
$ sudo port install libxslt

SVNから日本語マニュアルHTML作成に必要なもののみ取得

SVNからのソースの取得方法は、ここでは省略する。(取得方法については他サイトを参考に)
SVNから下記の2ディレクトリ以下のもののみチェックアウトする

なぜ英語版も必要かは後述
チェックアウト完了後、ターミナルを起動。
作成されたjaディレクトリにcdコマンドで移動。
下記コマンドをうつ。

$ autoconf
$ ./configure
$ make

makeと打ったあと、
warning: failed to load external entity “module_specs/Zend_Dojo-View-Helpers.xml”
というワーニングがいくつか出るが、id:m-takagiさんによると、jaディレクトリにファイルが無いワーニングで、ファイルが無い場合はenディレクトリから英語版のものを利用することになっているので、問題ないとのこと。
このような部分で英語版を利用するのでenもSVNから取得していた。
warningが出た後しばらくそのまま待っていると、writing ……とファイル作成中の表示が出てja/html以下にhtmlファイルが作成される。(全ファイルを作成するまでに結構時間がかかる)

できたーーー。と感動していると、実はja/html/imagesディレクトリが無くて一部画像が表示されないので、以下2ファイルを本家マニュアルから拝借し、ja/html/imagesディレクトリを作成してgifファイルをpngファイルに変更し、保存。

pngファイルにするのが面倒な場合は、手元にある適当な画像を置いてもOK。

ja/html/index.html
このファイルをブラウザで開くと、ZendFrameworkマニュアル日本語版が見れる。

あとはSVNをupdateするたびにコマンドでhtmlを作成しなおせばOK。

HTMLのデザインを変更するには、
ja/html/dbstyle.cssファイルでCSSを書き換えてあげればよい。

Comments 2 コメント »

苦労したのでメモ。

[php]

$Url = ‘http://ほげほげー.com/ほげー/ほげー.php’;
$UserId = ‘ユーザID’;
$Pwd = ‘パスワード’;
$binaryData = @file_get_contents(’ファイル名’, FILE_BINARY);

$arrUrl = parse_url($Url);
$host = $arrUrl["host"];
$path = $arrUrl["path"];
$port = isset($arrUrl["port"]) ? $arrUrl["port"] : 80;
$socket = @stream_socket_client(‘tcp://’ . $host . ‘:’ . $port);
$strHeader = “POST ” . $path . ” HTTP/1.1\r\n” .
“Host: ” . $host . “\r\n” .
“Content-type: application/jpeg\r\n” .
“Authorization: Basic ” . base64_encode($UserId . “:” . $Pwd) . “\r\n” .
“Content-length: ” . $entity->size . “\r\n” .
“\r\n”;
@fwrite($socket, $strHeader . $binaryData . “\r\n”);
while ($buff = @fread($socket)) {
$response .= $buff;
}
@fclose($socket);

[/php]

ちなみにZendFrameworkのライブラリにZend_Httpという便利なものがあります!!!
Zend_Httpなら、下記のように書くだけ!
[php]
require_once ‘Zend/Http/Client.php’;

$Url = ‘http://ほげほげー.com/ほげー/ほげー.php’;
$UserId = ‘ユーザID’;
$Pwd = ‘パスワード’;
$binaryData = @file_get_contents(’ファイル名’, FILE_BINARY);

$client = new Zend_Http_Client();
$client->setUri($Url);
$client->setAuth($UserId, $Pwd, Zend_Http_Client::AUTH_BASIC);
$client->setRawData($binaryData, ‘application/jpeg’)->request(‘POST’);
[/php]

Comments コメントなし »

ZendFrameworkのZend_Pdf(http://framework.zend.com/manual/ja/zend.pdf.html

を、試してみました。
ところが、日本語が表示されない。

こちらのサイト→(Zend_Pdf で日本語が使えるようになってた
を教えてもらって、ここに書いているようにフォントファイルをダウンロードして配置したら、ちゃんと日本語が使えました!

2008/08/05現在、ZendFrameworkのZend_Pdfで利用できるデフォルトのフォント指定は、下記のもののみでした。
[php]

const FONT_COURIER = ‘Courier’;
const FONT_COURIER_BOLD = ‘Courier-Bold’;
const FONT_COURIER_OBLIQUE = ‘Courier-Oblique’;
const FONT_COURIER_ITALIC = ‘Courier-Oblique’;
const FONT_COURIER_BOLD_OBLIQUE = ‘Courier-BoldOblique’;
const FONT_COURIER_BOLD_ITALIC = ‘Courier-BoldOblique’;
const FONT_HELVETICA = ‘Helvetica’;
const FONT_HELVETICA_BOLD = ‘Helvetica-Bold’;
const FONT_HELVETICA_OBLIQUE = ‘Helvetica-Oblique’;
const FONT_HELVETICA_ITALIC = ‘Helvetica-Oblique’;
const FONT_HELVETICA_BOLD_OBLIQUE = ‘Helvetica-BoldOblique’;
const FONT_HELVETICA_BOLD_ITALIC = ‘Helvetica-BoldOblique’;
const FONT_SYMBOL = ‘Symbol’;
const FONT_TIMES_ROMAN = ‘Times-Roman’;
const FONT_TIMES = ‘Times-Roman’;
const FONT_TIMES_BOLD = ‘Times-Bold’;
const FONT_TIMES_ITALIC = ‘Times-Italic’;
const FONT_TIMES_BOLD_ITALIC = ‘Times-BoldItalic’;
const FONT_ZAPFDINGBATS = ‘ZapfDingbats’;
[/php]

Comments コメントなし »