You are on page 1of 10

DSE FrameWork ver.0.

1

DSE Frame Work ver.0.1
フレームワーク仕様書

1
DSE FrameWork ver.0.1

目次
1.設置方法...............................................................................................................3
2.パッケージ仕様.....................................................................................................4
3. hello world.........................................................................................................5
4.定義関数(アプリケーション)...................................................................................7

2
DSE FrameWork ver.0.1

1. 設置方法
/app
/lib
/webapp
/cache
/config
/lib (各種アプリケーション郡)
/template
/au
/docomo
index.tpl
/else
/robot
/softbank
/c_templete (777)
/au (777)
/docomo (777)
/else (777)
/robot (777)
/softbank (777)
dseEngine.php (共通アプリケーション)

/public_html (カレントディレクトリ)
/images
index.php

file.config.php (共通設定ファイル)

3
DSE FrameWork ver.0.1

2.パッケージ仕様

[動作確認済]
PHP 4.4.7
Smarty 2.6.14
Mysql 5.0.41

[備考]
Windows 環境でのテスト環境構築に辺り、 「xampp」が便利です。
インストーラーがついていますので、ボタン一つで、apache PHP PEAR mysql をローカル
にインストールし、利用出来ます。
(詳細は web で検索してください…)

4
DSE FrameWork ver.0.1

3. hello world

[構築手順]
※文字コードに注意してください。.tpl は shift_jis それ以外のファイルは EUC-JP

1. /public_html/index.php を作成

index.php (EUC-JP)
<?php
//common
require_once './config.inc.php';
require_once DSE_WEBAPP_DIR.'/dseEngine.php';

//encode and set
$dse->assign('hello', m_enco(“hello world”));

//preview
$dse->displayTemplate();
?>

2. /app/webapp/temple/ i au softbank else/index.tpl … 1 で作成したファイル名で
各ディレクトにテンプレートファイルを作成

index.tpl (Shift-jis)
<html>
<head>
<title>Hello world</title>
</head>
<body>
<!—Smarty 変数-->
<h1>{$hello}</h1>
</body>
</html>

5
DSE FrameWork ver.0.1

3. http://localhost/ にアクセスし、表示を確認する。

6
DSE FrameWork ver.0.1

4. 定義関数(アプリケーション)

1. ユーザー定義関数 /app/webapp/lib/include/function

※作成した、定義関数はこの中にいれます。
例: useragent.php
<?php
function UserAgent() {
if(eregi( "DoCoMo/2", $_SERVER["HTTP_USER_AGENT"])){
// ドコモ FOMA (XHTML)
$career = "docomo";

} else if(eregi( "DoCoMo/1",
$_SERVER["HTTP_USER_AGENT"])){
// ドコモ MOVA ブラウザフォン
$career = "else";

} else if(eregi("SoftBank/",
$_SERVER["HTTP_USER_AGENT"])){
// softbank
$career = "softbank";

?>

$career を元に、読み込むテンプレートディレクトリを選択します。

2. クラスファイル

※ 作成した、クラスファイルはここに入れます。
例: dse.templete.php
<?php
class dse_engin
{
var $smarty;

7
DSE FrameWork ver.0.1

var $tpl_name = "";
var $tpl_dir;

//var $baff;

function dse_engin()
{
$this->smarty = new Smarty;
$this->smarty->config_dir = '';
}

function setTemplate_dir($tpl_dir)
{
$this->tpl_dir = $tpl_dir;
$this->smarty->template_dir = DSE_WEBAPP_DIR .
"/templates/".$this->tpl_dir;
$this->smarty->compile_dir = DSE_WEBAPP_DIR .
"/templates_c/".$this->tpl_dir;
}

?>
[備考]
専用の Smarty クラスを生成しています。
現在、PHP ファイルでエンコードしていますが、このクラスファイル内で、エンコード
したが楽かもです。

8
DSE FrameWork ver.0.1

3. DB 関数 /app/webapp/lib/include/db/ read delete update write

※ 作成した、DB に関する関数はこのディレクトリの適切な場所にいれます。

例: /read/sample.php
テーブル名 test_table
------------------------------------------
| id | name |
| 1 | test1 |
| 2 | test2 |
------------------------------------------
<?php
//一行読み込む
function sample($id)
{
$sql = "select * from test_table id = ?";
$params = array(intval($id));
return db_get_row($sql, $params);
}
//複数行読み込む
function sample_list()
{
$sql = "select * from test_table ";
return db_get_all($sql);
}
//一行のカラムを取り出す
function sample_count()
{
$sql = "select COUNT(*) count from test_table ";
return db_get_one($sql);
}
?>

9
DSE FrameWork ver.0.1

※ 取り出したデータは連想配列で、返されます。

例:index.php で、使用する。
<?php
//common
require_once './config.inc.php';
require_once DSE_WEBAPP_DIR.'/dseEngine.php';

//DB => encode and set
$date = sample_list(); //DB read
$dse->assign('sample_list', m_enco($date));

//preview
$dse->displayTemplate();
?>

index.tpl
<html>
<head>
<title>Hello world</title>
</head>
<body>
<!—Smarty 変数-->
<ul>
{foreach from=$date_list item=date}
<li>{$date.id} => {$date.name}</li>
{/foreach}
</ul>
</body>
</html>

10