2017-01-27 9 views
0

私はこのコードを持っている:返された値を割り当てるときにNetBeansがPSR-1違反について不平を言うのはなぜですか?

<?php 

function f() { 
    return 5; 
} 

$a = 5; 

をそして私はPSR-1互換性チェックと8.2がオンのNetBeansを使用しています。そして、私はこのエラーを取得しています:

enter image description here

をなぜそれがあるとどのように私はそれを修正することができますか?あなたは、ファイル内の関数やクラスの定義を持っている場合、これは意味

Files SHOULD either declare symbols (classes, functions, constants, etc.) or cause side-effects (e.g. generate output, change .ini settings, etc.) but SHOULD NOT do both.

こと

+0

戻り値は割り当てられていません。それは '$ a = f();' – JHoffmann

+0

http://php.net/manual/en/oop5.intro.php – BadHorsie

+0

@JHoffmann:はいですが、値を割り当ててもそれは同じです。 – george

答えて

1

PSR-1 standard状態は、あなたが同じファイル内で、これらの定義の外(変数割り当てのような)side-effectsとのコードを持つべきではありません。

ので

function f() { 
    return 5; 
} 

$a = 5; 

は別のファイルに分割する必要があります。

+0

ありがとうございます。なぜこれが標準になったのか説明してください。そのような分離は何が良いのでしょうか? – george

+1

このように分かれば、純粋なクラス/関数定義ファイルは決してアプリケーションの状態を変更しないことが常に保証されます。これにより、他の場所でコードを再利用できるようになるのは、そのようなファイルを含むだけで、インクルードプログラムの状態が妨げられることではありません(名前の競合などによりエラーが発生する可能性があります)。 – JHoffmann

関連する問題