smartyの導入は下記サイトの手順を参考にしていきながら進めると簡単に導入することができます。
【CodeIgniter】コードイグナイターでSmartyを利用する
ただし、この手順で進めていくと一つ問題に当たります。
ファイルのパスの類のエラーがでてそれの解決方法がなかなか見つかりません。
詳しく掘り下げていけば解決方法があるのかもしれないですが、、、
そんなわけで解決方法が見つからなかった自分としては妥協として、
versionを下げることにしました。
今現在2011/10/12ですが、この時のsmartyの最新バージョンは3.1.3ですが、
これを2.6.26に変えました。
するとスムーズに使用できるようになりました。
なので現時点ではversionを下げますが、もし改善されていたら最新を使ってください
今回はメモ06で少しだけ触れたデータベースの自動接続について
データベースの自動接続については2ファイルに設定を追加する。
まずはデータベースの接続情報については
『application/config/database.php』に記載する。
設定はメモ06で書いたような情報を記載するだけなので簡単。
次に設定情報を自動読み込みするようにする。
設定の記載は、
『application/config/autoload.php』に記載する。
記載する個所は、
これを下記のようにするだけ
以上で設定が完了。
保存後ブラウザで実行し、エラーが出ていなければ成功です。
成功後、アクティブレコードを利用し、何かしら取得ができているはず。
アクティブレコード例
foreach ($query->result() as $row) {
echo $row->id;
}
データベースの接続について
接続方法は2種類あり、自動接続と手動接続がある。
メモ04のモデルはCodeIgniterではデータベースを利用して機能するように作られたようなので、
今回は手動接続でモデル内でDB操作をしてみたいと思う
データベースの接続に関してはあらかじめコントローラーに記載しておく必要がある。
記載例としては、次の書き方となる
$config['username'] = "codeigniter";
$config['password'] = "***************";
$config['database'] = "codeigniter";
$config['dbdriver'] = "mysql";
$config['dbprefix'] = "";
$config['pconnect'] = FALSE;
$config['db_debug'] = TRUE;
この設定ファイル配列をモデルを読む混む際の第3引数にする
記載し終わったら、次にアクティブレコードを利用して処理をしてみる
アクティブレコードについてはここを参照
http://codeigniter.jp/user_guide_ja/database/active_record.html
ここのアクティブレコードの関数が一通りあるので必ず目を通す必要あり
※joinもできるよこれ、すげー
今までのを纏めると
コントローラーを
『application/controllers』
ビューを
『application/views』
モデルを
『application/models』
それぞれに『manage/』サブディレクトリを作成
それぞれにファイルを設置
コントローラーを
function getTitle($title)
{
$this->load->model('manage/Blogtest');
$data['title'] = $this->Blogtest->getTitle($title);
$this->load->view('manage/blog', $data);
}
}
ビューを
<h1><?php echo $title;?></h1>
</body>
モデルを
function getTitle($title);
{
return $title
}
}
と記載し
『http://**********/manage/blog/getTitle/Codeigniter/』
にアクセスすると
Codeigniter
と、表示されるはず
MVCの『モデル』について
モデルファイルの設置場所は、『 application/models/ 』
試しに今まで使ってきた流れでBlogで利用するファイルを作成する
ファイルの書き方の基本は
function __construct()
{
parent::__construct();
}
}
となる。
Blogmodelの部分がファイル名となるので、制作する際のファイル名は『blogmodel.php』
クラス名は頭が必ず大文字となるが、ファイル名は小文字なので注意が必要
作成したこのモデルを読む混むには、
と記載する。
サブディレクトリがある場合は、
となる
試しにモデルファイル内に何かを記載し、読み込み、実行しそれが表示されれば成功となる。
コントローラーでモデルファイルを読み込み、モデルファイルを実行する際に、
特定の関数を引数を渡して実行する際には、読み込んだ後にfunctionを指定する
モデルファイル例
printf("<h1>%s</h1>",$text);
}
コントローラー例
$this->Blogmodel->textList('Blog title test!');
これでファイルを実行すると、関数に渡した値が表示される。
