クラスと関数名をペアにするのは悪い習慣と考えられますか?クラスとペアになっているPHP関数名
たとえば、コナナでは次のことができます。
function Model($a,$b){
return new Model($a,$b);
}
それから私は、新しいへのすべての参照をドロップすることができなかったの$ temp変数を作成する必要はないだろう、と何の工場出荷時の混乱。
$book = Model('book')->where('title','=','name');
へ
$temp = new Model('book');
$book=$temp->where('title','=','name')->find();
それとも
$book = Model::factory('book')->where('title','=','name');
私はグローバルな環境汚染が悪い理解し、最初に読むために少しあいまいですが、それはそれは利点のしています。
他の人がクラスと関係のない関数を定義していた場合、関数を使用しないのはなぜですか?例えば
:
$book = new Model('book');
// looks so close to the above, it's scary
$book = Model('book');
他の長所や短所?
あなたはPHP言語が好きではありませんので、あなたはそれを回そうとしています。あなたは、そのモチベーションを使って別の言語を学ぶ素晴らしい機会を逃しています! – Joe
安全な4文字に3つの醜い名前を書いてみて、コードを書く人々の混乱を混乱させるようにしてください( "newに加えてその機能は何ですか?")? Edit @Joe:最後に私がチェックした時、クラスインスタンシエーションのための 'new'がかなりの言語で必要でした。 PHPの設計について多くのことを批判することができますが、これは重要なものではありません。 – delnan
私は新しい構文についてPHPを批判していませんでした。ちょうど一般的。 – Joe