最近、私はPSR標準に適応しようとしています。PSR-1 ドキュメントには、次のように記載されています。
ファイルは、シンボル (クラス、関数、定数など) を宣言するか、副作用 (出力の生成、.ini 設定の変更など) を引き起こす必要がありますが、両方を行うべきではありません。
これは、クラス内にある関数に出力を書き込むこと (たとえばecho '<b>some bold text</b>';
) を行うべきではないことを意味しますか?
最近、私はPSR標準に適応しようとしています。PSR-1 ドキュメントには、次のように記載されています。
ファイルは、シンボル (クラス、関数、定数など) を宣言するか、副作用 (出力の生成、.ini 設定の変更など) を引き起こす必要がありますが、両方を行うべきではありません。
これは、クラス内にある関数に出力を書き込むこと (たとえばecho '<b>some bold text</b>';
) を行うべきではないことを意味しますか?
それはそれが意味するものではありません。
include
それが参照するのは、それらのファイルを使用したときに何が起こるかだけです。の結果はinclude 'foo.php'
、一連の新しいシンボル (クラス、関数、定数) が作成されたか、なんらかの副作用 (オートローダーが追加された、HTML 出力が生成された、または一般的に何かが起こった) である必要があります。避けられない副作用を引き起こさずにクラスをロードしたいことがよくあるため、これら 2 つのことを混在させるべきではありません。
1)include
ファイルを呼び出し、次に 2) 副作用を生成する関数を明示的に呼び出す場合、それはまったく問題ありません。そうしないと、副作用を生成するすべてのコードをクラスまたは関数に記述することができず、これは単にナンセンスです。