質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

5回答

1230閲覧

html文をPHPで記述するメリット

behoimi80

総合スコア62

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2018/12/02 16:16

html文とphp文を1ファイルで記述する際に、すべてphpで記述するメリットを教えてください。

通常、参考書では
パターン1

<?php $title = "タイトル"; $sum = 1 + 1; ?> <!DOCTYPE html> <html> <head> <title><?php echo $title; ?></title> </head> <body> 1 + 1 =<?php echo $sum; ?> </body> </html>

みたいに記述されていますが、社会人になりたまに
パターン2

<?php $title = "タイトル"; $sum = 1 + 1; //以下html $html=""; $html.="<!DOCTYPE html>"; $html.="<html>"; $html.=" <head>"; $html.=" <title>".$title."</title>"; $html.=" </head>"; $html.=" <body>"; $html.=" 1 + 1 =".$sum; $html.=" </body>"; $html.="</html>"; echo $html; ?>

と記述されているプログラムを見かけます。

確かにパターン2のほうがすっきり見えるかもしれませんが、編集や解読する上でどうも私には見づらくて仕方ありません。(エディタで上手く色分けされないせいもあると思います)

パターン2のメリットをご存知でしたら教えてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答5

0

提示されている例に限って言えば特筆するメリットはないと思います。
「社会人になって」と書かれているので、既存システムでそういうのを目にしたものと思います。
作った人がいるのなら直接聞いてみるのがいいと思います。
何かしらの理由があってそうしている可能性もありますし。
例えば以前は文字列化してから何かの加工処理をしていたが、紆余曲折あって加工処理がなくなった、とか。

投稿2018/12/03 00:40

ttyp03

総合スコア16998

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

behoimi80

2018/12/04 00:01

返答ありがとうございます。加工処理もないのでセキュリティー的な深い意味があるかと思っていました。聞いてみます。
guest

0

ベストアンサー

用途により。

さすがに一行ずつ格納している例は10年以上前に作られたレガシーシステム以外ではお目にかかることは中々ないですね。
ヒアドキュメントで全部入れの方がまだ見るかもしれません(私はヒアドキュメント派)。
html中に<?~?>が頻繁に出てくるのもそれはそれで見辛いですし。
用途によりと冒頭に書いたのはそういう面です。私としてはどちらも使わないのでなんとも言えませんが。

投稿2018/12/02 19:50

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

behoimi80

2018/12/03 23:58

ありがとうございます。他でもなかなかないパターンなのですね。参考になりました。
m.ts10806

2018/12/04 00:06

もちろん「なかなかない」だけで「やってはいけない」ではありません。 可読性や要件や状況により使い分けが必要になる場面もでてくるでしょう。 解決されたようで何よりです。
guest

0

ひとつはヒアドキュメント

PHP

1<?php 2$title = "タイトル"; 3$sum = 1 + 1; 4 5$html=<<<eof 6<!DOCTYPE html> 7<html> 8<head> 9<title>{$title}</title> 10</head> 11<body> 121 + 1 ={$sum}; 13</body> 14</html> 15eof; 16echo $html; 17?>

もう一つはテンプレート(以下は簡易的なもの)
テンプレート部分は外部から読み出せるので使い勝手が良いです

PHP

1<?php 2$title = "タイトル"; 3$sum = 1 + 1; 4 5$html=sprintf(' 6<!DOCTYPE html> 7<html> 8<head> 9<title>%s</title> 10</head> 11<body> 121 + 1 = %d 13</body> 14</html>',$title,$sum); 15echo $html; 16?>

投稿2018/12/03 00:44

yambejp

総合スコア114777

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

behoimi80

2018/12/03 23:59

ヒアドキュメント という文を教えて頂き勉強になりました。ありがとうございました。
guest

0

全く無いのでそれ書いた人が初心者なだけ。
PerlからそのままPHPに移植したような遥か昔のレベル。
お金貰っててもスキルがあるわけでもなく信じられないような初心者も多い。

投稿2018/12/02 16:32

kawax

総合スコア10377

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

behoimi80

2018/12/04 00:01

返答ありがとうございます。
guest

0

1と2に関して言えば、正直大して変わらないので「書いた人の好み」くらいの理由しかないと思いますよ。

2のメリットを考えたとしたら、
出力を一度HTMLに格納しているので、一括置換や出力先の変更といった後処理を行いやすい
と言ったところでしょうか。
(1でも可能ではあるので、やっぱり好みの面が大きいとは思います)

投稿2018/12/02 16:29

tanat

総合スコア18713

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

behoimi80

2018/12/04 00:02

確かに好みが強いような気もします。返答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問