在Zend Framework 2.2.0中,一堆new abstract factories have been added。我想配置一個數據庫記錄器,但我不知道如何做到這一點。鏈接給出了配置流記錄器的下面的例子:ZF2:配置新的抽象工廠
'log' => array(
'Application\Log' => array(
'writers' => array(
array(
'name' => 'stream',
'priority' => 1000,
'options' => array(
'stream' => 'data/logs/app.log',
),
),
),
),
),
我試圖將配置複製到config/global.php
,我也試圖巢它service_manager
項下。它說我應該能夠直接從服務管理器獲取記錄器,但是我收到一個錯誤,說它無法創建Application\Log
的實例。我在這裏誤解了什麼嗎?應該在哪裏添加配置?
另外,在我的具體例子中,我想使用數據庫編寫器。這是如何配置與上述類似的風格(即與數組)?在查看Zend\Writer\Db
constructor時,它需要傳遞適配器實例。我不確定如何在沒有製造工廠的情況下做到這一點,因爲我的數據庫適配器本身使用抽象工廠; Zend\Db\Adapter\AdapterServiceFactory
。這似乎要求我訪問配置文件中的服務管理器來獲取數據庫適配器,以便將其注入到數據庫寫入器中。我不確定這是否可能。
我可以做一個自定義工廠就好,但我喜歡這些一致的抽象工廠的想法;我只是對如何使用它們感到困惑。