rhaco1-doc :: 100-blog-tutorial/02-setup-and-database-designing.txt
http://wikihub.org/wiki/rhaco1-doc/100-blog-tutorial/02-setup-and-database-designing
Table of contents:
- rhaco
- モデル
- テンプレート
- ビュー
- プロジェクト
- セットアップ
- ユーティリティ
- データベース
- テスト
- arbo
- Tips
- ブログチュートリアル
- README
Updates:
セットアップ
では,ブログアプリケーションのセットアップを行いましょう.
rhaco はセットアップフレームワークとも呼ばれており,全ての開発作業を GUI から行うことが可能です.
初期設定
まずは,ブログアプリケーションを配置するディレクトリを作成し,rhaco ディレクトリから setup.php をコピーしてきてください.
/DocumentRoot
/rhaco
/blog
setup.php
ブラウザから, http://localhost/blog/setup.php にアクセスしてみてください.
rhaco の場所を聞かれますので,指定します.
セットアップフレームワークが起動し,アプリケーションの初期構造が生成されます.
/DocumentRoot
/rhaco
/blog
/library
/model
/resources
/templates
/setup
.htaccess
project.xml
__init__.php
__settings__.php
setup.php
初期構造の生成後,アプリケーション用の設定画面が表示されますが,今は特にいじる必要がありません.
データベース設計
次に,データベースの設計を行います.
データベース設計の段階では,データベースサーバにアクセスする必要はありません.
project.xml をエディタで開き,次のようにブログ投稿記事のテーブル定義を記述します.
<project rhacover="1.6.1" version="0.0.1" name="blog" xmlns="http://rhaco.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://rhaco.org http://m.rhaco.org/xsd/project_1_6_x.xsd"> <database name="blog"> <description>ブログ</description> <table name="post"> <description>記事</description> <column name="id" type="serial" label="記事番号"/> <column name="created" type="timestamp" default="sysdate" label="投稿日"/> <column name="modified" type="timestamp" default="sysdate" label="最終更新日"/> <column name="title" type="string" require="true" max="50" label="タイトル"/> <column name="body" type="text" require="true" label="本文"/> <default> <data> <column name="title" value="タイトル"/> <column name="body" value="これは,記事の本文です."/> </data> <data> <column name="title" value="またタイトル"/> <column name="body" value="そこに本文が続きます."/> </data> <data> <column name="title" value="タイトルの逆襲"/> <column name="body" value="こりゃ本当に面白そう!うそ."/> </data> </default> </table> </database> </project>
テーブル名とフィールド名は適当です.アプリケーションの都合に合わせて作成してください.
特に煩雑な命名規則を用いなくても,開発速度には全く影響がありません.
データベース設定
project.xmlを保存したら, http://localhost/blog/setup.php に再度アクセスしてください.
「データベース[BLOG]」という設定項目が増えています.ここで,project.xml に記述したテーブルモデルの接続先データベース設定を行うことができます.
- データベースサーバ
- データベースの種類を指定します. (拡張を有効にしていれば,MySQL,PostgreSQL,Oracle,SQLiteが利用可能です.)
- データベースサーバのホスト名
- データベースサーバが動作しているサーバのアドレスを指定します.SQLiteの場合にはファイルパスを指定します.
- データベース名
- データベース名.project.xml の database で指定した name 属性がデフォルトで使用されます.
- データベースパスワード
- データベースパスワード
- データベースのポート番号
- 空白の場合には各データベースサーバのデフォルト値が使用されます.
- エンコード
- データベースサーバのエンコードを指定します.デフォルトは UTF8 です.
- テーブル接頭語
- 同じデータベースに複数のアプリケーションデータを格納する場合に,テーブル名が衝突しないように接頭語を指定できます.データベース名と同様に,name 属性からデフォルト値が設定されます.
設定を入力後,settings をクリックして設定を保存します.
データベーステーブルの作成
データベース設定が終わると,実際にデータベースの作成を行います.
rhaco では,project.xml で記述したテーブルモデルから自動的に create 文を作成しますので,専用のデータベース管理ツールを使用する必要はありません.
上部に database メニューが現れ,ここから簡易データベース管理を行うことができます.
「作成」をクリックすれば,自動的にテーブルが作成されます.
以上でブログアプリケーションのデータベース設定が完了です.
mod_rewrite について
rhaco は mod_rewrite を使えなくても動作しますが,クールな URL を実装するためには是非有効にしてください.
mod_rewrite については 検索 してください.
後はmod_rewrite の設定を .htaccess に記述するだけですが,これも自分で記述する必要はありません.
project.xml の project 要素の属性に以下のように pathinfo="index.php" 書き加えてください.
<project pathinfo="index.php" rhacover="1.6.1" version="0.0.1" name="blog" xmlns="http://rhaco.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://rhaco.org http://m.rhaco.org/xsd/project_1_6_x.xsd"> : </project>
書き換えたら,http://localhost/blog/setup.php に再度アクセスしてください.
「アプリケーションの初期化」という項目が増えていますので,クリックすると自動的に次の .htaccess が生成されます.
RewriteEngine On
RewriteBase /blog
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php?%{QUERY_STRING}&pathinfo=$1 [L]





