大変、お世話になります。
初歩的な質問ですが、教えて下さい。
header('Location: ' . SITE_URL);
の部分の文字連結ですが、なぜ、このような書き方になるのでしょうか?
本来の形としては、
header('Location: http://localhost:8562');
のように、()
内でLocation: http://localhost:8562
全体をクォーテーションで囲うものだと思います。(Location: http://localhost:8562
は文字列だから?)
'Location: '
だと、Location: ~
全体を囲う最初のクォーテーションがないことになるのではと思います。
そして、SITE_URL
のような変数を連結する時に、変数はクォーテーションで囲う必要のないことは分かりますが、Location: ~
全体を囲う、後ろ側の閉じクォーテーションが不足しているのではないかと思うのです。
つまり、header('Location: ' . SITE_URL);
だと、Location: ~
全体を囲う最初のクォーテーションがなく、SITE_URL
の後ろに、Location: ~
全体を囲う後ろ側のクォーテーションをクォーテーションで囲ったものを、ドットで繋がなければいけない、つまり、
header(''Location: ' . SITE_URL . ''');
のように書かなければいけないと思うのですが、なぜ、そうではないのでしょうか?
(言わんとすることが伝わっていますでしょうか?)
上手に説明ができないのですが、Location: URL
全体を囲うクォーテーションの中での文字連結について、教えて頂ければと思います。
よろしくお願いします。
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?