Zend Framworkのログメカニズムを分離されたコンポーネントとして使用したいのですが、ZFに必要なのはログだけです。どうすればよいですか?
1012 次
2 に答える
6
これらの2ページによると
- http://framework.zend.com/manual/1.5/en/requirements.zendcomponents.html
- http://files.zend.com/help/Zend-Framework/requirements.dependencies.html
Zend_Log
が必要Zend_Exception
であり、次の
- DOM
- libxml
- 反射
これが意味するのは、フレームワーク自体から次のものだけが本当に必要なということです
library/Zend/Exception.php
library/Zend/Log.php
library/Zend/Log <- the directory
これで、ロガーをスタンドアロンコンポーネントとして使用できるようになります。上記のリストのフォルダーをインクルードパスに追加するだけlibrary
です(Zend Frameworkコンポーネントはこれに依存しています)
set_include_path(implode(PATH_SEPARATOR, array(
'/path/to/library',
get_include_path()
)));
require_once 'Zend/Log/Writer/Stream.php';
require_once 'Zend/Log.php';
$writer = new Zend_Log_Writer_Stream('/path/to/logfile');
$log = new Zend_Log($writer);
$log->log('Some message', 1);
于 2012-02-03T04:53:15.657 に答える
1
Zend Frameworkの個々のコンポーネントを使用する場合は常にzend_setup.php
、次の3行のコードを含むという小さなファイルを含めるだけです。
set_include_path( '/Users/me/workspace/proj_name/library' . PATH_SEPARATOR . get_include_path());
require_once( '/Users/me/workspace/proj_name/library/Zend/Loader/Autoloader.php' );
Zend_Loader_Autoloader::getInstance();
これはおそらく明示的なrequire_once()
ステートメントを発行するほど効率的ではありませんが、私はそれが提供する便利さを気に入っています。たとえば、とを利用Zend_Log_Writer_Firebug()
したいとすぐに決めることができますZend_Log_Writer_Mail()
。require_once()
オートローダーを使用すると、これらの追加のステートメントをすべて記述する必要がなくなります。
于 2012-02-03T10:48:57.453 に答える