0

Logger複数のモジュールで構成された ZF2 アプリケーションがあり、これらのモジュールからアクセスできるクラスを作成したいと考えています。基本的には、どこからでも簡単にログインできるようにしたいLogger::info("Something").

現在のアプリケーション レイアウトは次のようになります。

root/
  module/
    module1/
      src/
        module2/
          src/
        module3/
          src/

この新しいロガー クラスを配置するのに最適な場所はどこでしょうか? また、どのサブモジュールからもアクセスできるようにする方法は?

4

2 に答える 2

1

ServiceManager静的メソッドを呼び出すのではなく、を使用することをお勧めします。これにより、必要に応じてロギング クラスをより簡単に交換できるようになります。

また、ZF2 モジュールは、コードを構造化する方法に関して非常に柔軟であるため、次のように簡単に使用できます。

module/Application/src/Application/Logger/LoggerFactory.php

または、このコードが他のプロジェクトで再利用されている場合は、Logger モジュールを作成してください。

昨日、モジュールのディレクトリ構造に関する Rob Allen のブログ投稿を見まし

于 2013-02-06T10:20:07.470 に答える
0

module/Application/src/WhateverName の下に、すべての人がアクセスできる一般的なクラスを配置します

たとえば、認証クラスを次の場所に配置します。

module/Application/src/Application/Authentication/AuthenticationService.php

名前空間の場合:

namespace Application\Authentication;

そして、Module.php でサービスを定義します。

public function getServiceConfig()
{
    return array(
        'factories' => array(
            'auth_service' => function ($sm) {
                $zfauthservice = new \Zend\Authentication\AuthenticationService;
                return new \Application\Authentication\AuthenticationService($zfauthservice, $sm->get('bp_user_mapper_model'));
            },
    );
}
于 2013-02-06T09:38:25.090 に答える