gorinphp0928
DESCRIPTION
2009年TRANSCRIPT
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
AW技能五輪 第4回 PHPセミナー
必要な機能と
実現方法を
確認しようの回
資料作成・サポート:電設部技能五輪プロジェクト
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆はじめに
まずはじめに
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆はじめに
課題見ましたよね
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆はじめに
楽勝です。(内容的には)
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆はじめに
問題は量です><
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆はじめに
時間配分だいじ!なので・・・
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆はじめに
・今日の流れ
・本番までの流れ
・本番での流れ を練っておきましょう (意識して)
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆1)流れの確認1-1.今日の流れ
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆1)流れの確認1-1.今日の流れ
1)流れの確認
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆1)流れの確認1-1.今日の流れ
1)流れの確認
2)本番で使うDBについて
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆1)流れの確認1-1.今日の流れ
1)流れの確認
2)本番で使うDBについて
3)phpMyAdminでDB作成
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆1)流れの確認1-1.今日の流れ
1)流れの確認
4)機能要件の理解
2)本番で使うDBについて
3)phpMyAdminでDB作成
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆1)流れの確認1-1.今日の流れ
1)流れの確認
4)機能要件の理解
5)実装のコツとサンプル
2)本番で使うDBについて
3)phpMyAdminでDB作成
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆1)流れの確認1-1.今日の流れ
1)流れの確認
4)機能要件の理解
5)実装のコツとサンプル
2)本番で使うDBについて
3)phpMyAdminでDB作成
イマココ!
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆1)流れの確認1-2.本番までの流れ(PHP対策的に)
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆1)流れの確認1-2.本番までの流れ(PHP対策的に)
1)機能と実装方法確認
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆1)流れの確認1-2.本番までの流れ(PHP対策的に)
1)機能と実装方法確認
2)とにかく一回作ってみる
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆1)流れの確認1-2.本番までの流れ(PHP対策的に)
1)機能と実装方法確認
2)とにかく一回作ってみる
3)フィードバック
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆1)流れの確認1-2.本番までの流れ(PHP対策的に)
1)機能と実装方法確認
4)作るものを大体決める
2)とにかく一回作ってみる
3)フィードバック
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆1)流れの確認1-2.本番までの流れ(PHP対策的に)
1)機能と実装方法確認
4)作るものを大体決める
5)制限時間内に作る練習
2)とにかく一回作ってみる
3)フィードバック
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆1)流れの確認1-2.本番までの流れ(PHP対策的に)
1)機能と実装方法確認
4)作るものを大体決める
5)制限時間内に作る練習
2)とにかく一回作ってみる
3)フィードバック
イマココ!
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆1)流れの確認1-2.本番までの流れ(PHP対策的に)
1)機能と実装方法確認
4)作るものを大体決める
5)制限時間内に作る練習
2)とにかく一回作ってみる
3)フィードバック
重要!!
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆1)流れの確認1-3.本番での流れ(金メダル的な意味で)
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆1)流れの確認1-3.本番での流れ(金メダル的な意味で)
「30%の変更」に対応する!「変更部分はどこなのか」が分かっていれば大丈夫です。
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆1)流れの確認1-3.本番での流れ(金メダル的な意味で)
制限時間内に作る練習で得た自分パターンを落ち着いて実行!!!
phpMyAdmin は友達です。
「30%の変更」に対応する!「変更部分はどこなのか」が分かっていれば大丈夫です。
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆1)流れの確認1-3.本番での流れ(金メダル的な意味で)
制限時間内に作る練習で得た自分パターンを落ち着いて実行!!!
phpMyAdmin は友達です。
「30%の変更」に対応する!「変更部分はどこなのか」が分かっていれば大丈夫です。
今日から本番まで、作るものも重視する点もメンバーそれぞれで状況が違ってきます。もうセミナーの日とか
気にせず、いつでもいいから
781または792へどうぞ!!
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆1)流れの確認1-1.今日の流れ
1)流れの確認
4)機能要件の理解
5)実装のコツとサンプル
2)本番で使うDBについて
3)phpMyAdminでDB作成
次ココ。
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆2)本番で使うDBについて2-1.ちょっとした訂正とお詫び
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆2)本番で使うDBについて2-1.ちょっとした訂正とお詫び
さて、これまでのPHPセミナーにおいて、
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆2)本番で使うDBについて2-1.ちょっとした訂正とお詫び
さて、これまでのPHPセミナーにおいて、「データベースは大会側が用意しますから!」とご案内してきましたが、
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆2)本番で使うDBについて2-1.ちょっとした訂正とお詫び
さて、これまでのPHPセミナーにおいて、「データベースは大会側が用意しますから!」とご案内してきましたが、どうやらデータベース自体も競技者が作る必要があるみたいです。
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆2)本番で使うDBについて2-1.ちょっとした訂正とお詫び
さて、これまでのPHPセミナーにおいて、「データベースは大会側が用意しますから!」とご案内してきましたが、どうやらデータベース自体も競技者が作る必要があるみたいです。
謹んでお詫び申し上げます。
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆2)本番で使うDBについて2-1.ちょっとした訂正とお詫び
さて、これまでのPHPセミナーにおいて、「データベースは大会側が用意しますから!」とご案内してきましたが、どうやらデータベース自体も競技者が作る必要があるみたいです。
謹んでお詫び申し上げます。
2009年9月28日 (月)
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆2)本番で使うDBについて2-1.ちょっとした訂正とお詫び
さて、これまでのPHPセミナーにおいて、「データベースは大会側が用意しますから!」とご案内してきましたが、どうやらデータベース自体も競技者が作る必要があるみたいです。
謹んでお詫び申し上げます。
2009年9月28日 (月)技能五輪プロジェクト代表 江川 貴仁
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆2)本番で使うDBについて2-2.テーブル設計しました。(日本語の設計図)
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆2)本番で使うDBについて2-2.テーブル設計しました。(実際にDBで使う設計図)
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆2)本番で使うDBについて2-2.テーブル設計しました。(テーブル情報一覧表)
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-1.DB作成の手順
・DBの作成(不要かも?)
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-1.DB作成の手順
・DBの作成(不要かも?)
・テーブルの作成
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-1.DB作成の手順
・DBの作成(不要かも?)
・テーブルの作成
・管理者、専門分野、講師の初期値入力
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-1.DB作成の手順
・DBの作成(不要かも?)
・テーブルの作成
・管理者、専門分野、講師の初期値入力
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-2.DBの作成(不要かも?)
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-2.DBの作成(不要かも?)
データベース名:指示に従う 文字セット :utf8_general_ci
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-2.DBの作成(不要かも?)
これでDB作成完了。
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-3.テーブルの作成
・DBの作成(不要かも?)
・テーブルの作成(一番大事!!)
・管理者、専門分野、講師の初期値入力
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-3.テーブルの作成(一番大事!!)
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-3.テーブルの作成(一番大事!!)
目当てのDBが選択されていることを確認する
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-3.テーブルの作成(一番大事!!)
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-3.テーブルの作成(一番大事!!)
テーブル名と、そのテーブルの列数を入力し、「実行する」をクリック。
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-3.テーブルの作成(一番大事!!)
・列名=フィールド
・データ型=種別、 (CHARまたはVARCHARの 場合は長さ/値の 欄に桁数を入力)
・必須?=ヌル(NULL)
・主key?=PRIMARY
・ユニーク?=UNIQUE
照合順序はutf8_general_ciを選択し「保存する」クリック
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-3.テーブルの作成(一番大事!!)
これで一つのテーブル作成完了!
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-3.テーブルの作成(一番大事!!)
これらのテーブルをどんどん作る。
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-3.テーブルの作成(一番大事!!)
CREATE TABLE kaiin ( kai_no INT NOT NULL, kai_mail VARCHAR(60) UNIQUE NOT NULL, kai_pw TEXT NOT NULL, kai_name TEXT NOT NULL, kai_name_kana TEXT NOT NULL, kai_tel CHAR(10) NOT NULL, kai_fax CHAR(10), kai_keitai CHAR(11), kai_yuubin CHAR(7), kai_todoufuken TEXT NOT NULL, kai_juusyo TEXT NOT NULL);
ALTER TABLE kaiin ADD CONSTRAINT PK_kaiin PRIMARY KEY (kai_no);
CREATE TABLE category ( cat_no INT NOT NULL, cat_name VARCHAR(30));
ALTER TABLE category ADD CONSTRAINT PK_category PRIMARY KEY (cat_no);
CREATE TABLE kanrisya ( kan_id VARCHAR(20) NOT NULL, kan_pw TEXT NOT NULL);
ALTER TABLE kanrisya ADD CONSTRAINT PK_kanrisya PRIMARY KEY (kan_id);
CREATE TABLE koushi ( kou_no INT NOT NULL, kou_mail VARCHAR(60) UNIQUE NOT NULL, kou_pw TEXT NOT NULL, kou_name TEXT NOT NULL, kou_name_kana TEXT NOT NULL, kou_birthday DATE, kou_zayu TEXT, kou_pic_filename TEXT);
残りのテーブルもphpMyAdminで作ってみてください。
講師用チートスクリプト
ALTER TABLE koushi ADD CONSTRAINT PK_koushi PRIMARY KEY (kou_no);
CREATE TABLE seminar ( sem_no INT NOT NULL, kou_no INT, cat_no INT, sem_date DATE NOT NULL, sem_place TEXT NOT NULL, sem_summery TEXT NOT NULL, sem_detail TEXT NOT NULL, sem_comment TEXT);
ALTER TABLE seminar ADD CONSTRAINT PK_seminar PRIMARY KEY (sem_no);
CREATE TABLE sankasya ( sem_no INT NOT NULL, kai_no INT NOT NULL, san_ip TEXT NOT NULL);
ALTER TABLE sankasya ADD CONSTRAINT PK_sankasya PRIMARY KEY (sem_no,kai_no);
ALTER TABLE seminar ADD CONSTRAINT FK_seminar_0 FOREIGN KEY (kou_no) REFERENCES koushi (kou_no);ALTER TABLE seminar ADD CONSTRAINT FK_seminar_1 FOREIGN KEY (cat_no) REFERENCES category (cat_no);
ALTER TABLE sankasya ADD CONSTRAINT FK_sankasya_0 FOREIGN KEY (sem_no) REFERENCES seminar (sem_no);ALTER TABLE sankasya ADD CONSTRAINT FK_sankasya_1 FOREIGN KEY (kai_no) REFERENCES kaiin (kai_no);
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-3.テーブルの作成(一番大事!!)
こうなっていればテーブル作成完了です。
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-4.管理者、専門分野、講師の初期値入力
・DBの作成(不要かも?)
・テーブルの作成
・管理者、専門分野、講師の初期値入力
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-4.管理者、専門分野、講師の初期値入力
課題PDFを見ると、
「管理者」「専門分野」「講師」
の情報は既に与えられたものを使えるようです。
順番に確認し、phpMyAdminで入力していきましょう。
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-4.管理者、専門分野、講師の初期値入力
◆管理者の情報
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-4.管理者、専門分野、講師の初期値入力
◆管理者の情報
p.6/14 「10.管理モジュール」
(b) 管理者は以下のユーザネーム/ パスワードでログインできる
login: admin password: 3@mA?eZsh
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-4.管理者、専門分野、講師の初期値入力
◆管理者の情報
p.6/14 「10.管理モジュール」
(b) 管理者は以下のユーザネーム/ パスワードでログインできる
login: admin password: 3@mA?eZsh
これをkanrisyaテーブルに入れておく。
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-4.管理者、専門分野、講師の初期値入力
◆管理者の情報
パスワードは、SHA1関数を使って暗号化
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-4.管理者、専門分野、講師の初期値入力
◆専門分野の情報
◆講師の情報
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-4.管理者、専門分野、講師の初期値入力
◆専門分野の情報
◆講師の情報
p.14/14 「付録D 専門分野」
1.印刷 2.写真 3.DTP 4.ウェブデザイン
p.5/14 「付録D 専門分野」
4.講師の情報 [付録Bを参照] これは別途用意去れているデータを 用いることができる。
それぞれ、phpMyAdminでデータをいれてみてください。
/*
初期値入力講師用チートスクリプト*/
INSERT INTO `kanrisya` (`kan_id` , `kan_pw`) VALUES ('admin', SHA1( '3@mA?eZsh' ));
INSERT INTO `category` VALUES (1,'印刷'), (2,'写真'), (3,'DTP'), (4,'ウェブデザイン');
INSERT INTO `koushi` (`kou_no` ,`kou_mail` ,`kou_pw` ,`kou_name` ,`kou_name_kana` ,`kou_birthday` ,`kou_zayu` ,`kou_pic_filename`)VALUES (1,'[email protected]', SHA1( 'pass' ) , 'koushinamae1', 'koushinamaekana1', '2009-09-15', NULL , NULL);
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆3)phpMyAdminでDB作成3-4.管理者、専門分野、講師の初期値入力
◆DB作成についてまとめ
・本番では、 テーブル作成を一人で、 資料なしでやらなきゃ!
・テーブルの情報を覚えておこう。 覚えなくても済むくらい 理解してもOK。
・phpMyAdminの操作に 慣れておこう。
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆1)流れの確認1-1.今日の流れ
1)流れの確認
4)機能要件の理解
5)実装のコツとサンプル
2)本番で使うDBについて
3)phpMyAdminでDB作成
次ココ。
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆4)機能要件の理解4-1.What と How
◆システムを作るとき重要なのは
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆4)機能要件の理解4-1.What と How
◆システムを作るとき重要なのは
・何を作るか(what)
・どう作るか(how)
を考えておくことです。
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆4)機能要件の理解4-1.What と How
◆何を作るか(what)
・=仕様書の内容
・つまり全員共通
・作り始める前に しっかり理解
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆4)機能要件の理解4-1.What と How
◆どう作るか(how)
・デザイン、ロジック
・人によって違う
・作り始める前に 考えておく
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆4)機能要件の理解4-2.What をざっくり見てみよう!
◆仕様書(課題)を分析してみる
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆4)機能要件の理解4-2.What をざっくり見てみよう!
◆仕様書(課題)を分析してみる
管理者
講師
参加希望者
講師を登録・編集・削除する
セミナーナビ
セミナーを登録する
会員登録する
セミナーを検索する
ログイン/ログアウトする
セミナー一覧を見る
参加希望者一覧を見る
希望者データをCSVでダウンロードする
セミナーに参加登録する
参加希望者を検索する
パスワードリマインダ!
自分のパスワードを変更する
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆4)機能要件の理解4-2.What をざっくり見てみよう!
◆仕様書(課題)を分析してみる
管理者
講師
参加希望者
講師を登録・編集・削除する
セミナーナビ
セミナーを登録する
会員登録する
セミナーを検索する
ログイン/ログアウトする
セミナー一覧を見る
参加希望者一覧を見る
希望者データをCSVでダウンロードする
セミナーに参加登録する
参加希望者を検索する
パスワードリマインダ!
自分のパスワードを変更する
この図がちゃんと
頭の中に入っていれば、
30%の変更に
対応しやすいです。
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆4)機能要件の理解4-3.What を細かく見てみよう!
随時更新中、下記の資料(公開Googleドキュメント)参照でお願いします。。。
http://bit.ly/gorinphp
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆1)流れの確認1-1.今日の流れ
1)流れの確認
4)機能要件の理解
5)実装のコツとサンプル
2)本番で使うDBについて
3)phpMyAdminでDB作成
イマココ!
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆5)実装のコツとサンプル5-1.ノウハウ伝授の流れ
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆5)実装のコツとサンプル5-1.ノウハウ伝授の流れ
・同じ処理は「まとめる」
一つのCSSファイルを複数のhtmlから参照するようなもんです。
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆5)実装のコツとサンプル5-1.ノウハウ伝授の流れ
・同じ処理は「まとめる」
・「同じ処理」を見つけよう!
まとめる処理は大体決まっています。DB周りとかDB周りとかDB周りとか。
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆5)実装のコツとサンプル5-1.ノウハウ伝授の流れ
・同じ処理は「まとめる」
・サンプルコード確認
実際にそのまま使うこともできるサンプルコードで動きを確認します。
・「同じ処理」を見つけよう!
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆5)実装のコツとサンプル5-1.ノウハウ伝授の流れ
・同じ処理は「まとめる」
・サンプルコード確認
実際にそのまま使うこともできるサンプルコードで動きを確認します。
・「同じ処理」を見つけよう!
イマココ!
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆5)実装のコツとサンプル5-2.同じ処理は「まとめる」
◆「まとめる」の考え方<?php
~~~ 処理1 ~~~
~~~ 処理2 ~~~
?>
sample1.php
<?php
~~~ 処理2 ~~~ 処理3 ~~~ 処理3 ~~~
?>
sample2.php
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆5)実装のコツとサンプル5-2.同じ処理は「まとめる」
◆「まとめる」の考え方<?php
~~~ 処理1 ~~~
~~~ 処理2 ~~~
?>
sample1.php
<?php
~~~ 処理2 ~~~ 処理3 ~~~ 処理3 ~~~
?>
sample2.php
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆5)実装のコツとサンプル5-2.同じ処理は「まとめる」
◆「まとめる」の考え方<?php
~~~ 処理1 ~~~
~~~ 処理2 ~~~
?>
sample1.php
<?php
~~~ 処理2 ~~~ 処理3 ~~~ 処理3 ~~~
?>
sample2.php
<?php
function syori() { ~~~ 処理2 ~~~}
?>
matome.php
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆5)実装のコツとサンプル5-2.同じ処理は「まとめる」
◆「まとめる」の考え方<?php
~~~ 処理1 ~~~
syori2();
?>sample1.php
<?php
syori2(); ~~~ 処理3 ~~~ 処理3 ~~~
?>
sample2.php
<?php
function syori2() { ~~~ 処理2 ~~~}
?>
matome.php
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆5)実装のコツとサンプル5-2.同じ処理は「まとめる」
◆「まとめる」の考え方
<?php
~~~ 処理1 ~~~
syori2();
?>
sample1.php
<?php
syori2();
syori3(); syori3();
?>
sample2.php
<?phpfunction syori2() { ~~~ 処理2 ~~~}function syori3() { ~~~ 処理3 ~~~}?>
matome.php
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆5)実装のコツとサンプル5-2.同じ処理は「まとめる」
◆「まとめる」の考え方
sample2.php
<?php
include(“matome.php”);
syori2(); syori3(); syori3();
?>
<?phpfunction syori2() { ~~~ 処理2 ~~~}function syori3() { ~~~ 処理3 ~~~}?>
matome.php
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆5)実装のコツとサンプル5-2.同じ処理は「まとめる」
◆ include()文の使い方
sample1.php
<?php
include(“matome.php”);
syori2(); syori3(); syori3();
?>
<?phpfunction syori2() { ~~~ 処理2 ~~~}function syori3() { ~~~ 処理3 ~~~}?>
matome.php
include() 文は、別ファイルのソースコード(php, html)を全て読み込んでくれます。
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆5)実装のコツとサンプル5-2.同じ処理は「まとめる」
◆関数の作り方、使い方
<?phpfunction syori2() { ~~~ 処理2 ~~~}function syori3() { ~~~ 処理3 ~~~}?>
matome.php
・「関数」を自分で作る
<?php
function 関数名(引数) { /* * 好きなように * 処理を書く */}
?>
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆5)実装のコツとサンプル5-2.同じ処理は「まとめる」
◆関数の作り方、使い方・「関数」を自分で作る
<?php
function 関数名(引数) { /* * 好きなように * 処理を書く */ return ほげほげ;}
?>
function …キーワードです。絶対必要。
関数名 …好きな名前でどうぞ。英語で 動詞+名詞にすることが多い。 connectDBとか。
引数 …関数を使うときに、値を受け取る ことが出来ます。受け取った値は 関数内で使えます。変数と同様に、 関数名($hikisu)と書きます。 引数は無くてもOKです。
return …関数を呼び出した元に、好きな値を 返すことが出来ます。 返さなくても(省略しても)OK。
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆5)実装のコツとサンプル5-2.同じ処理は「まとめる」
◆5-2.同じ処理は「まとめる」
・複数の場所で同じ処理をするコード を見つける。
・そういうコードを、別のファイルに まとめて書いておく。 (=関数にしておく)
・そのコードを使いたいときは、 include(“ファイル名”); と書いてから、関数名を書く。
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆5)実装のコツとサンプル5-1.ノウハウ伝授の流れ
・同じ処理は「まとめる」
・サンプルコード確認
実際にそのまま使うこともできるサンプルコードで動きを確認します。
・「同じ処理」を見つけよう!イマココ!
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆5)実装のコツとサンプル5-3.「同じ処理」を見つけよう
◆うまくやると効率うp&時間短縮!!
・DBへの接続、SQLの実行、結果の取得 あたりは関数化の定番
・エスケープ処理関係の関数を短く (mysql_real_escape_string()や htmlspecialchars()など)
・その他、メール送信処理などを 関数としてまとめておいてもよいかも
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆5)実装のコツとサンプル5-3.「同じ処理」を見つけよう
◆エスケープ処理関係・esc.phpというファイルに、次の関数をまとめてみよう
1)文字列$strを渡すとhtmlspecialchars(trim($str))
の結果の文字列を返すh($str)関数
2)文字列$sqlを渡すと
mysql_real_replace_string(trim($str))
の結果の文字列を返すm($str)関数
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆5)実装のコツとサンプル5-3.「同じ処理」を見つけよう
esc.phpのサンプル<?php
function h($str) { return htmlspecialchars(trim($str));}
function m($sql) { return mysql_real_replace_string(trim($sql));}
?>
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆5)実装のコツとサンプル5-3.「同じ処理」を見つけよう
◆DBへの接続、SQLの実行、結果の取得・db.phpというファイルに、次の関数をまとめてみよう
1)SQL文を引数として渡すと、MySQLへの接続を
確立してからSELECT/INSERT/UPDATE/DELETE文を
実行し、MySQLへの接続を閉じてから結果を
返すexecSQL($sql)関数
2)MySQLへ接続し、文字セットをutf8に設定してから
接続オブジェクトを返すconnectDB()関数
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆5)実装のコツとサンプル5-3.「同じ処理」を見つけよう
db.phpのサンプル<?php
include("esc.php");
function connectDB() { $host = "サーバのhost名またはIPアドレス"; $user = "MySQLユーザ名"; $pass = "そのパスワード"; $db = "データベース名"; $conn = mysqli_connect( $host, $user, $pass, $db ); mysqli_query($conn, "SET NAMES utf8"); return $conn;}function execSQL($sql) { $conn = connectDB(); $result = mysqli_query($conn, m($sql)); mysqli_close($conn); return $result; }
?>
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
◆1)流れの確認1-1.今日の流れ
1)流れの確認
4)機能要件の理解
5)実装のコツとサンプル
2)本番で使うDBについて
3)phpMyAdminでDB作成
イマココ!
AW技能五輪 第一回 PHPセミナー (c) 2009 Akihiro Tsukada, JO-GORIN-PJT.
AW技能五輪 第4回 PHPセミナー
必要な機能と実現方法を確認しようの回
お疲れ様でした!
資料作成・サポート:電設部技能五輪プロジェクト