名前空間の代わりに静的クラスの使用に関する人々の意見を測定したいと思います。私はC++のバックグラウンドから来て、シンタックスとそれがどのようにしてコードを構造化するかがかなり好きです。私は最近、単なるファイルではなく論理ユニットに自分のコードをグループ化する必要があると決めました。例えば、私はUser :: LoginへのUser :: loginのような呼び出しを好みます。だから、私は少しのグーグルを行い、PHPが名前空間を持っていることを知って安心しました。私の安堵は長く続きませんでしたが、私は本当に構文が嫌いです。それは私の関数呼び出しに混乱を加えます。ですから、私は静的クラスを使って名前空間をシミュレートしています。これには欠点がありますか?PHPスタティッククラスまたはネームスペース
私は同様の質問をPHP Namespaces vs Classes with static functionsに見つけましたが、議論はあまりありませんでした。
また、次のような状況を回避する方法があります:
class Test {
public static void myFunc() {
Test::myOtherFunc();
}
public static void myOtherFunc() {
}
}
私は名を指定せずに、同じクラス内の関数を呼び出すために、OKだろうと仮定は、どうやらありません。そのための回避策はありますか(たとえばC++ではusingキーワードを使用しています)。私はそうでない場合は、静的クラス を使用していたドメインクラス(または関数)
- 使用名前空間:偶然
'self ::'と '$ this->'はそれぞれ独自の静的メソッドとインスタンスメソッドを呼び出すためにPHPで使用されます。 –
資格を暗黙的に指定する方法はありませんか?つまり、関数の現在のクラスをチェックするか? – user1520427
いいえ、私は良いことが明白です:) –