エプソンダイレクト株式会社

2013年11月10日(日曜日)

Medoo を使ってみる ~その 5 ~

Category: オープンソース | Posted By at 23:57:19

Medoo – The Lightest PHP database framework to accelerate development

前回の記事で紹介した PHP の DB フレームワーク Medoo 。
せっかく覚えたので使い方なんかを書いておこうと思います。
えぇ、こういう時はだいたい他にネタがないんです(笑)。
(ここまでコピペ)

気のせいかもしれませんが、最近妙に ML なんかも流れており
活発に活動している気がするこの Medoo プロジェクト。
以前は簡単にデータベースへアクセスできる…
ぐらいのメリットしかなかったように思います。
というのも join 系がサポートされておらず
少し凝ったことをしようとすると、
結構めんどくさかったからなんですね。

構文は select($table, $join, $columns, $where) となっており
第二パラメータとして配列で与えるような感じになっているようです。

[< ] :左結合 [>] :右結合
[<>]:完全結合
[><]:内部結合 ということで詳細はデータベースの勉強をしてください。 こういうのを書く時は、こういう仕事を今している ということなんですね(笑)。

2013年6月17日(月曜日)

Medoo を使ってみる ~その 4 ~

Category: オープンソース | Posted By at 22:53:42

Medoo – The Lightest PHP database framework to accelerate development

前回の記事で紹介した PHP の DB フレームワーク Medoo 。

せっかく覚えたので使い方なんかを書いておこうと思います。
えぇ、こういう時はだいたい他にネタがないんです(笑)。
(ここまでコピペ)

今回は WHERE 句の説明を少々。
基本は第三引数で

$r = $Db -> select ( 'test_table', 'username',
	array(
		"age[<]" => 20	//	20 未満
	)
);
$r = $Db -> select ( 'test_table', 'username',
	array(
		"age[<=]" => 20	//	20 以下
	)
);
$r = $Db -> select ( 'test_table', 'username',
	array(
		"age[>]" => 20	//	20 を超える
	)
);
$r = $Db -> select ( 'test_table', 'username',
	array(
		"age[>=]" => 20	//	20 以上
	)
);
$r = $Db -> select ( 'test_table', 'username',
	array(
		"age[<>]" => array( 20, 60 )	//	20 以上 60 以下
	)
);

というようにします。

論理演算もできます。

$r = $Db -> select ( 'test_table', 'username',
	array(
		"AND" => array(				//	且つ
			"age[>=]" => 20,		//	20 以上
			"gender" => 'female'	//	女性
		)
	)
);
$r = $Db -> select ( 'test_table', 'username',
	array(
		"OR" => array(				//	または
			"age[<]" => 20,			//	20 未満
			"gender" => 'male'		//	男性
		)
	)
);

