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

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

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

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

HTML

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

Q&A

解決済

1回答

2126閲覧

phpとhtmlが入り混じるコードで、endifではなく波括弧で囲うif文は使ってもいい?

muro

総合スコア99

PHP

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

HTML

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

0グッド

0クリップ

投稿2021/01/16 09:53

編集2021/01/16 09:55

php

1<?php if($var == "a") : ?> 2 <p>a</p> 3<?php elseif($var == "b") : ?> 4 <p>b</p> 5<?php else : ?> 6 <p>?</p> 7<?php endif; ?>

上記のように、phpとhtmlが入り混じるコードでif文を使うとき、波括弧で囲わずコロンとendifを使う形式が一般的だと思います。

php

1<?php if($var == "a") { ?> 2 <p>a</p> 3<?php } elseif($var == "b") { ?> 4 <p>b</p> 5<?php } else { ?> 6 <p>?</p> 7<?php } ?>

一方で私は、phpとhtmlが入り混じるコードであっても、if文を波括弧で囲う形式をよく使います。

イメージ説明
理由としては、上の画像のように波括弧の形式だと、カーソルを合わせたときにどこからどこまでが囲われているか、ハイライトが出て判別しやすいためです。
(Visual Studio Codeで、Bracket Pair Colorizerというプラグインを入れています。)
endifの形式だと、ハイライトを出すことができません。

しかし、phpとhtmlが入り混じるコードでは、endif形式の方がすっきりしていて見やすいという意見を、よく見かけます。
ただ現在は、とあるコードの修正作業を行っているのですが、そのコードでは多重にネストされているendif形式があちこちに使用されており、なおかつインデントが崩れています。
そのせいで、クリックしただけではどこからどこまでが囲われているかわからない、endif形式に見づらさを感じてしまいました。

皆さんは、endif形式か波括弧形式、どちらをよく使いますか?

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

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

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

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

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

m.ts10806

2021/01/16 09:55

>波括弧で囲わずコロンとendifを使う形式が一般的だと思います。 根拠は、どこでしょうか。
muro

2021/01/16 10:00

すみません、根拠とは言えないかもしれませんが、仕事のうえで他の方のコードを見た時はendif形式がほとんどで、なおかつ私自身が以前まではendif形式をよく使っていただけです。 ただ、htmlとphpまじりでも波括弧が使えることに気づき、なおかつプラグインを見つけてから波括弧形式でハイライトされることに見やすさを感じて、それからは波括弧形式に乗り換えました。
m.ts10806

2021/01/16 10:02

回答に書きましたが「入り混じるコード」が仕事であることに驚きです。 10年以上前のものならまだしも。 仕事外含めて個人的には endif 使った記憶はないですね。 「入り混じると見づらい」→「ロジックと出力を分ける」とすぐ切り替えたので。
m.ts10806

2021/01/16 10:14

あと一応、質問する前に下記に当たらないか気にしてくださいね。 > https://teratail.com/help/avoid-asking > 漠然とした興味から票を募るような質問や、意見の主張をすることを目的とした投稿は推奨していません。 「答えがない」「何をもって解決とするのか明確でない」のであればこれにあたります。
muro

2021/01/16 10:16

たいへん失礼いたしました。今回の質問は締め切りにしたいと思います。
guest

回答1

0

ベストアンサー

phpとhtmlが入り混じるコードで

そもそも入り混じるような実装にしないように考慮すべき。

php

1<?php 2$hoge = '?'; 3if($var == 'a') { 4 $hoge = 'a'; 5} elseif($var == "b") { 6 $hoge = 'b'; 7} 8?> 9<p><?=$hoge?></p> 10

初心者を戒めるPHP:テンプレートとロジックは分けろ


というのを度外視としても、結局意味は同じコードなので、好みや現場のルールの問題です。

投稿2021/01/16 10:00

編集2021/01/16 10:03
m.ts10806

総合スコア80859

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問