ぐらめぬ・ぜぷつぇんのはてダ(2007 to 2011)

2007年~2011年ごろまで はてなダイアリー に書いてた記事を引っ越してきました。

PHP

PEAR_PackageFileManagerのrealpath()周りのバグがようやく直った・・・。

らしいです。BugReportのstatusもClosedになりました。CVS確認してませんが。 This bug has been fixed in CVS. http://pear.php.net/bugs/bug.php?id=12023 長かった・・・。二ヶ月もかかった。とりあえず一つ、肩の荷がおりました。 っつーか、本当、PHPっ…

遅延静的束縛(5.3.0)

PHP

PHP 5.3.0 以降、PHP に遅延静的束縛と呼ばれる機能が搭載されます。 これを使用すると、静的継承のコンテキストで呼び出し元のクラスを参照できるようになります。 http://docs.php.net/manual/ja/language.oop5.late-static-bindings.php http://d.hatena.…

第28回PHP勉強会

PHP

に出てきました〜。PHP界隈の有名人がそこここに。http://events.php.gr.jp/event.php/event_show/28Asialの亀本様より、symfonyのテスティングフレームワークで"lime"というのが新しく用意されたお話聞きました〜。どうもです。PHP4にも対応していると有り…

Xhwlay-0.9.0(beta)をリリースします。

イベントドリブンなページフロー制御ライブラリの"Xhwlay"、そのPHPによる実装であるxhwlay-phpの最初のbetaバージョンをリリースします。バージョンは0.9.0です。簡単にまとめたWebコンテンツも同時にリリースしますので、ご興味のある方はご覧下さい。http…

realpath()でPHPに怒りを覚えた日。

realpath()、WindowsのPHP4とPHP5で、挙動が違う・・・。巫山戯るな(#゚Д゚)ゴルァ!!!!!!!!!!!!!!!!!!事の発端はPEARの PEAR_PackageFileManager で、詳細やpatchは以下のBugレポートで上がっているので参照して下さい。http://pear.php.net/bugs/bug.php?id=120…

PHP4とPHP5の共存をしようとしたけれど断念した。

今更ではあるが、PHP4とPHP5の共存をしようとした。実のところCLI環境では特に難しいものはない。PATHやphp.iniの配置、include_pathやextensionの設定さえごっちゃにならなければ嵌りどころは殆ど無い。問題はApacheでの共存である。CGIとして上手く切り分…

ApacheをWindowsのサービスとして登録するには

Windows版Apacheは、通常のインストーラの設定に従うと、デフォルトでサービスとして起動されるよう登録される。 今回は、異なる設定ファイルを読み込むApacheを別々にWindowsのサービスとして起動するよう登録することに挑戦し、目的を達した。当初の目的は…

すごい人が居た、と思ったらグリーの中の人だった。

PHP

PHPのソースコードには、PHP/「ページの有効期限切れ」対策を最初として、何度か解析を試みている。が、さっぱり分からない状態が続いている。「プログラミング言語を作る」 http://kmaebashi.com/programmer/devlang/index.html を読んだりして、yaccやlex…

Pseudo_Block 0.1.0 (beta) リリース

http://xhwlay.sourceforge.net/Pseudo_Block/ここ数日間日記で書いてきた、PHPで擬似的な無名関数、evalブロックを作る為のサポートパッケージ、"Pseudo_Block"をリリースしました。 PEARパッケージにしてありますので、 pear install http://xhwlay.source…

Stagehand_TestRunner に SimpleTest のサポートを追加してみる。

PHP

Stagehand_TestRunner : http://trac.piece-framework.com/sh-testrunner/wiki/ja/Start SimpleTest : http://www.lastcraft.com/simple_test.php・・・いえ、需要がどれほどあるのか、という事になってしまうんですが。単純な話ですね、PHP4とPHP5で、今の…

PHP4もこれまでか・・・!?PHP4のDLで、Japanのミラーが無くなってる・・・!!

PHP

いや、マジで。http://jp.php.net/get/php-4.4.7-Win32.zip/from/a/mirror

PHP 5.2.4 (WinXP) と php_xdebug-2.0.0-5.2.2.dll の組み合わせで error_log が無効化?

PHP

としか思えないような現象に遭遇した。php.ini : ... zend_extension_ts="C:\...\php_xdebug-2.0.0-5.2.2.dll" xdebug.default_enable = on xdebug.profiler_enable = 0 xdebug.profiler_output_dir = "..."で、phpinfo()でxdebugがロードされているのを確認…

extract()を組み合わせてみる。結構・・・イケル、かも。

PHP

http://jp.php.net/manual/ja/function.extract.php extract()はあまり使われないし、ユーザー入力と組み合わせた日にはセキュリティ的にヤバイ事になりそうですしで、自分も会社の絡みでとある記事を書くまでは全く知りませんでした。PHP/連載/007 : PHPと…

出力バッファリング関数を用いた疑似ブロックの実証実験

PHP

PHPのスクリプトは、 の枠の「外」については、HTMLを想定してそのまま出力する。つまり、使いようによってはPerlやRubyのDATAセクションのような使い道ができるはず。これを逆手に取り、出力バッファリング関数で意図的にこの枠外の文字列を取得してしまう…

eval()/create_function()が使いづらい理由

PHP

非常に単純で、コードをべた書きできないからだと思う。文字列として渡さなければならないので、$ や " や ' を一々丁寧にエスケープしないとならないのが非常に、面倒くさい。Perlであれば、 eval { my $i = 0; ... }; die $@ if $@;みたく書けるし、また、…

Stagehand_TestRunnerが激しく楽。

PHP

で、どうにかPseudo_Blockのテストケースを書けた。で、とにかくStagehand_TestRunner、楽。***_TestCase.php の置いてあるディレクトリに移動して、 > testrunner3とするだけで、再帰的に走査して、**_TestCase.phpを勝手に実行してくれる。楽だわー・・・。

ReflectionClass と zend.ze1_compatibility_mode に嵌められた。

PHP

Pseudo_CodeBlockのテストケースを書こうと思い、いつまでもSimpleTestに頼ってもいられない。時代はPHP5で、PHPUnitがデフォルトになりつつある。っつーか、Stagehand_TestRunnerを使いたいんだけどアレ、PHPUnitしか対応してないから。http://pear.piece-f…

カテゴリ付き見出し。

ほげほげぼへぼへ