4

私は、PHPへのさまざまなAJAX呼び出しを多用する新しいプロジェクトに取り組んでいます。さまざまな関数をすべて含む1つのファイルを作成し、caseステートメントを使用して適切なファイルを選択するのが適切ですか、それともphpフォルダーを作成して各関数を独自のファイルに配置する必要がありますか?

私は自分のスキルを最新のWebデザインの標準と慣行で軌道に戻そうとしています。以前は、それらすべてを支配する1つのファイルが、単純化のための方法でした。しかし、このプロジェクトに10,000行を追加する前に、私が聞きたかったほど多くの変更がありました。

あなたが提供できるアドバイスをありがとう。

4

5 に答える 5

3

この質問は多くの個人的な意見を不法に扱います。

事例とポイント、私の意見:

コードの再利用性は、あらゆるプログラミング言語の鍵です。同様の関数をインクルードファイルにまとめて保存し、それらの関数が必要なメインモジュールにタイプ(または関数を整理したもの)をインクルードします。ファイルごとに1つの関数を配置するのではなく、同時に1つの巨大な関数を配置する必要があります。 400個の関数を含むファイルは悪夢です。

于 2012-05-25T01:14:49.117 に答える
2

最新のフレームワークとそれがコーディングに課すスタイルを使用するだけです。
パフォーマンスに影響を与えることなく、より明確なコードを記述できるようにするオペコードを使用します。
最新のフレームワーク名には、Zend、Yii、Codeigniterなどがあります。

于 2012-05-25T01:20:54.460 に答える
1

私が理解している場合、すべての関数を同じファイルに含めることはまったく問題ありません(非常に大きなサイトを作成している場合は、おそらくそれらを分割する必要があります。このセクションの関数、そのセクションの関数のように)。

なぜswitchステートメントを使用してそれらを選択するのかわかりません。便利な場合もありますが、通常は関数を直接呼び出すだけではありませんか?同様に、「ライブラリ」ファイルを含め、ユーザーが登録するたびに「getNewId()」を呼び出します。

于 2012-05-25T01:14:30.030 に答える
1

IMOによって異なります。

Ajaxスクリプトが10,​​000行で、1秒あたり数十または数百のAjaxリクエストを処理していて、PHPのオペコードキャッシュを使用していない場合、このような大きなスクリプトをメモリにロードするために多くの時間とリソースを浪費することになります。 、それを解析し、そこから数行を実行します。

2,000回線があり、1分あたり数十のajax呼び出しがある場合、それはそれほど大きな問題ではありません。

関数ごとに1つのファイルも少しやり過ぎかもしれません。おそらく、グループ化できる関数がいくつかあり、そのファイルに関連する関数のいずれかが呼び出されたときにファイルを含めます。

于 2012-05-25T01:16:49.977 に答える
1

問題の実装について考える代わりに、インターフェースについて考えてみませんか?これが私が言いたいことです。どこかでクラスで行われる実際の作業を分離し、ajaxに別の別のクラス/関数を呼び出させることができます。次に、ajaxを介して呼び出された関数は、さまざまなクラス/オブジェクトにクエリを実行して作業を実行し、応答をajaxに送り返すことができます。MVCパターンのように聞こえるかもしれません。これの利点は、明らかにコードの再利用性、改善されたデカップリング、およびより簡単なコード保守です。例:

class Cook{

    function friedEgg(){/**/}
    function currySoup(){/**/}
    function sandwich(){/**/}
}

そして、ajaxを介して呼び出される関数は

function ajaxBreakfast(){
    $cook = new Cook;
    $result = $cook->friedEgg();
    $result .= $cook->sandwich();
    echo $result;
}

function ajaxLunch(){
    $cook = new Cook;
    $result = $cook->currySoup();
    echo $result;
}

あなたが私のポイントを得ることを願っています!

于 2012-05-25T02:25:06.970 に答える