タグ

ブックマーク / cloned.hatenablog.com (3)

  • cloned.log - PHPの参照渡しは関数の引数だけじゃない

    PHPの参照渡しについて。参照渡しについて説明しているサイトでは圧倒的に関数の引数を例にしていることがほとんど。例えば以下のような感じ。 <?php $v = "default"; rewrite($v); print $v; function rewrite(&$arg) { $arg = "HelloWorld"; } これで「HelloWorld」と出力される。$vを直接変更していないのに、rewrite関数内での変更が$vに対して有効になっていると解く。関数の引数に「&」を付けなければ上書きされることはない(値渡し)。 最初はこれが一番判り易いけれど、もう一歩、変数代入の参照渡しと関数戻り値の参照渡しにも触れて欲しいところ。特に関数戻り値の参照渡しについて触れているサイトが当に少ない。 変数代入の参照渡しというのは以下のコードのような場合。 <?php $a = "default

    cloned.log - PHPの参照渡しは関数の引数だけじゃない
  • Firebugのコマンドラインが見難いのでフォントを変えてみた - cloned.log

    コンソールの文字サイズは変更できるみたいだけれど、コマンドラインの設定項目が見当たらなかったので、userChromeで変更してみた。 やり方は、 C:\Documents and Settings\[ユーザ名]\Application Data\Mozilla\Firefox\Profiles\[プロファイル名]\chrome\userChrome.cssに以下を追記した。 textbox#fbLargeCommandLine { font-size: 10pt !important; font-family: Consolas !important; color: #E6E6E6 !important; background-color: #000 !important; } フォントを変えたついでに、自分のPuTTYと同じような見栄えになるように調整。

    Firebugのコマンドラインが見難いのでフォントを変えてみた - cloned.log
  • PHPでnewするときに&つけることについて - cloned.log

    PEARのHTTP_Requestのドキュメントを見ると <?php require_once "HTTP/Request.php"; $req =& new HTTP_Request("http://www.yahoo.com/"); if (!PEAR::isError($req->sendRequest())) { echo $req->getResponseBody(); } ?> というサンプルコードが載っている。コンストラクタは常にvoidなので、newされたインスタンスを値渡しで変数に代入してインスタンス元が自然消滅するのと、newされたインスタンスを参照渡しで変数に代入することに違いがどうして出てくるのかがわからなかった。 PHP自体のマニュアルを読むと コピー演算子 = により作成された $bar1 と 参照演算子 =& により作成された $bar2 の間の差異があるかど

    PHPでnewするときに&つけることについて - cloned.log
  • 1