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システムの動作確認。