jkrasnoo/factories

由于 ZF 开发者认为它们属于 '用户空间',因此没有提供的一些各种工厂。

dev-master 2016-11-20 20:42 UTC

This package is not auto-updated.

Last update: 2024-09-28 19:45:21 UTC


README

介绍

这是一个库,包含了 Zend 框架没有提供的常用工厂,原因是他们认为这属于用户空间。这意味着用户通常会自己创建和实现工厂或类。

使用 Composer 安装

使用 Composer 安装库非常简单。

$ composer require jkrasnoo\factories

组件

缓存会话保存处理程序工厂

这是一个会话保存处理程序缓存工厂。要使用此工厂将 Zend\Cache 保存处理程序附加到服务管理器,您应遵循以下配置。您应该在全局配置中放置此配置。

<?php
use Zend\Session\SaveHandler\SaveHandlerInterface;
use Jkrasnoo\Factories\Service\CacheSessionSaveHandlerFactory;

return [
    'service_manager' => [
        'factories' => [
            SaveHandlerInterface::class => CacheSessionSaveHandlerFactory::class
         ]
     ]
];

此配置也应放在单独的全局配置中。第一个配置是如果您已经配置了缓存。

<?php

return [
    'session_save_handler' => [
        'cache' => 'Your/Cache/Service/Name'
    ]
];

此配置是为了让工厂创建一个仅用于处理程序的单独缓存。它不能通过服务管理器访问。它使用 Zend\Cache\StorageFactory 配置。

<?php

return [
    'session_save_handler' => [
        'cache' => [
            'adapter' => [
                'name'      => 'memcache',
                'options'   => [
                    'server' => [
                        'host' => '127.0.0.1',
                        'port' => 6379
                    ],
                    'minTtl'  => 1,
                    'maxTtl'  => 0,
                    
                ]
            ]
        ]
    ]  
];

注意:Zend\Cache 中,Redis 适配器可能存在一个小的错误,如果您没有以正确的方式配置适配器,它会导致抛出有关缺少 default 资源的错误。您需要确保 options 配置中的 server 键是第一个,否则在某些原因下,服务器无法在 RedisResourceManager 中正确设置。