お世話になります。
phpを学習中です。
学習始めたばかりでわからないのですが、今の段階ではphpとは、htmlに組み込む言語というイメージです。ということは、webサービスを作るのには、順番として、通常のHPにphp言語を足して肉付けしていくものというイメージですが、いかがでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
webサービスを作るのには、順番として、通常のHPにphp言語を足して肉付けしていくものというイメージですが、いかがでしょうか?
いいえ。
phpでechoなりprintなり文字列を画面上に出力する機能があるのはご存知かとは思いますが、
たまたまそれでhtmlを出力しているとそのようになるだけであって、作り方次第でどのようにもできます。
xmlやjsonなどを出力すればAPI(参考)としての機能も持たせられますし、
結果だけファイルに書き込む(または何も書き込まない)ようにすると何も画面出力を伴わないバッチ処理も作れます。
中には「ファイルアップロード」や「ファイルダウンロード」のためだけに使われるようなこともあります。
ちょっとした一例ですが、
WordPressなどのCMS(参考)はPHPで組まれているものも多くありますが、
ああいったものは質問者さんが仰っている「htmlに組み込む言語」という使われ方はしていません。
フレームワーク(参考)についても(今主流かは置いておいて)良く使われるMVC構造(参考)は
「画面を表示する(正確には画面表示に必要なhtmlを組み込む場所)」
「画面から情報を受け取って処理を行う場所」
「データベースを扱う場所」
が明確にわかれて構成されています。
身近な例で言いますとこのteratailのような質問サイトもPHPで作ることができます。
当質問のURLは「https://teratail.com/questions/127672」ですが、
どのようにこの質問ページができあがっていると思いますか?
これはある意味CMSのような仕組みを利用しています。
まず、
質問投稿ページで投稿された質問がデータベースに登録されます。
登録される際に「127672」という質問IDが振られます(おそらく1から連番です)
で、questions/127672 というリクエストがサーバーに送信されると、
questionsと127672の組み合わせにより「取得する質問情報」が決まり、
登録された質問情報を引き出した上で、このページが作られています。
※.phpがなくてもPHPを呼び出す仕組みなどは端折っています
質問投稿ページはquestions/inputで、質問ページとquestions部分は同じですが、
2つ目のリクエストがinputの場合は質問投稿ページ それ以外(数値)であれば質問ページ
という形で送られてきたリクエスト内容によって表示するページ情報を切り分けているのだと思います。
(あと存在しない質問IDやコントロール内にないリクエストがあればエラーページへ)
つまり、
サーバー側で動作するPHPとクライアント側で動作するHTMLでは役割に明確な違いがあります。
[php html 違い]などで検索して幾つかの記事を読み込んでみると良いです。
PHPマニュアルの各記事も読んでみてください。
投稿2018/05/23 21:54
編集2018/05/24 01:56総合スコア80850
0
ベストアンサー
通常のHPにphp言語を足して肉付けしていくものというイメージ
当初はそのような発想で使われ始めたように聞いています。
今だと、HP(html)をphpで組み立てて出力するのが主流なのかな。
もし余裕があるなら PHP の前に CGI について勉強されると
さらに(webシステムについて)理解しやすくなるような気がします。
が、まあ、とりあえずコードを書いて動かしてみるのが
一番理解が進むと思います。
投稿2018/05/24 00:43
総合スコア7458
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/27 13:30
2018/05/27 13:34
2018/05/27 13:37