回答編集履歴
3
例を追加
test
CHANGED
@@ -38,6 +38,50 @@
|
|
38
38
|
|
39
39
|
|
40
40
|
|
41
|
+
#
|
42
|
+
|
43
|
+
身近な例で言いますとこのteratailのような質問サイトもPHPで作ることができます。
|
44
|
+
|
45
|
+
当質問のURLは「https://teratail.com/questions/127672」ですが、
|
46
|
+
|
47
|
+
どのようにこの質問ページができあがっていると思いますか?
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
これはある意味CMSのような仕組みを利用しています。
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
まず、
|
56
|
+
|
57
|
+
質問投稿ページで投稿された質問がデータベースに登録されます。
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
登録される際に「127672」という質問IDが振られます(おそらく1から連番です)
|
62
|
+
|
63
|
+
で、questions/127672 というリクエストがサーバーに送信されると、
|
64
|
+
|
65
|
+
questionsと127672の組み合わせにより「取得する質問情報」が決まり、
|
66
|
+
|
67
|
+
登録された質問情報を引き出した上で、このページが作られています。
|
68
|
+
|
69
|
+
※.phpがなくてもPHPを呼び出す仕組みなどは端折っています
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
質問投稿ページはquestions/inputで、質問ページとquestions部分は同じですが、
|
74
|
+
|
75
|
+
2つ目のリクエストがinputの場合は質問投稿ページ それ以外(数値)であれば質問ページ
|
76
|
+
|
77
|
+
という形で送られてきたリクエスト内容によって表示するページ情報を切り分けているのだと思います。
|
78
|
+
|
79
|
+
(あと存在しない質問IDやコントロール内にないリクエストがあればエラーページへ)
|
80
|
+
|
81
|
+
#
|
82
|
+
|
83
|
+
|
84
|
+
|
41
85
|
つまり、
|
42
86
|
|
43
87
|
サーバー側で動作するPHPとクライアント側で動作するHTMLでは役割に明確な違いがあります。
|
2
修正
test
CHANGED
@@ -10,9 +10,11 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
xmlやjsonなどを出力すればAPIとしての機能も持たせられますし、
|
13
|
+
xmlやjsonなどを出力すればAPI([参考](https://www.sejuku.net/blog/7087))としての機能も持たせられますし、
|
14
14
|
|
15
15
|
結果だけファイルに書き込む(または何も書き込まない)ようにすると何も画面出力を伴わないバッチ処理も作れます。
|
16
|
+
|
17
|
+
中には「ファイルアップロード」や「ファイルダウンロード」のためだけに使われるようなこともあります。
|
16
18
|
|
17
19
|
|
18
20
|
|
1
修正
test
CHANGED
@@ -10,17 +10,21 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
xmlやjsonなどを出力すればAPIとしての機能も持たせられますし、
|
13
|
+
xmlやjsonなどを出力すればAPIとしての機能も持たせられますし、
|
14
14
|
|
15
15
|
結果だけファイルに書き込む(または何も書き込まない)ようにすると何も画面出力を伴わないバッチ処理も作れます。
|
16
16
|
|
17
17
|
|
18
18
|
|
19
|
+
ちょっとした一例ですが、
|
20
|
+
|
19
|
-
|
21
|
+
WordPressなどのCMS([参考](https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%84%E7%AE%A1%E7%90%86%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0))はPHPで組まれているものも多くありますが、
|
20
22
|
|
21
23
|
ああいったものは質問者さんが仰っている「htmlに組み込む言語」という使われ方はしていません。
|
22
24
|
|
23
|
-
|
25
|
+
|
26
|
+
|
27
|
+
フレームワーク([参考](https://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF))についても(今主流かは置いておいて)良く使われるMVC構造([参考](https://ja.wikipedia.org/wiki/Model_View_Controller))は
|
24
28
|
|
25
29
|
「画面を表示する(正確には画面表示に必要なhtmlを組み込む場所)」
|
26
30
|
|