自作PHPフレームワーク「tackphp」のチュートリアルです。
6:サイトにアクセスします
tackphpはgithubに公開されています。https://github.com/tatsuyau/tackphp
今回はチュートリアルとして、Bookmarkアプリケーションを作りたいと思います。
1:データベースの用意
今回作成するBookmarkアプリのテーブルをMySQLに作成しましょう。
カラムは、id, title, url, created, の4カラムでOKです。
CREATE TABLE IF NOT EXISTS `bookmark` (`id` int(11) NOT NULL AUTO_INCREMENT,`title` varchar(200) COLLATE utf8_unicode_ci NOT NULL,`url` varchar(200) COLLATE utf8_unicode_ci NOT NULL,`created` datetime NOT NULL,PRIMARY KEY (`id`),KEY `id` (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;
2:データベースに接続するアカウント
tackphp/database.phpを開いてください。接続アカウントを記述してください。
class database{public $schema = array('default' => array('host' => 'localhost','user' => 'user','password' => 'user','schema' => 'databaseName','encoding' => 'utf8'),
3:controllerの作成
tackphp/controller内にBookmarkController.phpを作成します。
4:modelの作成<?phpclass BookmarkController extends Controller{public function __construct(){$this->bookmark = new Bookmark();}public function index(){$title = 'my bookmark list';$datas = $this->bookmark->getBookmark();require_once($this->layout);}public function add(){$this->bookmark->setBookmark($this->_request);header('Location: ./bookmark');}}
tackphp/model内にBookmark.phpを作成します。
5:viewの作成<?phpclass Bookmark extends Model{public function __construct(){$this->db = new database();}public function getBookmark(){$sql = 'SELECT * FROM bookmark ';$this->db->execQuery($sql);$row = $this->db->fetchAll();return $row;}public function setBookmark($req){$sql = 'INSERT INTO bookmark (title, url, created) ';$sql .= 'VALUES (:title, :url, :created) ';$hashParam = array('title' => $req['title'],'url' => $req['url'],'created' => date('Y-m-d H:i:s'));return $this->db->execQuery($sql,$hashParam);}}
tackphp/view内にbookmark_index.tplを作成します。
<form action="bookmark_add" method="post">title:<input type="text" name="title"><br />url:<input type="text" name="url"><br /><input type="submit" value="add"></form><h2><?php echo $title; ?></h2><?php if($datas): ?><ul><?php foreach($datas as $data): ?><li><a href="<?php echo $data['url']; ?>"><?php echo $data['title']; ?></a></li><?php endforeach; ?></ul><?php endif; ?>
http://yourdomain/tackphp/bookmark にアクセスしてください。Bookmarkアプリケーションが作成できているでしょうか?
7:設定を変更します
http://yourdomain/tackphp で"bookmark"を省いたURLでアクセスできるようにします。
tackphp/config.phpを開いてください。
上記に書き換えます。/*デフォルトのcontrollerとaction*/define('DEFAULT_CONTROLLER','bookmark');define('DEFAULT_ACTION','index');
http://yourdomain/tackphpでbookmarkアプリケーションにアクセスできれば成功です。
今回のチュートリアルの解説は後ほど。疲れたので。。。