タグ

2010年12月9日のブックマーク (2件)

  • PHPで関数やメソッドの引数の数を柔軟にする方法:phpspot開発日誌

    Unknown::Programming - メソッドの引数を柔軟にするあれの件 こういう拡張をできるようにするために僕が良くやるのが引数の最後を常にオプション引数と見なすやり方です。 PHPで関数やメソッドの引数の数を柔軟にする方法。 関数定義時に引数を記述せず( 例: function test()  ) 、関数内で func_get_args 関数を使って引数を取得することでそれが可能になります。 <?php test("a", "b", "c"); function test() { $args = func_get_args(); print_r($args); } ?> 出力結果例 Array ( [0] => a [1] => b [2] => c ) きっちりと引数は書いておいた方がドキュメント化したときなどに分かりやすくていいのですが、たまにこういう機能が使いたいという時

  • 【 ほでなすPHP 】 PHP5の基本 -> 特殊メソッド/オートロード

    特殊メソッド/オートロード PHPには、「__construct()」(コンストラクタ)や「__destruct()」(デストラクタ)の他にも、その名前で定義されたメソッドは“呼ばれ時”になると勝手にコールされるという「特殊メソッド」があります。また「特殊関数」があります。 何れも「__(アンダーライン2)」で始まるメソッド名または関数名です。PHPでは「__(アンダーライン2)」で始まるメソッド名または関数名を、“特殊な関数”として予約していて、「__(アンダーライン2)」で始まる関数名を付けないよう推奨されているので、付けない様にしましょう。 これらの「特殊メソッド・関数」を定義する場合、“引数の数と返り値の型を決められた形態通りに定義”しなくてはなりません。そうしないと機能しないし、コールされる際に「E_ERROR」エラーを発するか、場合によってはサーバがダウンします。 特殊メ