回答:
echo
アカデミック環境でのみ高速です。違いは非常にわずかです。私が行った簡単なベンチマーク:2000以上のノードを持つテーブルから1つの行をフェッチする時間は1ユニットです。
1ユニットの改善を得るには、約3.700.000(3ミリオン以上)のprint
ステートメントをに置き換える必要がありecho
ます。言い換えると、パフォーマンスの改善が必要な場合、これはほとんど開始する場所ではありません。
そのprint
場合、はるかに広い範囲のケースで使用できると見られecho
、最初の方法にはいくつかの利点があります。次の3つのオプションがあります。
print
echo
可能な場合は使用し、フォールバックprint
echo
常にしている場合、あなたのコードをリファクタリングecho
、それを使用するために、使用することはできませんDrupalは最初にデフォルトになりました。
これが選ばれた理由に関するあなたの実際の質問に答えるために:それはそうではありませんでした。単純にこのように成長しました。
if (! print some_method() ) {print some_other_method()}
です。実際に何かを印刷した場合、printはTRUEを返すため。Echoは何も返さないため、これも高速です。もう1つの例return print $somevalue
は、メソッドの最後にステータスを返すことです。