カテゴリー
Uncategorized

標準出力に出力された文字列を取得する

ob_start();
var_dump( $hoge );
$output = ob_get_contents();
ob_end_clean();

個人的には Perl と共に絶滅して欲しい

  • $ で変数が始まっている。記号の使い方がキモイ
  • いまどきクラスライブラリでない
  • 変数の参照と関数の参照が違う
  • グローバル変数の乱舞
  • ピーキーすぎるモジュール構成

ちなみに上のやつの Pythonでの例

import sys, StringIO
oldstdout = sys.stdout
newstdout = StringIO.StringIO()
sys.stdout = newstdout
dir(sys)
sys.stdout = oldstdout
newstdout.seek(0)
newstdout.read()

異様に分かりやすい。ここだけだとコードは多いけど、プロジェクト全体では大抵の場合で Python の方が短くというかスマートなコードになると思う。

つまり何が言いたいかというと PHP だけはマジ勘弁して下さい

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です