saki_nの日記スマートフォン用の表示で見るsaki_nの日記この広告は、90日以上更新していないブログに表示しています。2014-03-08PHPの閉じタグはもう書かない!プログラミング久々にそんな風に思わされる出来事があったので、色んな所でかかれていますが私も書いておく。不要な閉じタグは片っ端から消していくぞ!!そもそも閉じタグとはPHPの閉じタグとは<?phpphpinfo();?>←これですPHP初心者は必ず最後にはこれを書きましょうと習いますね。〜略〜</html>こういう時の閉じタグは書かなければダメです。PHPの終了が分からなくなってしまうので。PHPのみのソースであれば書かなくてもOKです。〜略〜}?>←これはいらない最近はフレームワークを使う事が多いので、画面表示と動作のソースファイルは分かれているのがほとんどではないでしょうか。Zendでもコーディング規約で「閉じタグはつけないようにしましょう」となっていますね。理由はファイルの最後にある空白文字が出力に影響するのを防ぐため。閉じタグ後に空白文字や改行があると出力されてしまうんですね。画面の表示がちょっとおかしくなる...ということもあると思いますが、一番の影響はリダイレクト!!リダイレクトに使うheader()は、先に出力があると動きません。お分かりかと思いますが、この閉じタグ後の改行のせいでリダイレクトせず、システムが動かないということがありました。リダイレクトできないのだから先に何か出力があるのだろうということは容易に想像ができたのですが、どこを探しても出力してるファイルが無い!!出力に関係しているファイルは閉じタグ後に余計なものは書かれていないのに...なぜ!?まさかお前のせいだとは...物によりますがフレームワークでは色んなファイルを読み込ませていますね。私の作業していたシステムでは、開発用のローカルDBの設定ファイルを別に作って読み込ませていました。貰ったファイルはテスト用サーバーのものだったので、ローカルDBの設定ファイルは読み込めないように名称が変えてあったんですね。それで設定ファイルの名前を元に戻してシステムに読み込ませるようにして作業をしていたのですが、このようなファイルがあることをすっかり忘れている私...それまでリダイレクトが出来なくても開発には影響がなかったので無視していたのですが、さすがに無視出来ない作業が発生しまして。して動かそうと、フレームワークのコアの部分まで動きを追って見つけましたよ!設定ファイル後の余計な改行を!!このヤロウ...と一瞬作った人を恨みましたが、きちんと確認して閉じタグを消さなかった私も悪いのです...。今後の人のためにも不要な改行はなくしていこうと決意した瞬間でした。始めてみたよ!月別アーカイブはてなブログをはじめよう!saki_nさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。