laminas-feed
laminas-feed copied to clipboard
Change static interface to dynamic
I know it may be a bit too complicated due as part of migration to zf3. It makes sense to change static zend-feed interface to dynamic.
class Reader
{
public function __construct(HttpClient $http = null, CacheAdapter $cache = null)
public function import()
{
$cache = $this->getCache();
$client = $this->getHttpClient();
$cacheId = 'Zend_Feed_Reader_' . md5($uri);
...
}
}
It will break back comparability with version 2.*. But It's necessary changes if we want to have clear, easy management code that can be used in any application without global static variables.
Originally posted by @necromant2005 at https://github.com/zendframework/zend-feed/issues/19
Having done the work to separate the plugin manager and http dependencies, I can attest to the difficulties in testing the compliment currently; static usage makes this quite cumbersome!
If we're going to break BC anyway, I'd argue we should also target PSR-6 interfaces (particularly since with is being done to provide psr-6 compatibility in zend-cache). That particular change would affect also the pubsdubhubbub subcomponent, but not the writer.
to;dr: go for it!
Originally posted by @weierophinney at https://github.com/zendframework/zend-feed/issues/19#issuecomment-183312869
Thank you Matthew! I'll start migration.
Originally posted by @necromant2005 at https://github.com/zendframework/zend-feed/issues/19#issuecomment-183418735
Hi Matthew,
I've migrated Zend-Feed reader https://github.com/necromant2005/zend-feed/tree/BUG19-mirgration-static-tdynamic tests passed: https://travis-ci.org/necromant2005/zend-feed/builds/110578421
I can merge all changes in one commit, if you prefer.
Cheers,
Originally posted by @necromant2005 at https://github.com/zendframework/zend-feed/issues/19#issuecomment-186575157
Also it will be great to migrate "writter" because it uses the same weird static plugin manager functionality /** * @var ExtensionManagerInterface */ protected static $extensionManager = null;
Originally posted by @necromant2005 at https://github.com/zendframework/zend-feed/issues/19#issuecomment-186577445
I've also migrated cache interface to PSR-6
Originally posted by @necromant2005 at https://github.com/zendframework/zend-feed/issues/19#issuecomment-187020827