You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jan 29, 2020. It is now read-only.
I would like to get your opinions about splitting zend-cache into different components.
The reason for that is simply a testing and dependency hell.
It's not possible to define a required extension in composer.json so all adapters have to manually check if the current environment is matching the requirements
Testing against all adapters is a nightmare and takes very long.
The travis.yml file al already very complex but it still doesn't test all common cases.
Some extensions are missing or not 100% compatible for PHP-7 which makes things here more complicated.
Doesn't test against different (most common) extension versions
Nearly impossible to run tests for ZendServer adapters
another reason is that normally you only need 1 or 2 adapters but that's not very important as zend-cache doesn't install so many files per adapter.
In my opinion it makes sense to split parts into it's own repository as long as the part requires a non standard extension or another currently optional dependency.
Thoughts ?
This is a structure how this could look like:
zendframework/zend-cache
Exceptions
Patterns
Service
Factories
Storage Interfaces
Storage Plugins
all except the Serializer plugin
Storage Adapters
BlackHole
Filesystem
Memory
zendframework/zend-cache-serializer
adds the serializer storage plugin which requires zend-serializer
zendframework/zend-cache-apc
adds the Apc storage adapter requires the apc extension (or compatible extension)
zendframework/zend-cache-apcu
adds the Apcu storage adapter requires the apcu extension
zendframework/zend-cache-dba
adds the Dba storage adapter requires the dba extension
zendframework/zend-cache-memcache
adds the Memcache storage adapter requires the memcache extension
zendframework/zend-cache-memcached
adds the Memcached storage adapter requires the memcached extension
zendframework/zend-cache-mongo
adds the Mongo storage adapter requires the mongo extension
It's currently the MongoDb adapter but there is also another extension called mongodb
zendframework/zend-cache-redis
adds the Redis storage adapter requires the redis extension
zendframework/zend-cache-session
adds the Session storage adapter requires the zend-session
zendframework/zend-cache-wincache
adds the WinCache storage adapter requires the wincache extension
zendframework/zend-cache-xcache
adds the XCache storage adapter requires the xcache extension
zendframework/zend-cache-zendserver
adds the ZendDataCacheDisk and ZendDataCacheShm storage adapter requires the zend data cache extension
This is currently called ZendServerDisk / ZendServerShm because the extension is part of Zend Server
I would like to get your opinions about splitting zend-cache into different components.
The reason for that is simply a testing and dependency hell.
In my opinion it makes sense to split parts into it's own repository as long as the part requires a non standard extension or another currently optional dependency.
Thoughts ?
This is a structure how this could look like:
zendframework/zend-cache
zendframework/zend-cache-serializer
zendframework/zend-cache-apc
zendframework/zend-cache-apcu
zendframework/zend-cache-dba
zendframework/zend-cache-memcache
zendframework/zend-cache-memcached
zendframework/zend-cache-mongo
zendframework/zend-cache-redis
zendframework/zend-cache-session
zendframework/zend-cache-wincache
zendframework/zend-cache-xcache
zendframework/zend-cache-zendserver