本文へジャンプ
トップページ
開発実績
会社概要
お問い合わせ
プライバシーポリシー
 
こんな研究もしています
Yii Framework
Ethna
EC-CUBE
Android
 
便利なツール
ツール・ア・ラ・カルト
資料・ア・ラ・カルト
素材・ア・ラ・カルト

Ethna研究

Ethnaを使ったシステム構築

まえおき
1.開発環境の整備
2.EthnaのMVC
 2-1.MVCって
 2-2.Smartyを使うということ
 2-3.データベースとのやりとり
3.
4.
5.
6.


2.EthnaのMVC

2-1.MVCって
MVCって、Modelと呼ばれるデータベースインタフェース、Viewと呼ばれる表示、Controllと呼ばれる処理というふうなものですが、Ethnaの場合、ほかのフレームワークと違い、VCはわかりやすいのですが、Mがはっきりしていないんですね。まあ、Mは特に設定しなくてもデータベースにアクセスすることはできるので、いらないっていえばそうかも。

2-2.Smartyを使うということ
SmartyEclipseで使う場合、拡張子TPLEclipseに設定しておきましょう。
  一般→エディター→ファイルの関連付け
ですね。ファイル・タイプで「*.tpl」を追加し、その追加した「*.tpl」に「関連付けられたエディター」でエディターを追加するってことです。そうしないとEclipseエディターに表示されません。
Smartyを使うんで、Viewの方法は通常のSmartyと同様・・・?。
Ethnaは、データ渡し($_GETとか$_POSTとか)のために、自由なPHPを使うわりに変数の属性を決めなければなりません。セキュリティのためだそうです。
で、生成されたプロジェクトでとりあえず重要なのは、
app/action/Index.php
app/view/Index.php
template/ja_JP/index.tpl
の三つということになります。

app/action/Index.phpでは・・・
 頭のところにある$formの設定で、データ渡しに使う変数の名前と属性を決めます。
 そして、perform部で、VIEWに表示するデータを渡す処理をします。たとえば、
 $this->af->setApp('title','タイトル');
 というように。Smartyでいうところのassignというところです。
 afとは何かと言うと、action_formatの略だそうで。
 titleという変数にsetAppされた定数「タイトル」(もちろん変数でもかまわない)は、
app/view/Index.phpを通って・・・
 というのは、ここでも$this->af->setApp('title','タイトル');できるので。
template/ja_JP/index.tpl
 {$app.title}に表示される・・・という流れになるようです。

2-3.データベースとのやりとり
データベースのためにModelをいじる必要は特にないとはいえ、接続のための設定は避けて通れません。
その場所が、etc/xxxxxx-ini.phpの始めの方、コメントされているdsn設定です。
コメントを外し、こんな感じに設定します。
'dsn' => 'mysql://ユーザ:パスワード@ホスト名/データベース名'
このデータベースに作ったテーブルにアクセスするには、
 2    



Copyright c 2010 by キーウェブコーポレーション