saki_nの日記スマートフォン用の表示で見るsaki_nの日記この広告は、90日以上更新していないブログに表示しています。2014-03-08PHPの閉じタグはもう書かない!プログラミング久々にそんな風に思わされる出来事があったので、色んな所でかかれていますが私も書いておく。不要な閉じタグは片っ端から消していくぞ!!そもそも閉じタグとはPHPの閉じタグとは<?phpphpinfo();?>←これですPHP初心者は必ず最後にはこれを書きましょうと習いますね。〜略〜</html>こういう時の閉じタグは書かなければダメです。PHPの終了が分からなくなってしまうので。PHPのみのソースであれば書かなくてもOKです。〜略〜}?>←これはいらない最近はフレームワークを使う事が多いので、画面表示と動作のソースファイルは分かれているのがほとんどではないでしょうか。Zendでもコーディング規約で「閉じタグはつけないようにしましょう」となっていますね。理由はファイルの最後にある空白文字が出力に影響するのを防ぐため。閉じタグ後に空白文字や改行があると出力されてしまうんですね。画面の表示がちょっとおかしくなる...ということもあると思いますが、一番の影響はリダイレクト!!リダイレクトに使うheader()は、先に出力があると動きません。お分かりかと思いますが、この閉じタグ後の改行のせいでリダイレクトせず、システムが動かないということがありました。リダイレクトできないのだから先に何か出力があるのだろうということは容易に想像ができたのですが、どこを探しても出力してるファイルが無い!!出力に関係しているファイルは閉じタグ後に余計なものは書かれていないのに...なぜ!?まさかお前のせいだとは...物によりますがフレームワークでは色んなファイルを読み込ませていますね。私の作業していたシステムでは、開発用のローカルDBの設定ファイルを別に作って読み込ませていました。貰ったファイルはテスト用サーバーのものだったので、ローカルDBの設定ファイルは読み込めないように名称が変えてあったんですね。それで設定ファイルの名前を元に戻してシステムに読み込ませるようにして作業をしていたのですが、このようなファイルがあることをすっかり忘れている私...それまでリダイレクトが出来なくても開発には影響がなかったので無視していたのですが、さすがに無視出来ない作業が発生しまして。して動かそうと、フレームワークのコアの部分まで動きを追って見つけましたよ!設定ファイル後の余計な改行を!!このヤロウ...と一瞬作った人を恨みましたが、きちんと確認して閉じタグを消さなかった私も悪いのです...。今後の人のためにも不要な改行はなくしていこうと決意した瞬間でした。久々の記事であることを華麗にスルーしてブログを書いてみるなどwテレビを見てないせいか、最近メディアリテラシーを考えさせるようなニュースにばかり目が行ってしまっています。今回のニュースはマスコミではなく、個人が発信した発言から大炎上したお話。何となく追いかけていて、今日決着がついた(?)ようなので。J-CASTニュース今年、1月の20日ぐらいに発生した話ですね。男子大学生がレイプ事件に対して「レイプされるのは女が悪い」的な発言をして、Twitter炎上。その後、ネット上では内定先に問い合わせとか、内定取り消しの電話をする人が出てきて...そして今日、伊勢丹の内定がなくなったらしい...という噂が。本当かどうか分からないので明言は避けます。個人的な意見としては、当然の結果でほっとしてると言ったところです。(容認発言の返信への対応。それ以前のツイート内容など、結構宜しくない感じだったので...)この件で、「実名を出してつぶやいちゃだめだろ」ってことが指摘されてますが、それより「発言は責任を持って、慎重に言葉を選べ」ってことの方が大事な気がします。彼だって子供じゃないんだし。個人名を出すぐらいだったらこんなに炎上しなかったかもしれません。実際彼も、レイプは悪い事だと後のツイートで弁明してます。いう看板を背負ってツイートしてしまったわけです。これはもはや、組織の一人(&となる予定)の責任が伴ってきます。彼はそこに気づけなかったんじゃないかなぁ。(私なんかは絶対仕事内容&お客様のことはつぶやきません。それで情報流出とか責任とれないもの...!)日本でもそろそろ、ネットの発言の重さが「知らなかった」じゃすまされない。いうか、すませちゃいけない時期なんじゃないでしょうか。01:29立教生Twitter炎上のその後からTweet広告を非表示にするもっと読むコメントを書く2010-06-01【PHP】オブジェクトをシリアル化するときの注意点プログラミング今回のネタは、時間がないので備忘録より抜粋。受け渡ししやすい形に変換すること。セッションでの受け渡しや、DB保存して行うことが多いです。PHPでのシリアル化の方法は「serialize()」でシリアライズ化する「unserialize()」で非シリアライズ化するPHP4以降からは、オブジェクトもシリアライズ可能になりました。シリアル化(ささら庵:プログラム:PHP)オブジェクトはシリアル化だけで終わっちゃいけない一見簡単そうなオブジェクトのシリアル化ですが、ここで落とし穴が。fetusじゃあどうするのかというと、シリアライズした後「addslashes()」で文字列をクオート、非シリアライズする前に「stripcslashes()」でクオートを取り除いておけばOK。...と思ったけど、addslashes()には脆弱性があるそうな。Statementsでクエリを発行したら良さそう。");で良いのかなと思っていたら...だめみたい><PHPのtrimって、全角の空白(スペース)は削除してくれないのですか?(メモ帳@プログラマー初級)よく考えると、半角と全角混合してるスペースだったら、全部取り去る前に処理終了しますがな!ってお話。Way)trim()強し!ていうか、全角空白を半角に直しちゃえば、trimで行けちゃうよね。"s"));こっちのほうが分かりやすい!...こんな感じの備忘録を週1ペースで書いていきたいと思います。00:00【PHP】trim()で半角&全角空白を取り除く場合Tweet広告を非表示にするもっと読むコメントを書く2010-05-04始めてみたよ!プログラミングお勉強メモ用にブログ始めました。続けにくかっただけなんですけどね!例のごとく続かないかもしれませんが、ちょこちょこ更新できたらいいなと思っております。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。