シンプル&パワフルなPHPライブラリ rhacoを使ってみよう!

第1回 rhacoの魅力

この記事を読むのに必要な時間:およそ 2 分

rhacoの魅力

「rhacoはほかのライブラリとどう違うのか?」という視点から,rhacoの魅力をいくつか紹介します。

シンプルかつ高機能なO/Rマッパー

最近では当たり前のように利用されるようになったO/Rマッパーですが,もちろんrhacoにも内蔵されています。対応するデータベースエンジンはMySQL/PostgreSQL/SQLite/Oracleとなっています。

rhacoのO/Rマッパーは,テーブル定義に基づいたverifyや,依存関係などを扱うことができます。joinやunionもO/Rで扱えるので,大抵の場合SQLを記述することはありません。もちろん,独自のSQLを発行することも簡単です。

継承が利用できるテンプレートエンジン

一般的なテンプレートエンジンや,ピュアPHPを使用してテンプレートを記述していると,よくincludeだらけになったテンプレートを目にすることはありませんか?

通常,PHPアプリケーションを開発する場合には,クラスの継承という機能を使う場面がよく出てきます。rhacoにはこのような機能をテンプレートでも使用することができるテンプレートエンジンが搭載されています。共通部分は継承元のテンプレートファイルにすべて記述し,それぞれのページにおいては,その差分のみを記述していくだけで済みます。

DocTest

rhacoには標準でDocTestが内蔵されています。DocTestとは,実際のソースコード内にコメントとしてテストコードを埋め込み,テストを実行できるものです。自動生成のAPIリファレンスなどにメソッドとともにテストコードが表示されるので,サンプルコードとしても有効になります。rhacoのほぼすべてのライブラリにおいて,DocTest形式でテストコードが記述されています。

DocTestはもともとPythonで採用されていたテスト手法でしたが,rhacoではそれをPHPで実現しています。

rhacoの動作環境

PHP4(4.3.0以降)とPHP5で動作します。mb_string 以外のPHP拡張機能は要求しません。標準的なレンタルサーバーであれば普通に動作するでしょう。

rhacoの開発環境

rhacoでは,前述したセットアップフレームワークを利用するため,開発マシンではサーバーで動作するphpにファイル書き込みの権限が必要になります。

つまり,開発環境がApacheの場合は,Apacheが書き込みを行えるディレクトリで開発することが手軽であるということです。

XAMPPやMAMPを利用すると,Apacheがユーザー権限で動作しますので,問題になることはありません。手軽に開発するためにもXAMPPやMAMPなどを利用することをおすすめします。

Apacheに書き込み権限が与えられない場合は,コマンドラインでのセットアップを利用することで回避することができます。

インストール不要

rhacoを使用するためのインストール作業は必要ありません。

どこでも好きな場所に設置して,Rhaco.phpさえincludeすればすぐにrhacoを使用することができます。

rhacoをライブラリとして用いる方法については,次回解説します。

専用のEclipseプラグイン

rhaco 2用のEclipseプラグイン「rhacolipse」が開発されています。いくつかの機能はrhaco 1でも使用できるので,PHP開発にEclipse系エディタ(PDTなど)を使用している方にはおすすめです。

詳細は,rhaco-users.jpまたは開発者のブログを参考にしてください。

まとめ

rhacoについて簡単に紹介しましたが,興味は沸いてきましたか?

次回からは,実際に簡単なアプリケーションを開発しながら,rhacoの各機能について詳しく説明していきます。

質問等があれば,開発者/メンテナはウェブ上のチャットサービスLingrで常にコンタクトを取っていますので,ぜひご参加ください。また,メーリングリストも用意していますので,こちらも気軽に投稿してください。

rhaco.org

http://rhaco.org/

Lingr :: rhaco-ja

http://www.lingr.com/room/rhaco-ja

メーリングリスト

http://groups.google.co.jp/group/rhaco-ja

rhaco-users.jp

http://rhaco-users.jp/

著者プロフィール

佐藤佳祐(さとうけいすけ)

北海道の大学に在籍し,現在は絶賛就職活動中。nequalに所属し,PEARリポジトリサービス「Openpear」開発を担当。最近はrhaco2と格闘する日々。お仕事の話,待ってます。

URLhttp://riaf.jp/

コメント

コメントの記入