0

modxのスニペットに関するドキュメント:http://rtfm.modx.com/display/revolution20/Snippets

ドキュメントの上部近くに、次の ように書かれています。コンテンツをエコーアウトするのではなく、コードを返す方法に注意してください。スニペットでechoを使用しないでください。常に出力を返します。

これは何も表示しません:

return $product_attribute $product_info[0][$column_name];

これは表示されます:

echo $product_attribute $product_info[0][$column_name];

コンテンツをエコーできない場合、HTMLページに印刷するにはどうすればよいですか?

4

3 に答える 3

3

基本的には、関数自体の値ではなくecho、値を指定できることを意味します。OOPプログラミングでは、画面へのエコー(または印刷)が厳密に監視されます。returnedecho

たとえば、私はこの機能を持っています

function testExample($var) {
    return $var*2;
}

だから私がそれをエコーする必要があるとき、私はただする必要があります

echo testExample(5);

これの代わりに(悪い習慣)

function testExample($var) {
    echo $var*2;
}

その理由は、関数で値を出力する場合、その関数は値を出力するためにのみ使用でき、再利用できないためです。しかし、それを返すことで、印刷、別の変数への割り当て、または再計算に使用できるようになりました。

于 2011-06-07T16:06:44.683 に答える
0

メモから理解できることから、echo関数内では使用せず、値を返し、後でエコーするという規則があります。

その他の印刷の可能性は次のとおりです。

print $your_variable;

またdie($your_variable);

于 2011-06-07T16:02:05.307 に答える
0

return関数/メソッドectから値を返すために使用されますsnippetmodxの機能は、実際には単なる関数/クラスラッパーです。

于 2011-06-07T16:08:10.997 に答える