おぎろぐはてブロ

なんだかんだエンジニアになって10年以上

r3 と stickleback を試してみる - セットアップ

r3と、sticklebackは、Yahoo!が最近オープンソースで公開を始めたテンプレートまわりのツールです。(前記事参照)
これがどういうものなのかがよく分かんないので、ドキュメントを読みながら試してみます。
ドキュメントは、SourceForgeにあるものだけのようです。

アーカイブの取得

SourceForgeから、r3sticklebackアーカイブを取ってきます。

$ ls
r3-0.9.3.tgz  stickleback-0.9.3.tgz

インストール

必要な環境は以下。

  • PHP5
  • PDO拡張に対応
  • MySQLSQLiteのいずれかを使える

アプリケーションを完成させるには、sticklebackとr3の2つのパッケージをインストールする必要があります。sticklebackは、r3のコマンドラインのI/Fです。(なんで、分かれてるんですかね。。) 将来的にはr3はGUIでも動作するようです。

以下のようにPEARでインストールします。

$ sudo pear install -f stickleback-0_9_1.tgz 
install ok: channel://pear.php.net/stickleback-0.9.1
$ sudo pear install -f --alldeps r3-0_9_1.tgz 
install ok: channel://pear.php.net/r3-0.9.1

これでOK。

r3コマンドラインツール

インストールが終了すると r3 というコマンドラインツールが追加されます。

$ r3
usage:r3 [-c <arg>] [-u] [-x]
the r3 command line interface
    -c    override the default configuration, use your own
    -u    display utf8 chars with unicode values
    -x    display utf8 chars with hex values

usage                 general help
version               r3 version
setup                 administrative commands
template              template control
translation           dictionary utilities
target                target tools
generate [-a] [-v...  generate targets
dimension             dimension tools (dimension is one of product,intl)
inheritance           inheritance tools

設定

適当な場所にホームディレクトリを作成します

$ mkdir ~/r3

そして、r3でセットアップコマンドを叩く

$ r3 setup setuphome ~/r3
setting up environment

中にはこのように何かが作られます。

$ ls
plugins  r3.conf.xml  tmp

注意: もし、PHPにopen_basedirを設定しているのなら、作ったディレクトリにアクセスできるように設定してあげてください。

環境変数 R3HOME に、先ほどのディレクトリを設定します。

$ export R3HOME=~/r3

こうするとホームが保存されます。

次にデータベースのセットアップを行います

$ r3 setup installdb

と思ったら自分の環境だとエラー。

Fatal error: require_once(): Failed opening required 'XML/Parser.php' (include_path='.:/usr/share/php:/usr/share/pear:/usr/share/php/stickleback/plugins:/usr/share/php//r3//coreplugins/:/home/iogiwara/work/php/r3/plugins') in /usr/share/php/Config/Container/XML.php on line 20

ということなので XML_Parser インストール。XML_Utilも。あれ。。--alldepsでインストールしたはずなのに。あと、PDOがなかったり、PDOLiteがなかったりを、ぐだぐだ入れる。

横道それましたが、

$ r3 setup installdb
installing r3 db
creating r3 db
connecting to r3 db
creating r3 tables

と出れば、完成です。
接続先やMySQLの利用は r3.conf.xml で設定できるようです。自分はとりあえずSQLiteのまんまで。

  1 <?xml version="1.0" encoding="UTF-8"?>
  2 
  3  <!-- Copyright (c) 2007 Yahoo! Inc.  All rights reserved.                           -->
  4  <!-- The copyrights embodied in the content of this file are licensed under the BSD -->
  5  <!-- open source license                                                            -->
  6 
  7 <conf>
  8   <DB>
  9     <type>sqlite</type>     <!-- ここをMySQLのときは mysql -->
 10     <host>localhost</host>
 11     <dbname>r3</dbname>
 12     <user>root</user>
 13     <pass></pass>
 14   </DB>
 15 </conf>

で、セットアップ完了、だそうです。

追記)次のエントリで、R3がどういうものなのかを眺めていきます。