-
-
Notifications
You must be signed in to change notification settings - 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