mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
Merge pull request #4437 from kinglozzer/pulls/deprecate-viewabledata-cachedcall
Deprecate ViewableData magic caching logic
This commit is contained in:
commit
d8463f577f
@ -177,7 +177,8 @@ class ViewableData extends Object implements IteratorAggregate {
|
||||
foreach($this->allMethodNames() as $method) {
|
||||
if($method[0] == '_' && $method[1] != '_') {
|
||||
$this->createMethod(
|
||||
substr($method, 1), "return \$obj->cachedCall('$method', \$args, '" . substr($method, 1) . "');"
|
||||
substr($method, 1),
|
||||
"return \$obj->deprecatedCachedCall('$method', \$args, '" . substr($method, 1) . "');"
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -185,6 +186,24 @@ class ViewableData extends Object implements IteratorAggregate {
|
||||
parent::defineMethods();
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to facilitate deprecation of underscore-prefixed methods automatically being cached.
|
||||
*
|
||||
* @param string $field
|
||||
* @param array $arguments
|
||||
* @param string $identifier an optional custom cache identifier
|
||||
* @return unknown
|
||||
*/
|
||||
public function deprecatedCachedCall($method, $args = null, $identifier = null) {
|
||||
Deprecation::notice(
|
||||
'4.0',
|
||||
'You are calling an underscore-prefixed method (e.g. _mymethod()) without the underscore. This behaviour,
|
||||
and the caching logic behind it, has been deprecated.',
|
||||
Deprecation::SCOPE_GLOBAL
|
||||
);
|
||||
return $this->cachedCall($method, $args, $identifier);
|
||||
}
|
||||
|
||||
/**
|
||||
* Merge some arbitrary data in with this object. This method returns a {@link ViewableData_Customised} instance
|
||||
* with references to both this and the new custom data.
|
||||
|
Loading…
Reference in New Issue
Block a user