6.WebFramework
■ Webアプリケーションフレームワーク によるデータベースサービス開発
先週まで、DBMSの操作には、SQL、ユーザの画面遷移やデータの表示にはPHPのプログラムを作成して、Webサービスを開発を行ってきた。
その際、DMBS側のテーブルのフィールド名と、SQLの構文、HTMLのデータ入力フォームのタグのID名とPHPの変数名、などで、
id や name 、age といったデータベース設計時のフィールド名前が繰返し登場していた。
名前の修正ミスなどで、エラーとなり、開発作業が進まない場面も多かった筈である。
上記の問題を解決する為に、
設計時に決めた名前が、テーブル名、フィールド名、SQLの構文、HTML生成用PHPに横断的に登場場合、
自動的に設定されるような環境を用意すればよい。
Webアプリケーションフレームワーク は、その様な開発上の問題を解決し、開発の効率を上げ、またWebサービスに必要な標準的な機能、
・セキュリティ対策
・データベースとプログラム言語の仲介 (ORマッパー)
・URLとサービス(プログラム)の対応 (URLマッピング)
・プログラム変数とHTMLの統合 (Webテンプレート)
・サーバの負荷軽減 (キャッシュ)
を提供する、アプリケーションフレームワーク(プログラムライブラリやアプリケーション群)である。
(参照)
16の言語と57のフレームワークを比較したベンチマークが凄い
http://tech.a-listers.jp/2013/05/06/web-framework-benchmark/
■演習内容:
CodeIgniter のセットアップと動作確認
C:ドライブ
XAMPP フォルダから
xampp-control.exe を起動
apache と mysqlの動作を確認
CodeIgniter のインストール
レポートフォルダから以下を、C:ドライブのxampp環境にコピーする
CodeIgniter_2.1.4
名前を、 CodeIgniter_2.1.4 から ci 変更し、
C:\xampp\htdocs\ci
に配置する。
CIの動作確認
ブラウザから index.php にアクセス
http://localhost/ci/index.php
URL の一部 index.phpは省略可能
http://localhost/ci/
CodeIgniterの解説
MVC
M モデル model →データの置き場所(データベースなど)
V ビュー view →データの表示方法(Webページ)
C コントロール control →
アプリケーションの動作を制御するプログラム
== hello world プロジェクト
解説サイト
http://www.geekzshu.com/codeigniter/1780 参照
C:/xampp/htdocs/ci/application/controllers にhello.php を作成
http://localhost/ci/index.php/hello/ で動作確認
C:/xampp/htdocs/ci/application/views にhello_view.php を作成
※保存文字コードは UTF8 を指定する必要がある。
hello.php をビューを利用するように修正
http://localhost/ci/index.php/hello/ で動作確認
== Hello World プロジェクトはここまで。
== Blog 作成プロジェクト
解説サイト
http://www.geekzshu.com/codeigniter/1830 参照
データベース設定ファイルの修正
C:/xampp/htdocs/ci/application/config/database.php
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'myblog';
MySQLにBlogの記事用のテーブルを作成する
PHPMyAdmin で MySQLに接続→
データベース → データベース作成
名前 myblog
照合順序 utf8_general_ci
※インターネットエクスプローラではPHPMyAdminの動作に不具合が出る場合があるので利用ブラウザ
は Chrome を推奨
myblog データベースに移動→
SQLタブをクリック
SQL入力フォームにBlogのテーブル作成コマンドをコピーして 実行 を押す
解説サイトに掲載の作業を完了させ、
http://localhost/ci/index.php/blog/
から動作確認。
CodeIgniter のURLから、index.php を消す方法
http://1bit.mobi/20110206212729.html
C:/xampp/htdocs/ci/application の .htaccess ファイルを
.htaccess ファイル はファイル名の先頭の文字がピリオド「.」のapacheの設定ファイル(先頭の.はunix由来の隠しファイル)
C:/xampp/htdocs/ci にコピーして編集する。
内容を、上記Blogで紹介されている .htaccess に置き換える。(元の記述は削除)
RewriteEngine on
RewriteCond $1 !^(index\.php|css|user_guide|.+\.gif$|.+\.jpg$|.+\.png$|.+\.js$)
RewriteRule ^(.*)$ /ci/index.php/$1 [L]
上記の設定は、apacheのURL書きかえ機能を利用して、 /ci/hoge へのアクセスを、/ci/index.php/hoge に書き換えるもの。
http://localhost/ci/hello/ にアクセスして動作確認。
http://localhost/ci/blog/ でBlogシステムの動作確認。