タグ

ブックマーク / sotarok.hatenablog.com (6)

  • PHP 5.3: 参照渡しの関数/メソッドを定義してた人は call_user_func_array に注意 - 肉とビールとパンケーキ by @sotarok

    *1 あーっと.はじめにいっておくと,すべてのマニュアルをちゃんと読んでいて関数の使い方を間違っていなかった人には関係ない話です. が,意外とハマるんじゃないかと思うのでメモ. どういう問題が発生したか <?php function hoge(&$hoge) { var_dump($hoge); } $a = 1; hoge($a); call_user_func_array('hoge', array($a)); このコード,どういう実行結果が期待されるかというと, int(1) int(1)です. call_user_func_array の第二引数は,関数に渡したい値を配列で指定するものなので,これでOK.PHP 5.2 では,上記の結果が得られます. ところが,PHP 5.3 では,以下のエラーが出ます. int(1) Warning: Parameter 1 to hoge()

    PHP 5.3: 参照渡しの関数/メソッドを定義してた人は call_user_func_array に注意 - 肉とビールとパンケーキ by @sotarok
    tohokuaiki
    tohokuaiki 2017/01/27
    えー。こんなんあるのん。。。
  • オブジェクトの参照渡しと値渡しについて - 肉とビールとパンケーキ by @sotarok

    唐突ですが、今日は昨日 id:kensuu に聞かれてちゃんとこたえられなくて id:Yudoufu に聞いてちゃんと理解したことをまとめようと思います(謎 というわけで、オブジェクトの参照渡しと値渡しについてです。(環境:PHP5.2.6) 関数に値を引き渡す(通常の変数) まず、オブジェクトではなく通常の値を渡す場合を考えます。 以下のコードを見てください。 <?php // 参照渡し function test_r (&$a) { $a = 2; } // 値渡し function test_n ($a) { $a = 3; } $b = 1; echo $b; echo "\n"; test_r($b); echo $b; echo "\n"; test_n($b); echo $b; echo "\n"; この結果は、 1 2 2となります。 test_r() は、値を参照で渡し

    オブジェクトの参照渡しと値渡しについて - 肉とビールとパンケーキ by @sotarok
    tohokuaiki
    tohokuaiki 2010/12/19
    コメントが参考になる。zvalの扱いを知ってれば多分問題ないと思います。自分知らんけど。
  • モダンPHP勉強会を開催しました & 資料 - 肉とご飯と甘いもの @ sotarok

    と,いうわけで,モダンPHP勉強会を開催しました. モダンPHP勉強会 : ATND 「モダン」などという適当なワードはどうでもいいっちゃいいのですが,SPLをテーマに勉強会やりたいなーとはなんとなく思っていて(というのは,便利なのにあんま使ってる人をみないから),Boost.勉強会で @cpp_akira さんが,「Boostライブラリ全部やる」ってのを見てて触発されて,じゃあSPL全部やろう,と思ったのが始まりでした(実はそんなきっかけw で,まあ,どうせならなんとなく最近の話題とか含めて質の高い勉強会にしたいなあ,と思い,nequal のメンバーの id:Fivestar に名前空間で話しない?と声をかけ,ついでに nequal 主催ってことにして,開催しました. 全体として,自分は自分の発表の準備とか,会場の準備とか,懇親会の準備とかで相当ばたばたしてたのですが,発表中も,笑いがと

    モダンPHP勉強会を開催しました & 資料 - 肉とご飯と甘いもの @ sotarok
    tohokuaiki
    tohokuaiki 2009/12/16
    namespaceは使わなくても何とかなりそうだけど、SPLは今後のPHPの主流になりそうな予感。
  • ATND で募集したイベントのキャンセル率/無断欠席率の高さについて - 肉とビールとパンケーキ by @sotarok

    このところいろいろなコミュニティ(技術系だけでなくかなり多種多様 ... いやまあ,インターネット周辺のものですが,当然.)が,ATNDを使ってイベントの参加者登録を受け付けるようになってきた. ATNDは,OpenIDを使ってイベント作成も参加登録もサクっとできるし,開催者としてはわざわざ受付フォームを作ったりしなくて良いので,大変ありがたいシステムだ.だけど,その「サクっと」の簡単さ故,表題の「キャンセル率」「無断欠席率」が異常に高いように感じる.(というか,ATNDでイベント開催した人たちと話をするとだいたいこの辺の問題点があがる) 例えば,昨日の Boost.勉強会 : ATND では,開催される時間から過去24時間にキャンセルした人が急激に増えたし(そして合計32人),当日会場の席もかなり余裕のある状態だったので80人きていたようには思えなかった(ちゃんと数えてなくてすいません.

    ATND で募集したイベントのキャンセル率/無断欠席率の高さについて - 肉とビールとパンケーキ by @sotarok
    tohokuaiki
    tohokuaiki 2009/12/14
    どこだったかな?ドタキャンすると、次回から参加を拒否するっていうのがあった。実際にやってるかどうかはあれとして、抑止力にはなってると思う。
  • Ethna 2.5.0 stable リリース! - 肉とビールとパンケーキ by @sotarok

    ついに,Ethna 2.5.0 のリリース,2.3.0 から実に3年ぶりのメジャー(いや,マイナーなのか一応)バージョンアップです! Ethna - 2009/10/18 Ethna 2.5.0 リリース インストールなど これまで使ってきた方は, % pear upgrade ethna/ethnaなどでアップグレードしてください. インストールは, % pear channel-discover pear.ethna.jp % pear install -a ethna/ethnaもちろん,tar/zipでも入手可能です. リリース詳細: 2.5.0 (Ethna) - Ethna - SourceForge.JP 今回のリリースに含まれる変更 以下, sf.jp より引用です. features フォーム定義に関する変更 フォーム定義を動的に変更するためのAPIをさらに追加 Ethn

    Ethna 2.5.0 stable リリース! - 肉とビールとパンケーキ by @sotarok
    tohokuaiki
    tohokuaiki 2009/10/22
    おつかれさまです。
  • SimpleXMLとXMLReaderのまとめ(PHP勉強会で話してきたコード) - 肉とビールとパンケーキ by @sotarok

    で。 第34回PHP勉強会資料 - 肉とご飯と甘いもの @ sotarok をUPしてこれでいいや、と満足していたら、即座にid:maru_ccさんからツッコミが入ってしまったので、 仕方ないので(ぉ、コードもUPします。 チューニング、というか、大規模なXMLファイルを扱うところ、もうちょっと色々検証してデータ出したいのですが、なんていうか気力がないので(ぉ、とりあえず先日はなした内容だけでも、と思ってUP。 SimpleXMLのインスタンス生成 SimpleXMLのインスタンスの生成方法は2種類×2種類あります。 文字列から、インスタンスを生成 文字列から生成する場合、一番楽なのは、以下のように、simplexml_load_string関数を使います。例えば、以下のようにします。 <?php // $xml_string に、XML文字列が入っているものとする $xml_string

    SimpleXMLとXMLReaderのまとめ(PHP勉強会で話してきたコード) - 肉とビールとパンケーキ by @sotarok
  • 1