質問: コアがエコーではなく印刷を使用するのはなぜですか? 私はどこかで読んだことがあり、どこで覚えているかはわかりませんが、echoはprintよりも効率的にデータを出力する方法です。drupalコアがprintをそんなに使用するのはなぜですか?その背後に特別な理由はありますか?
回答: echoは、学術環境でのみ高速です。違いは非常にわずかです。私がやった簡単なベンチマーク:2000ノードを超えるテーブルから1行をフェッチする時間は1ユニットです。1ユニットの改善を得るには、約3.700.000(300万以上)のprintステートメントをechoに置き換える必要があります。言い換えれば、パフォーマンスの向上が必要な場合、これから始めるのは困難です。printはechoよりもはるかに広い範囲で使用できるため、最初の方法にはいくつかの利点があります。次の3つのオプションがあります。 常にprintを使用します 可能な場合はechoを使用し、printにフォールバック echoを常に使用し、echoを使用できない場合はコードをリファクタリングして使用します 最初はdrupalがデフォルトになっています。これが選ばれた理由についてのあなたの実際の質問に答えるために:それは選ばれませんでした。それは単にこのように成長しました。