タグ

ブックマーク / shimooka.hateblo.jp (6)

  • PHPでネイティブ関数を含むコードのテスタビリティを上げるもう1つの方法 - Do You PHP はてブロ

    via. PHPでネイティブ関数を含むコードのテスタビリティを上げる2つの方法 - 絶品ゆどうふのタレ こういう"PHPでどこまでできるか"ネタっていいですね。 また、PHP 5.4で盛り上がってるご時世にPHP 5.3な話をしちゃってて相変わらず空気読めてないけどそこはスルーで。 すみません。まだPHP5.2系です。。。 PECL:runkitを使う なんでもありなrunkitに既存関数をオーバーライド(というか、関数の再定義)する関数があります。 PHP: runkit_function_redefine - Manual ただし、ユーザー定義関数以外を再定義する場合、php.iniの設定に runkit.internal_override=1を追加する必要があります。 で、次のような感じでテストを書くことができます。今回使用したのは、PHP5.2.17+runkit1.0.0-dev

    PHPでネイティブ関数を含むコードのテスタビリティを上げるもう1つの方法 - Do You PHP はてブロ
  • test_helpers拡張モジュール - Do You PHP はてブロ

    気がついたら、PHPUnitの作者であるSebastian Bergmann氏が"test_helpers"なる拡張モジュールを公開していたようです。 GitHub - php-test-helpers/php-test-helpers: An extension for the PHP Interpreter to ease testing of PHP code. コンセプトとしては、ユニットテストを書けないようなレガシーコードで、ユニットテストを楽に書けるようにするための拡張モジュールのようで、ざっと機能をまとめてみると、 exit/die関数の無効化やコールバックを指定できる newオペレータの実行時にコールバックを指定できる 関数の改名 な感じです。感覚的には、PECL :: Package :: runkitに近い感じです。 とりあえず、README.markdownを訳してみ

    test_helpers拡張モジュール - Do You PHP はてブロ
    rsky
    rsky 2011/01/03
    PHPUnitの作者であるSebastian Bergmann氏による拡張モジュール
  • disownコマンド - Do You PHP はてブロ

    昨日知りましたw disownはバックグラウンドプロセスをデーモン化するbashの組み込みコマンドで、引数に"%"+ジョブ番号を指定します。 以下、使用例。 $ cat tmp.php <?php while (true) { sleep(10); file_put_contents('/tmp/tmp.php.log', date('YmdHis'). PHP_EOL, FILE_APPEND|FILE_TEXT); } $ php tmp.php & [1] 31993 $ jobs [1]+ Running php tmp.php & $ disown %1 $ jobs $これでターミナルを終了させても大丈夫。 再度ターミナルで繋げて、pstree確認してみると、initプロセスの子プロセスになっているのが分かります。 init(1)─┬─atd(1819) : ├─mingett

    disownコマンド - Do You PHP はてブロ
    rsky
    rsky 2009/10/16
    バックグラウンドプロセスをデーモン化
  • README.UNICODEの要約 - Do You PHP はてブロ

    PHP6からネイティブUnicodeサポートが始まるわけですが、実のところ、どういうものなのかよく分からなかったりします;-) で、ソースに付属するREADME.UNICODE(リビジョン1.8)を要約してみました。 README.UNICODE 間違いがあれば指摘をお願いします。 内部はUTF-16 ICUを利用する ICUでサポートされているエンコーディングが利用可能 文字リテラル、HTTPリクエスト、PHP識別子は全てUnicode unicode.semantics = On/OffでUnicodeサポートを切り替える Offの場合、文字リテラルはバイナリ扱い fallback encodingを指定しない場合、UTF-8となる unicode.runtime_encodingでバイナリ文字列変換のエンコーディングを指定 キャスト (binary):バイナリ文字列 (unicode

    README.UNICODEの要約 - Do You PHP はてブロ
    rsky
    rsky 2007/09/20
  • PEAR::Services_Hatena_Star作ってみた - Do You PHP はてブロ

    何かと話題なはてスタですが、とりあえず付けられたスターの情報を取得するためのPEARパッケージを作ってみました。あ。既存のPEAR::Services_Hatenaとの関連・互換性はありません(^^; Services_Hatena_Star-0.0.1.tgz(alpha版:PHP5.2.0以降専用) インストールは # pear install -a http://www.doyouphp.jp/pear/Services_Hatena_Star-0.0.1.tgz な感じで。HTTP_Request1.4.1以上が必要になります。なお、JSON拡張を使いますので、PHP5.2.x系のみ対応としています(確認が面倒なので。。。)。PECL::jsonを使ってもいけると思いますが未確認です。 また、APIドキュメントも併せて用意しました。 http://www.doyouphp.jp/p

    PEAR::Services_Hatena_Star作ってみた - Do You PHP はてブロ
  • sedで行指定 - Do You PHP はてブロ

    え〜っ!知らんかった。。。便利便利! 行指定について 5 5行目のみ 1,10 1から10行目 20,$ 20行目から最終行 /root/ rootという文字列を含むすべての行 /^root/ rootという文字列を含まないすべての行 1,/root/ 1行目からrootという文字列を含む行まで

    sedで行指定 - Do You PHP はてブロ
    rsky
    rsky 2007/04/24
  • 1