1

互いに独立したいくつかの関数があり、それらを 1 つのクラスにラップしていたので、spl_autoload_register(). しかし、その後、私のユーティリティ クラスは非常に大きくなり、現在ではほぼ 1000 行になっています。

今、各関数を各クラス/ファイルに分離することを考えています。

これが良い考えだと思うなら、どのようなアプローチが最善だと思いますか?

// load_foo.php
class load_foo
{
    public function __construct ($params,..)
    {

    }
}

// usage
new load_foo($params);

また

// load_foo.php
class load_foo
{
    public static function exec ($params,..)
    {

    }
}

// usage
load_foo::exec($params);
4

1 に答える 1

1

どうやら「オブジェクト」の概念を使用していないため、「静的」オプションを使用するのが最善です。 load_foo::exec($params);

そうは言っても、「各機能を各クラス/ファイルに分離する」と思います。ファイルとクラスが多すぎることになります。関数が無関係であっても (コメントが示唆しているように)、オートローダーでロードするいくつかのファイルにそれらを入れてみてください。

別の注意として、APC や xcache などのアクセラレータを使用できます。これらはコードのコンパイル済みバージョンを保持し、ファイルのロードによるパフォーマンスへの影響を大幅に最小限に抑えます。

于 2012-08-08T14:07:33.550 に答える