我正在寻找类似的东西:http: //knplabs.com/blog/give-your-projects-a-gaufrette 谢谢。
问问题
424 次
1 回答
4
只需使用Gaufrette,我也这样做(即使在 ZF2 项目中)!
php composer.phar require knplabs/gaufrette:0.1.*
然后,您可以在应用程序的任何地方使用它,并最终通过在您的YourNamespace\Module#getServiceConfig
:
namespace YourNamespace;
use Zend\ModuleManager\Feature\ServiceProviderInterface;
use Zend\ModuleManager\Feature\ConfigProviderInterface;
use Zend\ServiceManager\ServiceLocatorInterface;
use Gaufrette\Filesystem;
use Gaufrette\Adapter\Local as LocalFs;
class Module implements ServiceProviderInterface, ConfigProviderInterface
{
public function getConfig()
{
return array(
'your_namespace' => array(
'filesystem' => array(
'base_path' => 'data/files',
),
),
);
}
public function getServiceConfig()
{
return array(
'factories' => array(
'YourNamespace\Filesystem' => function (ServiceLocatorInterface $sl) {
$config = $sl->get('Config');
$basePath = $config['your_namespace']['filesystem']['base_path'];
return new Filesystem(new LocalFs($basePath, true));
},
),
);
}
}
然后,您可以YourNamespace\Filesystem
在所有应用程序中使用服务。
我还将它与Symfony\Filesystem
处理文件移动/复制/检查操作结合使用。并非所有内容都必须来自 Zend Framework 2 才能在 ZF2 应用程序中使用。
于 2013-02-27T11:15:00.820 回答