オブジェクト至高プログラミング

Posted on 29th 1月 2011 in Web, ソフトウェア, プログラム

今週検証したコードに感銘を受けたので記録しておく。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
class Hoge{
    function __construct() {
        $this->aaa();
        $this->bbb();
        // ひたすら己のメソッド実行
    }
    function aaa(){
        // 100行以上
    }
    function bbb(){
        // 100行以上
    }
    // こんなメソッドいっぱい!
}
new Hoge();
?>

コンストラクタにひたすらメソッドを書いてnewするだけ。最強!!

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加

[PHP]Cannot modify header information

Posted on 12th 2月 2009 in PHP, Web, プログラム

とある理由からheader関数で他のページにリダイレクトする処理を追加する必要があったんだけど、同じページをrequire_onceしているにも関わらず、アクセスするページによってリダイレクトされたり、以下のようなエラーが表示された。

Warning: Cannot modify header information - headers already sent by (output started at /foo/bar/hoge.php:2937)
in /foo/bar/index.php on line 11

よくよくエラーを見たらindex.phpが呼び出しているhoge.phpの最後が

?> // ここに改行が入ってた

のように無駄な改行がされていたため、headerを送出できなかったっぽい。
PHPのデリミタの前後には何も書いちゃいけません。
[php]
...
?>
[/php]

呼び出されているhoge.phpは実際はSmartyのモジュールでした。71ファイル全てが改行されてたので全部修正してなんとかなった。

comments: 0 » tags: , ,
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加

久々にPHPを使った

Posted on 28th 1月 2009 in Web, モバイル

その日に仕様書とプログラム書いてリリースしたのなんて初めてだ。
たった9行のプログラムなんですけどね。。

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加

おかえりgoto命令

Posted on 8th 1月 2009 in プログラム

PHP 5.3で登場、goto命令

goto命令の多用はメンテナンスできないソースコードを生むため懸念されることも多いが、Goto your Christmas presents with PHP 5.3で紹介されているようにエラー発生時に飛ばしてまとめて終端処理をするというのはgoto命令がよく使われるケースだ。

学生時代に「goto命令は悪だ」と教えられたけど、sendmailのソースでもこの手法が取られているので使い方次第ってこと。

PHPはしばらくやってないけど、今年はコンテンツ増やすために再開する事になりそうだなぁ。悲しい事にPHP4+Smartyなんだけど、運用系のWebサーバをPHP5にするためには動作チェックとか政治的な問題もいろいろクリアしないといけない。

comments: 0 » tags: ,
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加