phpに関するrez2のブックマーク (4)

  • PHPコード最適化高速化TIPSまとめ | Webエンジニアのメモ

    TweetPocket PHPコード最適化高速化TIPSまとめPHP最適化 ベストプラクティス! 参考url: http://d.hatena.ne.jp/koto2/20080518/1211070116 01. static にできるメソッドは static として宣言しよう。(4倍速い) 02. echo の方が print より速い。 03. echo ‘文’,’字’; (カンマ区切り)の方が、’文’.’字’ (ドット連結)より速い。 04. ループの最大値は、ループ「内」ではなく「前」にセットしておこう。 05. 大きい配列のような変数は unset() してメモリを解放しよう。 06. マジックメソッド(例: __get, __set, __autoload)は使用を避けよう。 07. require_once はハイコストなのです。 08. include や require

  • PHPでマルチスレッド(バックグラウンド処理)を実現する方法 - EC studio 技術ブログ

    PHPで長時間かかる重い処理を行うとき、 マルチスレッドで動かせたらなぁ!と思うことがよくあります。 マルチスレッド処理を行うことで、時間のかかる処理を 複数同時に並列実行でき、高速化することができます。 (特に通信処理などで遅延がある場合に有効です) PHPにはpcntl_forkというプロセスをフォーク(複製)することが できる関数がありますが、これはPHPCGIモードで 動かしている場合にのみ有効です。 通常はPHPをApacheモジュールとして動作させていることが 多いので、これが使えないケースが多々あります。 他には、system関数などでシステムコールを行い、 など & を使って実行するという方法もありますが、 これもphpCGI版として実行できなければいけません。 システムコールで呼ぶプログラムをPerlなどで 書けばいいのですが、できればPHPで全部統一したいものです。

    rez2
    rez2 2012/03/24
    APIをマルチスレッドで叩けたらなあと思ってて見つけた。やってみよう!
  • PHP :: static を使って関数をメモ化する [Tipsというかメモ]

    php では、下記のように static を使って返り値を記憶しておくことができます。 <?php function hoge() { static $ret = null; if ($ret !== null) return $ret; /** * * 大きなリソースを消費する何か複雑な処理が書かれるとする。 * * : * : * * ただし、この関数が呼ばれたタイミングや状態によって、返り値が変化する場合は * この手法(メモ化)は使えない。 * 同一プロセス内で何度呼ばれても返り値が同一の場合のみ有効。 * * 例えば、この関数内で下記のように、実行する時刻によって * 何か変化がある場合はNG * * $mode = 1; * if (date('g') > 10) { * $mode = 2; * } */ $ret = $result; // $result: 処理した結果を

  • 任意のPHPのバージョンと、任意のPHPUnitのバージョンを組み合わせて実行する。 - Feelin' Kinda Strange

    3ヶ月前にgistに書いてtwitterでつぶやいたきりでしたが、こっちにも記載。 いくつか方法はありますが、たぶん最低限の方法で、 任意のPHPのバージョンと任意のPHPUnitのバージョンを動かす方法です。 Ubuntuの場合を中心に書きますが、Windowsとかでもフルパス指定でやれると思います。 任意のPHPをmakeまでします。(方法割愛) 任意のPHPUnitをpyrusで任意のフォルダにインストールします。 PHPUnit 3.5の場合 3.4と3.5だとezComponentへの依存がありましたが、3.6からはなくなってようです。 bin/phpunitのインクルードバスを設定しなおします。 PHPUnit 3.5の場合 set_include_path(dirname(__DIR__).'/php' . PATH_SEPARATOR . get_include_path(

    任意のPHPのバージョンと、任意のPHPUnitのバージョンを組み合わせて実行する。 - Feelin' Kinda Strange
    rez2
    rez2 2012/03/04
    そういえばphp案件でユニットテストってやったことないなあ。
  • 1