-
-
Couldn't load subscription status.
- Fork 453
[V5˖] Migrating your code to the V6
Because the V6 is not backward compatible with the V5, here's a guide to help you to migrate your code:
- "predis/predis"
- "mongodb/mongodb"
- "phpfastcache/phpssdb"
- "phpfastcache/couchdb"
The composer install/update was enough to pull dependencies
Specify your required "suggested" dependencies by hands:
composer require phpfastcache/phpssdb
Driver instances used to implements a phpFastCache\Cache\ExtendedCacheItemPoolInterface interface.
namespace My\Custom\Project;
$instance = CacheManager::getInstance('Files');
if($instance instanceof \phpFastCache\Cache\ExtendedCacheItemPoolInterface)
{
// Some code
}This has been changed and they now implements a phpFastCache\Core\Pool\ExtendedCacheItemPoolInterface interface
namespace My\Custom\Project;
$instance = CacheManager::getInstance('Files');
if($instance instanceof \phpFastCache\Core\Pool\ExtendedCacheItemPoolInterface)
{
// Some code
}Item instances used to implements a phpFastCache\Cache\ExtendedCacheItemInterface interface.
namespace My\Custom\Project;
$instance = CacheManager::getInstance('Files');
$item = $instance->getItem('key');
if($item instanceof \phpFastCache\Cache\ExtendedCacheItemInterface)
{
// Some code
}This has been changed and it now returns a phpFastCache\Core\Item\ExtendedCacheItemInterface interface
namespace My\Custom\Project;
$instance = CacheManager::getInstance('Files');
$item = $instance->getItem('key');
if($item instanceof \phpFastCache\Core\Item\ExtendedCacheItemInterface)
{
// Some code
}Code used to catch a \InvalidArgumentException interface.
namespace My\Custom\Project;
$instance = CacheManager::getInstance('Files');
try{
$item = $instance->getItem(array());
}catch(\InvalidArgumentException $e){
//Catched exception code
}This has been changed you now MUST catch \phpFastCache\Exceptions\phpFastCacheInvalidArgumentException class
namespace My\Custom\Project;
$instance = CacheManager::getInstance('Files');
try{
$item = $instance->getItem(array());
}catch(\phpFastCache\Exceptions\phpFastCacheInvalidArgumentException $e){
//Catched exception code
}\phpFastCache\Exceptions\phpFastCacheInvalidArgumentException implements \Psr\Cache\InvalidArgumentException as per PSR-6.
Code used to catch a \LogicException.
namespace My\Custom\Project;
$instance = CacheManager::getInstance('Files');
try{
$item = $instance->getItem(array());
}catch(\LogicException $e){
//Catched exception code
}This has been changed you now MUST catch \phpFastCache\Exceptions\phpFastCacheLogicException interface
namespace My\Custom\Project;
$instance = CacheManager::getInstance('Files');
try{
$item = $instance->getItem(array());
}catch(\phpFastCache\Exceptions\phpFastCacheLogicException $e){
//Catched exception code
}{}()/\@:
If you try to do so, an \phpFastCache\Exceptions\phpFastCacheInvalidArgumentException will be raised.
You must replace them with a safe delimiter such as .|-_
The deprecated method phpFastCache\Cache\ExtendedCacheItemPoolInterface::clear() is now definitely removed.
In the V5 the method phpFastCache\Cache\ExtendedCacheItemPoolInterface::clear() was deprecated.
namespace My\Custom\Project;
$instance = CacheManager::getInstance('Files');
if($instance instanceof \phpFastCache\Cache\ExtendedCacheItemPoolInterface)
{
$instance->clear();
}In the V6 we removed it. Use phpFastCache\Cache\ExtendedCacheItemPoolInterface::clean() instead.
namespace My\Custom\Project;
$instance = CacheManager::getInstance('Files');
if($instance instanceof \phpFastCache\Core\Pool\ExtendedCacheItemPoolInterface)
{
$instance->clean();
}In the V5 the driver was making use of of the deprecated class Mongo.
In the V6 we made an important change: We now make use of Mongodb Driver Only your code configuration will have to be updated, PhpFastCache manages all the abstract couch by itself.
❓ Finally, if you need help, always check out the inevitable README.md