Implementing __set_state for CakeRoute

It helps the applications to cache the routes using var_export when possible.
This commit is contained in:
Juan Basso 2014-10-21 23:04:08 -04:00
parent 7930e680cb
commit b2a92f9cd8
2 changed files with 29 additions and 0 deletions

View file

@ -546,4 +546,22 @@ class CakeRoute {
return $out;
}
/**
* Set state magic method to support var_export
*
* This method helps for applications that want to implement
* router caching.
*
* @param array $fields
* @return CakeRoute
*/
public static function __set_state($fields) {
$class = function_exists('get_called_class') ? get_called_class() : __CLASS__;
$obj = new $class('');
foreach ($fields as $field => $value) {
$obj->$field = $value;
}
return $obj;
}
}