This Project Has Not Released Any Files
mysql> desc user; +-----------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------+---------------------+------+-----+---------+----------------+ | usn | bigint(20) unsigned | NO | PRI | NULL | auto_increment | | loginname | varchar(64) | YES | | NULL | | | nickname | varchar(128) | YES | | NULL | | | passwd | varchar(64) | YES | | NULL | | | regdate | varchar(19) | YES | | NULL | | +-----------+---------------------+------+-----+---------+----------------+ mysql> desc memo; +---------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------+---------------------+------+-----+---------+----------------+ | srl | bigint(20) unsigned | NO | PRI | NULL | auto_increment | | usn | bigint(20) unsigned | YES | | NULL | | | url | varchar(512) | YES | | NULL | | | comment | text | YES | | NULL | | +---------+---------------------+------+-----+---------+----------------+
$user = phpdao_factory::create_table_class('user'); $user->where(array('usn'=>1))->fetch(); echo $user->usn; echo $user->loginname; echo $user->nickname; ....
$user = phpdao_factory::create_table_class('user'); $user->where(array('loginname'=>'test'))->fetch(); echo $user->usn; ....
$user = phpdao_factory::create_table_class('user'); $user->where(array('usn'=>1))->fetch(); echo $user->usn; .... $memo = $user->get_link('memo'); echo $memo->srl; echo $memo->url; echo $memo->comment; ....
$memo = phpdao_factory::create_table_class('memo'); $memo->where(array('srl'=>1))->fetch(); echo $memo->srl; .... $user = $memo->get_link('user'); echo $user->usn; ....
kasuya@proc:~/tmp/phpdao$ tar -xzvf 0.1-release.tar.gz 0.1-release/ 0.1-release/README 0.1-release/TODO 0.1-release/bin/ 0.1-release/bin/generate.php 0.1-release/bin/tags.sh 0.1-release/bin/test.sh 0.1-release/src/ 0.1-release/src/cfg.php 0.1-release/src/db.php 0.1-release/src/factory.php 0.1-release/src/phpdao.php 0.1-release/src/cfg/ 0.1-release/src/cfg/phpdao.ini 0.1-release/src/cfg/relation.ini 0.1-release/src/dao/ 0.1-release/src/dao/base.php 0.1-release/test/ 0.1-release/test/cfg.php 0.1-release/test/db.php 0.1-release/test/factory.php 0.1-release/test/table.php 0.1-release/test/cfg/ 0.1-release/test/cfg/phpdao.ini 0.1-release/test/cfg/relation.ini 0.1-release/test/sql/ 0.1-release/test/sql/db.sql kasuya@proc:~/tmp/phpdao$
kasuya@proc:~/tmp/phpdao/0.1-release$ mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 625 Server version: 5.0.32-Debian_7etch1-log Debian etch distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> create database phpdaotest; Query OK, 1 row affected (0.00 sec) mysql> exit Bye kasuya@proc:~/tmp/phpdao/0.1-release$
kasuya@proc:~/tmp/phpdao/0.1-release/test/sql$ mysql phpdaotest < db.sql kasuya@proc:~/tmp/phpdao/0.1-release/test/sql$
kasuya@proc:~/tmp/phpdao$ cd 0.1-release/src/cfg/ kasuya@proc:~/tmp/phpdao/0.1-release/src/cfg$ vi phpdao.ini
db.type = mysql # DB type (今はmysqlのみです) db.host = localhost # 接続先 db.dbname = phpdaotest # 接続先 DB 名 db.user = kasuya # 接続ユーザー名 db.pass =
kasuya@proc:~/tmp/phpdao/0.1-release/src/cfg$ vi relation.ini
# relation tables user.usn=memo.usn # user テーブルの usn と memo テーブルの usn のリレーションを張る
kasuya@proc:~/tmp/phpdao/0.1-release/src/cfg$ cd ../../bin/ kasuya@proc:~/tmp/phpdao/0.1-release/bin$ php generate.php kasuya@proc:~/tmp/phpdao/0.1-release/bin$ ls -al ../src/dao/ 合計 16 drwxr-xr-x 2 kasuya kasuya 4096 2007-10-11 18:36 . drwxr-xr-x 4 kasuya kasuya 4096 2007-10-11 18:33 .. -rw-r--r-- 1 kasuya kasuya 3800 2007-10-10 23:43 base.php -rw-r--r-- 1 kasuya kasuya 3029 2007-10-11 18:37 schema.php # ←コレができているか確認! kasuya@proc:~/tmp/phpdao/0.1-release/bin$
<?php # このクラスはphpdao_factory::generate()を使って作成されています。 # 変更が必要な場合は、DBのスキーマを変更後、php ./bin/generate.php を行ってください class phpdao_dao_schema { public static $schema = array ( 'memo'=>array( //{{{ '@primary_key'=>'srl', 'srl' => array( 'field' => 'srl', 'type' => 'bigint', 'len' => '20', 'null' => '', 'default' => '', 'extra' => 'auto_increment', ), 'usn' => array( 'field' => 'usn', ............
kasuya@proc:~/tmp/phpdao/0.1-release/bin$ cd ../../ kasuya@proc:~/tmp/phpdao$ ls -al 合計 24 drwxr-xr-x 3 kasuya kasuya 4096 2007-10-11 18:44 . drwxr-xr-x 7 kasuya kasuya 4096 2007-10-11 18:32 .. drwxr-xr-x 5 kasuya kasuya 4096 2007-10-11 18:32 0.1-release -rw-r--r-- 1 kasuya kasuya 9114 2007-10-11 01:02 0.1-release.tar.gz kasuya@proc:~/tmp/phpdao$ vi phpdaotest.php
<?php require_once '0.1-release/src/phpdao.php'; $user = phpdao_factory::create_table_class('user'); $user->where(array('usn'=>1))->fetch(); print_r($user);
kasuya@proc:~/tmp/phpdao$ php phpdaotest.php phpdao_user Object ( [__table_name:protected] => user [__where:protected] => Array ( [usn] => 1 ) [__attached:protected] => 1 [usn] => 1 [loginname] => loginname1 [nickname] => nickname1 [passwd] => pwd1 [regdate] => 2000-01-01 00:00:00 ) kasuya@proc:~/tmp/phpdao$