QuictyによるPHP Webアプリの超高速開発-(1)はじめてのQuictyアプリ

 Quictyは、PHPでWebアプリケーションを敏速に構築するためのフレームワーク。Apache + PHP + SQLite2の環境で動作する。
 また、PostgreSQLMySQLにも対応している(MySQLはまだ実験的実装)。

開発の短縮
 Quictyで書かれた「Qtビルダー」というアプリ構築ツールが付属し、これをローカル環境のWebブラウザで動作させることで、Webアプリケーションの基礎構造をGUIで作成、編集できる。基本的なPHPのプログラムコードは自動的に生成され、これを修正、加筆していくことでWebアプリケーションを仕上げていく。初心者でも確実に動作するアプリケーションを作成でき、中級者以上は作業量の軽減できる。
 さらに、Quictyの中核はPHPのポピュラーなテンプレートエンジン「Smarty」とPEARのクラスライブラリで構成されている。SmartyとPEARの知識があれば、学習コストも削減できる。

運用環境を選ばない 
 Quicty / Qtビルダーで構築したWebアプリケーションは、PEARライブラリとQucityライブラリがあれば、LinuxやFreeBSDのサーバ上で運用できる。

インストール

 今回は、シンプルなオンライン・ブックマークの作成を通して、Qtビルダーの操作の基本を紹介する。

screenshot_203.zQsSWHSAM1ab.jpg

 QuictyによるWebアプリケーション構築の基本手順を紹介する。
 Quictyのインストールについては、以下を参照。
MacでWeb開発-(10) XAMPPにQuictyフレームワークを設置

Quictyアプリケーションの基本動作

 Quictyアプリケーションの動作は非常にシンプルだ。
 Webブラウザからのリクエストを「ページクラス・モジュール」が受け取り、下記の処理を行う。

  1. Webブラウザからページ表示リクエストを受け取る
  2. データセットを介してDBテーブルからデータを読み書き
  3. HTMLテンプレートを読み込み
  4. データとHTMLテンプレートを合成して表示

screenshot_150.ZtlvYl03Adcf.jpg

「データセット」には、DBテーブルの各カラムと表示するHTMLの各フォームの対応が定義されている。
screenshot_151.r5xhv4pERht1.jpg

 Quictyアプリでは、表示するページが増えるにしたがい、

  • ページクラス・モジュール
  • データセット
  • HTMLテンプレート

のセットを増やしていく。

 もちろん、1つのページクラスから、複数のデータセットを操作することもできる。

Quictyアプリケーションの作成手順

 QuictyによるWebアプリケーションの作成は、以下の手順で行う。

  1. アプリケーションの追加
  2. データセットの追加、フィールドの追加
  3. ページ(クラスモジュールとHTMLテンプレート)の追加
  4. クラスモジュール(PHPコード)の修正
  5. HTMLテンプレート(HTML+Smartyコード)の修正

 表示するページが増えるにしたがい、2から5の手順を繰り返す。

 
 ページとデータセットが1対1で対応する場合は、ページでデータセットを同時に作成し、のちに必要なフィールドをデータセットに追加することで手間を省ける。

はじめてのQuictyアプリケーション

 はじめてのQuictyアプリとして、非常にシンプルなオンライン・ブックマークを作成する。

以下のような機能を実現する

  • WebページのタイトルとURLを登録
  • 一覧表示と検索
  • 更新と削除

screenshot_203.Ynmou9jXM3a8.jpg

今回作成するアプリケーションの仕様は以下の通り。

アプリケーション名

mybookmark

タイトル

Myブックマーク

使用データベース

SQLite

(1) Qtビルダーを開く

Webブラウザで「http://quicty.local/qtbuilder/」にアクセス。
Qtビルダーが開いたら「アプリケーションの追加」をクリック。
screenshot_02.SXupyv2C1O0r.jpg

(2) アプリケーションの追加
サイト名:「Myブックマーク」
Name:「mybookmark」
を入力し、「登録」をクリック。
screenshot_03.IlyiYxVO6jRG.jpg

Qtビルダーのトップページ(アプリケーションの一覧)が表示される。
作成した「myboolmark」を選んでクリック。
screenshot_04.niJiG6hFp39e.jpg

(3) データセットとフィールドの追加
アプリケーション「mybookmark」のページが開く。
「データセットの追加」をクリック。
screenshot_05.69Jr6AIcjilS.jpg

データセット作成画面が開く。
タイトル:「ブックマーク」
DataSet Name:「boomark」
と入力。「登録」ボタンをクリック。
screenshot_06.YvOaSCkOicxz.jpg

データセット「bookmark」のページが開く。
「フィールドの追加」をクリック。
screenshot_07.i8hdvBD5ekmN.jpg

フィールドの追加画面。
「text」を選択し、「追加」をクリック。
screenshot_09.KmVGA2j7maMx.jpg
screenshot_12.VvTgiBkBtm7m.jpg

フィールドの詳細設定画面。
タイトル:「サイト名」
Name:「name」
と修正し、「登録」をクリック。
screenshot_13.Sreh7wFKrk4o.jpg

