Upload
-
View
569
Download
0
Embed Size (px)
DESCRIPTION
PHPでソーシャルブックマークアプリケーションを作成するための第二弾です。
Citation preview
PHP講座(9)!ソーシャルブックマーク2
この授業ではソーシャルブックマークサービスを作成するにあたって重要な サイトの作り方および再利用の方法について説明します。
Webアプリケーションの仕組み(復習)
10.4.18 (C) 株式会社破滅派
2
HTML+CSS+Javascriptなどで作るWebページ。 Flashなども含む。
すべてのWebアプリケーションは同じ仕組です
ユーザーインターフェース ビジネスロジック ミドルウェア
PHPやPerl、Rubyなどで作る処理命令。ミドルウェアへの命令や、処理結果の出力などを行う、アプリケーションの心臓部分。
MySQLのようなデータベース、sendmailのようなメールサーバ、GDのような画像処理アプリケーションなど。
ユーザーから のリクエスト
アプリケーション への命令
ユーザーへの 結果出力
アプリケーション による処理結果
処理 処理
最近のWebアプリケーションの流行
10.4.18 (C) 株式会社破滅派
3
MVC Model モデル(データの構造を司るもの) View ビュー(ユーザに対する表示を司るもの) Controller コントローラー(モデルとビューの関係を司るもの)
モデル
コントローラー
ビュー
アプリケーション全体の機能をこの3つに分解して設計するのが流行ってます。 現在主流となっている方法はすべてこのMVCモデルといっても過言ではありません。
でもちょっと抽象的すぎて難しい!
MVCっぽく作る秘訣
10.4.18 (C) 株式会社破滅派
4
いきなりMVCは無理。
いきなりMVCとかいわれても敷居が高すぎるので、MVCっぽく作ることにします。 キーワードは再利用です。再利用するものを3つに分けます。
1.データの再利用 2.パーツの再利用 3.機能の再利用
データの再利用
10.4.18 (C) 株式会社破滅派
5
1. データの再利用の仕組み サービス全体を通して変わらないものを定義して使いまわします。 1. サイトのURL(ex. http://bookmark.example.jp/) 2. サイトのルートディレクトリ(ex. /var/www/vhosts/bookmark) 3. 画像が入っているフォルダ(ex. /var/www/vhosts/bookmark/img) 4. データベースへの接続情報(ex. データベース名、ユーザ名、パスワード)
5. ユーザーが現在ログインしているか、していないか?
<?php //SITE_URLでサイトのURLを定義 define(“SITE_URL”, http://bookmark.example.jp);
?>
<?php echo SITE_URL; // いつでも使える!
?>
パーツの再利用
10.4.18 (C) 株式会社破滅派
6
2. パーツの再利用の仕組み サービス全体でよく使うパーツを分けて再利用します。 1. ヘッダー、フッターなどのパーツを分割して再利用します。
(ex. require_once(“header.php”); 2. なんども使われるタグを読み込めるようにしておきます。
パーツの再利用にはHTML+CSSの知識が 必須です! ヒント:grid960で検索
header
footer
contents
<?php get_header(); ?>
<div id=“content”>
//ページごとに書き換える必要があるのはここだけ!
</div>
<?php get_footer(); ?>
機能の再利用
10.4.18 (C) 株式会社破滅派
7
3. 機能の再利用の仕組み サービス全体でよく使う機能を関数やクラスで再利用します。以下のようなものが考えられます。 1. データベースから特定の情報を取り出す関数 function get_user(){} 2. ユーザのログイン情報を設定する関数 function set_user_login(){} 3. メールアドレスの形式をチェックする関数 function chk_mail($mail){}
名前をつけるときは一目でわかる名前にしましょう。 センスが問われます。
例えば、ブログの更新情報をTwitterにつぶやく機能を作るときに全部自分で作るのもいいですが…
また、一番重要なのは、「他人の作った機能を再利用できる」能力です。
人の作った関数やクラスを再利用することで、生産性が高まります。 PEARのServices_Twitterを使う!
ぺちぱブックマークの構成
10.4.18 (C) 株式会社破滅派
8
ルートフォルダ
components
lib
各ページ
bootstrap.php
header.php
functions.php
最初に必ず読み込むファイル
パーツを格納するフォルダ
機能を格納するフォルダ