TOP
>
書籍連動
> この記事について
SQLiteの高度な活用術
第1回:画面レベルのテストを自動化して効率化をはかろう
著者:
Peter Lavin
2006/3/27
1
2
次のページ
この記事について
この記事では、SQLiteデータベースを使ったリンク管理システムを開発することにします。フロントエンドでは、図1のようにWebサイトのリンクをアルファベット順に並 べたものを作成します。最近登録されたリンクはハイライトされており、他のWebページに簡単にアクセスできます。
図1:Webサイトのリンク
(画像をクリックすると別ウィンドウに拡大図を表示します)
登録フォームもあり、追加リンクの登録申請を行えます。ただし、レビューが行われるまでは、Webサイト上には表示しません。レビューを行い、リンクのメンテナンスを行うためのバックエンドも用意します。
SQLiteの機能
このアプリケーションでは、SQLiteの高度な機能を見ていきます。まずは、トリガーやビュー機能を活用しましょう。トリガーを使って、datestampフィールドに値をセットします。こうすることで、レコードの追加や変更が行われた際に、自動的に更新時間がセットされます。
ビューを使うと、クエリーを保存したり、FROM句を使ってテーブルを置換したりできます。また、トリガーとともに使うことで、ビューの更新により、関連したテーブルを更新させることもできます。
PHPを使ったデータベースプログラミングの場合、MySQLとの比較は避けられません。そこで、SQLiteとMySQLでのSQL構文の違いも見ていきましょう。同様に、PHPにはSQLiteを使うための多くの関数が用意されています。これに関しても、MySQL関数との違いを見ていきましょう。
エラートラップを行うよりも例外を活用した方が、美しいコードになります。また、PHPのSQLite関数にはオブジェクト指向インターフェースが用意されているため、SQLiteデータベースクラスを拡張することで、SQLiteのメソッドが失敗したときの挙動を変更できます。
他にも、データベースからメタデータを取り出すことで、データの検証メソッドをクラスに付加できます。これは、SQLiteが持つsqlite_masterテーブルやpragmaを利用することで実現できます。
また、SQLiteに提供されている関数だけでなく、UDF(ユーザ定義関数)を活用することで、色々な関数を利用することもできます。
1
2
次のページ
書籍紹介
PHPプログラマーズマガジン
PHPプログラマーズマガジンは、PDF形式で読者の方にお届けするPHP言語(PHP: Hypertext Processor)専門誌です。 カナダMTA出版のphp|architect誌を日本語に翻訳し、独自の記事を加えて月刊でお届けしています。
発行:アシアル株式会社 価格:1,029円
ご購入はこちら
http://www.asial.co.jp/magazine/
著者プロフィール
Peter Lavin
カナダ、トロントでWebデザイナ/Web開発者として働いています。現在、PHPのオブジェクト指向をテーマにした本を執筆しており、No Starch Press社より出版される予定です。
INDEX
第1回:画面レベルのテストを自動化して効率化をはかろう
SQLiteの機能
はじめに