ふたたび、データセット「bookmark」のトップページ。
サイト名(name)のフィールドが追加されているのが確認できる。
再度「フィールドの追加」をクリック。
screenshot_14.l7qfaxFsCHDp.jpg

ふたたびフィールドの追加画面。
今度は「url」を選択し、「追加」をクリック。
screenshot_16.VjCpgPY1SLqO.jpg

タイトル:「URL」
Name:「url」
とし、「登録」ボタンをクリック。
screenshot_17.kWLhv8Iefy3M.jpg

データセット「bookmark」のページ。
「サイト名」と「URL」の2つのフィールドが作成されているのが確認できる。
画面を下までスクロールする。
screenshot_18.FsXRoaTrDvJ7.jpg

「テーブル関連設定ファイルの保存」のすべてのチェックボックスがチェックされているのを確認し、「保存」をクリック。
screenshot_19.HklsQ9R61CSA.jpg

ファイル保存結果が表示される。
「戻る」をクリック。
screenshot_20.xd40WwJbwT4u.jpg

データセット「bookmark」のトップページ。
再度画面を下までスクロールする。
「テーブルの作成」の「(再)作成」のラジオボタンを選択し、「保存」をクリック。
screenshot_21.IowE1SK1TTC5.jpg

テーブル作成結果が表示される。
「戻る」をクリック。
screenshot_22.D0avGUEeWI4j.jpg

データセット「bookmark」のトップページ。
「アプリ」をクリック。
screenshot_23.fyjXghSVUuWH.jpg

(4) ページの追加

アプリケーション「Myブックマーク」の画面。
「ページツリー」の中の「トップページに機能を追加」をクリック。
screenshot_24.dtp0zDlEcJXh.jpg

ページの追加画面
タイトル:「ブックマーク」
Name:「bookmark」
ページの種類:「マスタメンテ/シングルページ」
データセット:「bookmark」
と入力&選択して、「登録」をクリック。
screenshot_26.tJZZSzjvt0NS.jpg

アプリケーション「Myブックマーク」のページ。
「ページツリー」の「top_page」に「(bookmark)」が作成されている。
アプリケーションの作成作業は、以上で完了。
Name「mybookmark」のリンクをクリックすると、作成したアプリケーション「Myブックマーク」が開く。
screenshot_27.vXrvWkiSRXho.jpg

「QT」フォルダ以下に「mybookmark」アプリの各種フォルダが生成されているのがわかる。
screenshot_28.D7iyRtRGP9Mk.jpg

(5) アプリケーション「Myブックマーク」の動作確認。

作成したアプリケーション「Myブックマーク」のトップページ。
screenshot_29.wlJAOjhscS38.jpg

サイト名:「Tokyo O Life」
URL:「http://www.zubapita.jp/」
と入力して、「登録」をクリック。
screenshot_194.08DcHA3HRNBW.jpg

ブックマークが登録されたのが、確認できる。
続けてデータを入力する。
screenshot_195.fEOM7PsQr5oo.jpg

「映画を語ろう」のURL(http://cine-gourmet.jp/)をクリックしてみる。
screenshot_196.Hhjtbj07bKCR.jpg

新しいウィンドウが開いて、「映画を語ろう」が表示される。
screenshot_197.0cV32JbwgiYQ.jpg

「映画を語ろう」のNo:「2」をクリックすると、ページ下部のフォームに登録情報が表示される。
「編集」をクリック。
screenshot_198.QhUt0xV0ZOeo.jpg
ページ下部のフォームに登録データが読み込まれ、修正が可能になる。
サイト名を「映画を語ろう2.0β」に修正して、「更新」をクリック。
screenshot_199.nfmv1ffrVClu.jpg

No.2のサイト名が「映画を語ろう2.0β」に修正された。
次に、検索窓に「映画」と入力し、「検索」をクリック。
(右カラムのグローバル検索窓は、このままでは動作しません)
screenshot_201.5mGSRhFCtZuC.jpg

ブックマークの一覧表示が「映画を語ろう」に絞り込まれた。
「リセット」をクリックすれば、表示が元に戻る。
screenshot_202.3PZYPVYtEEWg.jpg

Qtビルダーによって、

  • データの登録
  • データの一覧
  • データの修正、削除
  • データの検索

といったWebアプリケーションの基本的なデータ操作を、PHPのプログラミングなしに実装できた。

 今回は、1画面ですべての操作を行ったが、一覧表示と編集フォームを別画面にすることも、もちろんできる。テーブルのJOINした結果を表示することも可能だ。
 次回は、今回作成したオンライン・ブックマークで生成されたコードの中身を見てみよう。

以上。

関連記事

関連記事

投稿者:

ともゆき@zubapita

ともゆき@zubapita

作ったモノ 雑誌:月刊アスキー(デスク)、アスキー.PC(副編集長)、インターネットアスキー(編集長)、アスキーPCエクスプローラー(編集長) Webサイト:東京グルメ/ライブドアグルメ、映画を語ろう、本が好き 著書:「Twitter 使いこなし術」「facebook 使いこなし術」 最近は、株式会社ブックウォーカーにて、「BWインディーズ」をやってます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>