Class JCacheControllerCallback. Callback joomla
JCacheControllerCallback (Документация по Joomla 2.5.4)
Joomla.Platform\JCacheControllerCallback
libraries/joomla/cache/controller/callback.php at line 19 JCacheController└─JCacheControllerCallbackpublic class JCacheControllerCallbackextends JCacheController
Subpackage: Cache Since: 11.1cache, options |
mixed | call() Executes a cacheable callback if not found in cache else returns cached output and resultSince arguments to this function are read with func_get_args you can pass any number of arguments to this method as long as the first argument passed is the callback definition. |
mixed | get(mixed callback, array args, string id, boolean wrkarounds, array woptions, string group) Executes a cacheable callback if not found in cache else returns cached output and result |
protected string | _makeId(callback callback, array args) Generate a callback cache id |
Method Detail
libraries/joomla/cache/controller/callback.php at line 37call
public mixed call()Executes a cacheable callback if not found in cache else returns cached output and result
Since arguments to this function are read with func_get_args you can pass any number of arguments to this method as long as the first argument passed is the callback definition.
The callback definition can be in several forms:
- Standard PHP Callback array see [recommended]
- Function name as a string eg. 'foo' for function foo()
- Static method name as a string eg. 'MyClass::myMethod' for method myMethod() of class MyClass
Returns: Result of the callback Since: 11.1 libraries/joomla/cache/controller/callback.php at line 59get
public mixed get(mixed callback, array args, string id, boolean wrkarounds, array woptions, string group)Executes a cacheable callback if not found in cache else returns cached output and result
Parameters: callback - Callback or string shorthand for a callback args - Callback arguments id - Cache id wrkarounds - True to use wrkarounds woptions - Workaround options Returns: Result of the callback Since: 11.1 libraries/joomla/cache/controller/callback.php at line 195
_makeId
protected string _makeId(callback callback, array args) Generate a callback cache id
Parameters: callback - Callback to cache args - Arguments to the callback method to cache Returns: MD5 Hash : function cache id Since: 11.1 Вернуться к записям по теме Joomla.ya.samposebe.ru
libraries/joomla/cache/controller/callback.php (Документация по Joomla 2.5.4)
Вернуться к записям по теме Joomla. <?php /** * @package Joomla.Platform * @subpackage Cache * * @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ defined('JPATH_PLATFORM') or die; /** * Joomla! Cache callback type object * * @package Joomla.Platform * @subpackage Cache * @since 11.1 */ class JCacheControllerCallback extends JCacheController { /** * Executes a cacheable callback if not found in cache else returns cached output and result * * Since arguments to this function are read with func_get_args you can pass any number of * arguments to this method * as long as the first argument passed is the callback definition. * * The callback definition can be in several forms: * - Standard PHP Callback array see <http://php.net/callback> [recommended] * - Function name as a string eg. 'foo' for function foo() * - Static method name as a string eg. 'MyClass::myMethod' for method myMethod() of class MyClass * * @return mixed Result of the callback * * @since 11.1 */ public function call() { // Get callback and arguments $args = func_get_args(); $callback = array_shift($args); return $this->get($callback, $args); } /** * Executes a cacheable callback if not found in cache else returns cached output and result * * @param mixed $callback Callback or string shorthand for a callback * @param array $args Callback arguments * @param string $id Cache id * @param boolean $wrkarounds True to use wrkarounds * @param array $woptions Workaround options * * @return mixed Result of the callback * * @since 11.1 */ public function get($callback, $args = array(), $id = false, $wrkarounds = false, $woptions = array()) { // Normalize callback if (is_array($callback)) { // We have a standard php callback array -- do nothing } elseif (strstr($callback, '::')) { // This is shorthand for a static method callback classname::methodname list ($class, $method) = explode('::', $callback); $callback = array(trim($class), trim($method)); } elseif (strstr($callback, '->')) { /* * This is a really not so smart way of doing this... we provide this for backward compatability but this * WILL! disappear in a future version. If you are using this syntax change your code to use the standard * PHP callback array syntax: <http://php.net/callback> * * We have to use some silly global notation to pull it off and this is very unreliable */ list ($object_123456789, $method) = explode('->', $callback); global $$object_123456789; $callback = array($$object_123456789, $method); } else { // We have just a standard function -- do nothing } if (!$id) { // Generate an ID $id = $this->_makeId($callback, $args); } $data = false; $data = $this->cache->get($id); $locktest = new stdClass; $locktest->locked = null; $locktest->locklooped = null; if ($data === false) { $locktest = $this->cache->lock($id); if ($locktest->locked == true && $locktest->locklooped == true) { $data = $this->cache->get($id); } } $coptions = array(); if ($data !== false) { $cached = unserialize(trim($data)); $coptions['mergehead'] = isset($woptions['mergehead']) ? $woptions['mergehead'] : 0; $output = ($wrkarounds == false) ? $cached['output'] : JCache::getWorkarounds($cached['output'], $coptions); $result = $cached['result']; if ($locktest->locked == true) { $this->cache->unlock($id); } } else { if (!is_array($args)) { $Args = !empty($args) ? array(&$args) : array(); } else { $Args = &$args; } if ($locktest->locked == false) { $locktest = $this->cache->lock($id); } if (isset($woptions['modulemode'])) { $document = JFactory::getDocument(); $coptions['modulemode'] = $woptions['modulemode']; $coptions['headerbefore'] = $document->getHeadData(); } else { $coptions['modulemode'] = 0; } ob_start(); ob_implicit_flush(false); $result = call_user_func_array($callback, $Args); $output = ob_get_contents(); ob_end_clean(); $cached = array(); $coptions['nopathway'] = isset($woptions['nopathway']) ? $woptions['nopathway'] : 1; $coptions['nohead'] = isset($woptions['nohead']) ? $woptions['nohead'] : 1; $coptions['nomodules'] = isset($woptions['nomodules']) ? $woptions['nomodules'] : 1; $cached['output'] = ($wrkarounds == false) ? $output : JCache::setWorkarounds($output, $coptions); $cached['result'] = $result; // Store the cache data $this->cache->store(serialize($cached), $id); if ($locktest->locked == true) { $this->cache->unlock($id); } } echo $output; return $result; } /** * Generate a callback cache id * * @param callback $callback Callback to cache * @param array $args Arguments to the callback method to cache * * @return string MD5 Hash : function cache id * * @since 11.1 */ protected function _makeId($callback, $args) { if (is_array($callback) && is_object($callback[0])) { $vars = get_object_vars($callback[0]); $vars[] = strtolower(get_class($callback[0])); $callback[0] = $vars; } return md5(serialize(array($callback, $args))); } } Вернуться к записям по теме Joomla.JCacheControllerCallback (Документация по Joomla 1.7)
Вернуться к записям по теме Joomla.Joomla.Platform\JCacheControllerCallback
libraries/joomla/cache/controller/callback.php at line 21 JCacheController└─JCacheControllerCallbackpublic class JCacheControllerCallbackextends JCacheController
Subpackage: Cache Since: 11.1cache, options |
mixed | call() Executes a cacheable callback if not found in cache else returns cached output and resultSince arguments to this function are read with func_get_args you can pass any number of arguments to this method as long as the first argument passed is the callback definition. |
mixed | get(array Callback, string Cache, boolean True, array Workaround, mixed callback, mixed args, bool wrkarounds, mixed woptions, string id, string group) Executes a cacheable callback if not found in cache else returns cached output and result |
protected string | _makeId(callback callback, array args) Generate a callback cache id |
Method Detail
libraries/joomla/cache/controller/callback.php at line 39call
public mixed call()Executes a cacheable callback if not found in cache else returns cached output and result
Since arguments to this function are read with func_get_args you can pass any number of arguments to this method as long as the first argument passed is the callback definition.
The callback definition can be in several forms:
- Standard PHP Callback array see [recommended]
- Function name as a string eg. 'foo' for function foo()
- Static method name as a string eg. 'MyClass::myMethod' for method myMethod() of class MyClass
Returns: Result of the callback Since: 11.1 libraries/joomla/cache/controller/callback.php at line 61get
public mixed get(array Callback, string Cache, boolean True, array Workaround, mixed callback, mixed args, bool wrkarounds, mixed woptions, string id, string group)Executes a cacheable callback if not found in cache else returns cached output and result
Parameters: Callback - or string shorthand for a callback Callback - arguments Cache - id True - to perform workarounds on data Workaround - options Returns: Result of the callback Since: 11.1 libraries/joomla/cache/controller/callback.php at line 161
_makeId
protected string _makeId(callback callback, array args) Generate a callback cache id
Parameters: callback - Callback to cache args - Arguments to the callback method to cache Returns: MD5 Hash : function cache id Since: 11.1 Вернуться к записям по теме Joomla.ya.samposebe.ru