Quictyは、PHPでWebアプリケーションを敏速に構築するためのフレームワーク。Apache + PHP + SQLite2の環境で動作する。
また、PostgreSQLとMySQLにも対応している(MySQLはまだ実験的実装)。
開発の短縮
Quictyで書かれた「Qtビルダー」というアプリ構築ツールが付属し、これをローカル環境のWebブラウザで動作させることで、Webアプリケーションの基礎構造をGUIで作成、編集できる。基本的なPHPのプログラムコードは自動的に生成され、これを修正、加筆していくことでWebアプリケーションを仕上げていく。初心者でも確実に動作するアプリケーションを作成でき、中級者以上は作業量の軽減できる。
さらに、Quictyの中核はPHPのポピュラーなテンプレートエンジン「Smarty」とPEARのクラスライブラリで構成されている。SmartyとPEARの知識があれば、学習コストも削減できる。
運用環境を選ばない
Quicty / Qtビルダーで構築したWebアプリケーションは、PEARライブラリとQucityライブラリがあれば、LinuxやFreeBSDのサーバ上で運用できる。
ここでは、XAMPP for WindowsへのQuictyとQtビルダーのインストール方法を紹介する。
インストーラ版リリース!
Windows + XAMPPの環境にクリック一発でインストールできる、Windowsインストーラ版Quictyをリリースしました。 こちらをご利用ください。(2008年5月23日追記)
使用したシステム
Windows XP Professional SP2
XAMPP for Windows 1.6.6a
Quicty 2.0b6
運用条件
今回は以下の設定でを運用する。ユーザー名「tomoyun」は各自の環境に合わせて変更する。
QtビルダーのDocumentRoot | C:/qtbuilder/htdocs |
ドメイン名 | quicty.local |
Quictyアプリケーションroot | C:/QT |
「ダウンロード」の「最新版」をクリック。
「quicty」から「Quicty2.0b6.zip」など最新版を選んでクリック。
「開く」をクリック。
アーカイブが解凍され、ウィンドウが開く。「QT」フォルダをルートに置く(C:¥QT)。
ルートディレクトリに「QT」フォルダを配置した状態。
hostsファイルの設定
「C:¥WINDOWS¥system32¥drivers¥etc¥hosts」を修正
————————————————-
127.0.0.1 quicty.local
————————————————-
(設定例)
mor_rewriteを有効化
Apacheの設定ファイル「C:¥xampp¥apache¥conf¥httpd.conf」で、mod_rewriteを有効にする。
———————————————————–
#LoadModule rewrite_module modules/mod_rewrite.so
↓
LoadModule rewrite_module modules/mod_rewrite.so
———————————————————–
(設定例)
ApacheのVirtualHostの設定
VirtualHostの設定ファイル「C:¥xampp¥apache¥conf¥extra¥httpd-vhosts.conf」にVirtualHostの設定を追加する。
名前ベースのバーチャルホストの使用を宣言
———————————————————–
Name VirtualHost *:80
———————————————————–
XAMPP管理画面のVirtualHost
———————————————————–
ServerAdmin tomoyun@mydomain.jp
DocumentRoot C:/xampp/htdocs
ServerName localhost
ErrorLog logs/localhost-error_log
CustomLog logs/localhostl-access_log common
</VirtualHost>
———————————————————–
QtビルダーのVirtualHost
———————————————————–
<VirtualHost *:80>
ServerAdmin tomoyun@mydomain.jp
DocumentRoot C:/QT/qtbuilder/htdocs
ServerName quicty.local
ErrorLog logs/quicty.local-error_log
CustomLog logs/quicty.local-access_log common
RewriteEngine On
RewriteRule ^/(.*)/(css|errors|img|js)/(.*) C:/QT/$1/htdocs/$2/$3 [L]
RewriteRule ^/(.*)/(.*)/(.*)/(.*) C:/QT/$1/htdocs/index.php [L,E=QtRootShift:Yes]
RewriteRule ^/(.*)/(.*)/(.*) C:/QT/$1/htdocs/index.php [L,E=QtRootShift:Yes]
RewriteRule ^/(.*)/(.*) C:/QT/$1/htdocs/index.php [L,E=QtRootShift:Yes]
</VirtualHost>
———————————————————–
QtビルダーがQuictyアプリケーションを生成するQuictyアプリケーションroot「C:/QT」は、localhostとquicty.localからのアクセスのみ許可するように設定する。
———————————————————–
<Directory “C:/QT”>
AllowOverride None
Options None
Order allow,deny
Allow from localhost
Allow from quicty.local
</Directory>
———————————————————–
(設定例)
php.iniの修正
PHPの設定ファイル「C:¥apache¥bin¥php.ini」を修正。
「php_pdo_pgsql.dll」と「php_pdo_sqlite.dll」の行頭の「;」を消して有効化。
———————————————————–
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
↓
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
———————————————————–
(設定例)
php.iniの[mbstring]セクションを修正し、EUC-JPで日本語を扱えるように修正する。
——————————
[mbstring]
; language for internal character representation.
mbstring.language = Japanese
; internal/script encoding.
; Some encoding cannot work as internal encoding.
; (e.g. SJIS, BIG5, ISO-2022-*)
mbstring.internal_encoding = EUC-JP
; http input encoding.
mbstring.http_input = auto
; http output encoding. mb_output_handler must be
; registered as output buffer to function
;mbstring.http_output = SJIS
mbstring.http_output = EUC-JP
; enable automatic encoding translation accoding to
; mbstring.internal_encoding setting. Input chars are
; converted to internal encoding by setting this to On.
; Note: Do _not_ use automatic encoding translation for
; portable libs/applications.
;mbstring.encoding_translation = Off
; automatic encoding detection order.
; auto means
mbstring.detect_order = auto
; substitute_character used when character cannot be converted
; one from another
mbstring.substitute_character = none;
——————————
(設定例)
Apacheの再起動
「Apache」の「停止」をクリックした後、「開始」をクリック。
以上で準備が整った。
Qtビルダーの初期設定
Qtビルダーのトップページ「http://quicty.local/qtbuilder/」にアクセスすると、
最初に環境設定画面になる。
MySQLやPostgreSQLでデフォルトで使用したいユーザーアカウントがあれば、ここで設定する。
なければ、そのままでよい。
「登録」をクリック。
環境設定が済むと、Qtビルダーのトップページに戻る。
以後、ここがQuictyアプリ開発の拠点になる。
Qtビルダーによる、はじめてのWebアプリケーション
以下は、「QuictyによるPHP Webアプリの超高速開発-(1)はじめてのQuictyアプリ」で紹介した簡単なWebアプリケーションの作成手順を、検証を兼ねてWindows版で再度行ったもの。
操作内容は上記の記事とまったく同じである。詳しくは上記の記事を参照して欲しい。
アプリケーションの追加
アプリケーション名をクリック
「データセットの追加」をクリック
データセット作成画面が開く。
タイトル:「ブックマーク」
DataSet Name:「boomark」
と入力。「登録」ボタンをクリック。
データセット「bookmark」のページが開く。
「フィールドの追加」をクリック。
(※この画面はちょっと違います。本当は「サイト名」フィールドはこの時点ではまだありません。)
フィールドの追加画面。
「text」を選択し、「追加」をクリック。
フィールドの詳細設定画面。
タイトル:「サイト名」
Name:「name」
と修正し、「登録」をクリック。
ふたたび、データセット「bookmark」のトップページ。
サイト名(name)のフィールドが追加されているのが確認できる。
再度「フィールドの追加」をクリック。
ふたたびフィールドの追加画面。
今度は「url」を選択し、「追加」をクリック。
タイトル:「URL」
Name:「url」
とし、「登録」ボタンをクリック。
データセット「bookmark」のページ。
「サイト名」と「URL」の2つのフィールドが作成されているのが確認できる。
画面を下までスクロールする。
「テーブル関連設定ファイルの保存」のすべてのチェックボックスがチェックされているのを確認し、「保存」をクリック。
ファイル保存結果が表示される。
「戻る」をクリック。
データセット「bookmark」のトップページ。
再度画面を下までスクロールする。
「テーブルの作成」の「(再)作成」のラジオボタンを選択し、「保存」をクリック。
テーブル作成結果が表示される。
「戻る」をクリック。
データセット「bookmark」のページで「アプリ」をクリック。
アプリケーション「Myブックマーク」の画面に戻り、
「ページツリー」の中の「トップページに機能を追加」をクリック。
ページの追加画面
タイトル:「ブックマーク」
Name:「bookmark」
ページの種類:「マスタメンテ/シングルページ」
データセット:「bookmark」
と入力&選択して、「登録」をクリック。
アプリケーション「Myブックマーク」のページ。
「ページツリー」の「top_page」に「(bookmark)」が作成されている。
アプリケーションの作成作業は、以上で完了。
Name「mybookmark」のリンクをクリックすると、作成したアプリケーション「Myブックマーク」が開く。