とりあえず暑いのであまり難しいこと考えるのも大変でしょうし、
今日はこの辺で…。暑い…溶けるぅ~~~っ m(_ _m;;;

2013年6月16日(日曜日)

Medoo を使ってみる ~その 3 ~

Category: オープンソース | Posted By at 23:38:18

Medoo – The Lightest PHP database framework to accelerate development

前回の記事で紹介した PHP の DB フレームワーク Medoo 。

せっかく覚えたので使い方なんかを書いておこうと思います。
えぇ、こういう時はだいたい他にネタがないんです(笑)。
(ここまでコピペ)

さて前回データを入れることができたので、
今度はそこから抽出してみましょう。
以前は結構クエリをゴリゴリ書いていたのですが
Medoo だとその辺がすっきりしている気がします。

$r = $Db -> select( 'tbl_sample', 'text', array( 'id' => 3 ) );

という感じで $r に配列として代入されます。
第一引数にテーブル名、第二引数にカラム名、
第三引数が where 句等になります。

where 句の使い方が Medoo の肝になる気がしますが、
第三引数一個だけしか用意されていないところから
ちょっとコツが要りそうな気がします。
基本は多次元連想配列なので、あまり悩まないでください。

Medoo のサイトの WHERE 句の説明を見ると
全部英語なので身構えるかもしれませんが、
基本は技術英語ばかりなのでなんとかしましょう(笑)。

面白いのはサンプルにもある

$database->select("account", "user_name", [
	"user_id[>]" => 200
]);
// WHERE user_id > 200

の"user_id[>]"のような表現。
簡単に表現しようというのが随所に見られて、
ものぐさな私には向いているかもしれません(笑)。

2013年6月15日(土曜日)

Medoo を使ってみる ~その 2 ~

Category: オープンソース | Posted By at 23:09:36

Medoo – The Lightest PHP database framework to accelerate development

前回の記事で紹介した PHP の DB フレームワーク Medoo 。

せっかく覚えたので使い方なんかを書いておこうと思います。
えぇ、こういう時はだいたい他にネタがないんです(笑)。
(ここまでコピペ)

さて前回のところでデータベースへの接続はできたので、
実際にデータを入れてみましょう。

例えば

CREATE TABLE IF NOT EXISTS `tbl_sample` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `text` varchar(100) NOT NULL,
  `updatetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;

こんな感じのテーブル tbl_sample を用意しました。

id はプライマリキーでオートインクリメント処理。
text は文字列、updatetime は更新した時間が入力されます。

ここになにかデータを入れてみましょう。

$data = array(
  'text' => 'test'
);
$Db -> insert( 'tbl_sample', $data );

第一引数はテーブル名を指定し、
第二引数にあらかじめ配列にデータを入れるだけです。
ただし

$data = array(
	array( 'text' => 1 ),
	array( 'text' => 2 ),
	array( 'text' => 3 ),
	array( 'text' => 4 ),
	array( 'text' => 5 ),
	array( 'text' => 6 )
);
$Db -> insert( 'tbl_sample', $data );

このような多次元配列には対応していないので注意が必要です。
このような場合は

$data = array(
	array( 'text' => 1 ),
	array( 'text' => 2 ),
	array( 'text' => 3 ),
	array( 'text' => 4 ),
	array( 'text' => 5 ),
	array( 'text' => 6 )
);
foreach( $data as $d ){
	$Db -> insert( 'tbl_sample', $d );
}

と foreach 等でループを回しましょう。

2013年6月14日(金曜日)

Medoo を使ってみる ~その 1 ~

Category: オープンソース | Posted By at 23:22:28

Medoo – The Lightest PHP database framework to accelerate development

前回の記事で紹介した PHP の DB フレームワーク Medoo 。

せっかく覚えたので使い方なんかを書いておこうと思います。
えぇ、こういう時はだいたい他にネタがないんです(笑)。

さて Medoo は MIT ライセンスで作られており、
無料で自由に使うことができます。

組み込みについても簡単で、

require_once( 'medoo.php' );

で OK 。

あとは

$args = array(
    'database_type' => 'mysql',  // データベースの種類
    'username' => 'dbuser',      // データベースのユーザ名
    'password' => 'dbpass',      // データベースのパスワード
    'server' => '127.0.0.1',     // データベースのサーバ名
    'database_name' => 'test'    // データベースの名前
);
$Db = new medoo( $args );        // インスタンス化

とすることでデータベースとの接続は完了です。

mysql_connect()…とかって書いてもいいんですが、
なんかこっちの方がすっきりしていて個人的には好きです。

ただ Medoo を組み込むときに PDO エラーのような表示がされる場合、
環境で PDO が有効になっていないかもしれません。
php.ini の中の

;extension=php_pdo_mysql.dll

を探して先頭のセミコロン ; を削除してください。

2013年6月5日(水曜日)

PHP の データベースフレームワーク Medoo

Category: オープンソース | Posted By at 22:05:35

Medoo – The Lightest PHP database framework to accelerate development

今回のプログラム騒動で実は一番活躍したのは
この Medoo かもしれません。
今回初めて使ったのですが、学習スキルも少なくて済み、
短時間で簡単に PHP と DB の入出力を連携させるには
有効な手段の一つだと思いました。

なかなか情報が少ないのと英語だらけだったので
最初は結構不安でしたけどね(笑)。
その昔 PEAR とかで DB を扱うというのがあったのですが
なんかいまいち使い勝手がよくなくてトホホな感じでした。

今回使った Medoo は基本的に
すごくシンプルでわかりやすい。
普通にプログラムを組んだことがあるなら
すぐになじめるんじゃないかなと思います。
小規模な案件なら十分に役に立つことでしょう。

HP Directplus -HP公式オンラインストア- デル株式会社 東芝ダイレクト 富士通パソコンFMVの直販サイト富士通 WEB MART ソフマップ・ドットコム