documentation から、この部分を使用して大量のデータを保存します
_if (empty($families)) {
$cache = Factory::getCache();
$families = $cache->call( array( 'JFormFieldFamily', 'getFamilyList' ) );
}
_
私のJoomla 3.9.6で完璧に動作しますが、Joomla 4の私の拡張はこれをスローします
_Warning: call_user_func_array() expects parameter 1 to be a valid callback,
class 'Joomla\CMS\Cache\Cache' does not have a method 'call' in
site\libraries\src\Cache\CacheController.php on line 74
_
_Joomla\CMS\Cache\Cache
_の ドキュメント を調べます
_$families = $cache->call( array( 'JFormFieldFamily', 'getFamilyList' ) );
_
なる
_$families = $cache->get( array( 'JFormFieldFamily', 'getFamilyList' ) );
_
joomla 3.9/4で正しく動作します。
$cache->store()
メソッドを使用する必要がありますか?
call
メソッドは、get()
の単なるラッパーであるため、Joomla 4.0では削除済みとしてマークされています。
これはget()
メソッド内で行われるため、キャッシュを手動で保存する必要はありません。