rhacoとは
rhacoはオープンソースで開発されているPHPのライブラリとセットアップフレームワークです。ほぼすべての機能をtokushima氏(http://tokushimakazutaka.com/)が開発しています。また,rhaco1.6 においてはそのほかに数人のメンテナがバグフィクスなどを行っています。開発者やメンテナは皆日本人なので,日本語でサポートを受けられるのも魅力的です。
公式にはあくまでライブラリという扱いではありますが,フレームワークとしての機能も持ち合わせているので,ほかのウェブアプリケーションフレームワークと同様,高速にアプリケーションの開発を行うことができます。
また,rhacoは後述するセットアップフレームワーク(セットアップアプリケーション)を内蔵しているので,rhacoを利用したアプリケーションは,デプロイ時の設定作業などをすべてブラウザ上で行うことが可能になります。
Ruby on RailsやCakePHP,Symfonyなどとはひと味違ったウェブアプリケーションの開発を体験してみませんか?
この連載では rhaco 1.6(安定版)を対象に解説を進めます。
現在開発が進んでいる rhaco 2(開発版)に関しての解説は行いません。これは,rhaco 2が現在の段階では仕様が確定していない,rhaco 1.6系とは大きく構造が異なる,などの理由に因ります。
rhacoの特徴
コマンドラインでの操作が不要
rhacoをフレームワークとして利用したアプリケーションでは必ず,rhaco本体に付属したセットアップフレームワークを利用することができます。
これは,開発していたアプリケーションをサーバーに転送した際などに発生する環境に依存した設定情報(データベース設定や,キャッシュディレクトリ,ログ出力など)をブラウザ上で手軽に設定できるようになります。
rhacoを使うと,サーバーに設置する際の「サーバーにログインして設定ファイルを編集する」などといった作業が不要になります。
もちろん,コマンドラインを用いたセットアップにも対応しているので,シェルですべてを済ませたい人でも使うことができます。
アプリケーションに付属の簡易DB管理
上記のセットアップアプリケーションを使用すると,下の画像のようなデータベースの管理画面が付属します。
簡易管理という位置づけではありますが,追加/編集/削除などの基本的な操作は一通りできるため,簡単なアプリケーションであれば,管理画面を作成する手間が省けます。 また,同じく管理画面から自由にSQLの発行も行えるので,汎用的な操作ではない場合にも対応することができます。
特定の拡張などに依存しない
rhaco自体は,ほとんどの一般的なレンタルサーバーで動作するように開発されており,mb_string以外の特定の拡張が必要になることがありません。mb_stringについては,これ無しで日本語向けウェブサービスを構築することは困難であるので,mb_stringを利用できない環境というものはまず無いでしょう。
また,PEARなどの外部ライブラリにも依存しません。もちろん,PEARなどを使用することも制限しないので,これまで使い慣れたライブラリをそのまま使用することもできます。
豊富なライブラリ
ウェブアプリケーションの作成を強力にサポートする,ありとあらゆるライブラリを内蔵しています。
これらがすべてPHP4/5で動作するよう開発されているので,PHP4のサーバーを使わざるを得ない場面でも活躍します。
rhaco1.6に含まれるライブラリをいくつか紹介します。これらの詳しい使用方法については,次回以降のアプリケーション開発チュートリアルの中で逐次解説していきます。
- データベース操作(O/Rマッパーも含む)
- 擬似例外クラス
- 汎用ビュー
- ファイル操作
- 配列/オブジェクト/文字列操作などのユーティリティ
- ネットワーク操作
- XMLパーサー(テンプレートエンジンも含む)
これらのライブラリのほかにもたくさんのライブラリが含まれています。

