ProShell v2.0
Dashboard
Server Info
Server: 158.106.128.192
PHP: 8.2.33
home
planet5
public_html
bansibaba.com
wp-includes
2026-09-15 22:15:25
Editing: trait-memoize.php
Cancel
Save Changes
<?php namespace WP_Rocket\Traits; /** * Statically store values. * * @since 3.3 * @author Grégory Viguier */ trait Memoize { /** * Store the values. * * @var array * @since 3.3 * @access private * @author Grégory Viguier */ private static $memoized = []; /** * Tell if a value is memoized. * * @since 3.3 * @access public * @author Grégory Viguier * * @param string $method Name of the method. * @param array $args Arguments passed to the parent method. It is used to build a hash. * @return bool */ final public static function is_memoized( $method, $args = [] ) { $hash = self::get_memoize_args_hash( $args ); return isset( self::$memoized[ $method ][ $hash ] ); } /** * Get a stored value. * * @since 3.3 * @access public * @author Grégory Viguier * * @param string $method Name of the method. * @param array $args Arguments passed to the parent method. It is used to build a hash. * @return mixed */ final public static function get_memoized( $method, $args = [] ) { $hash = self::get_memoize_args_hash( $args ); return isset( self::$memoized[ $method ][ $hash ] ) ? self::$memoized[ $method ][ $hash ] : null; } /** * Cache a value. * * @since 3.3 * @access public * @author Grégory Viguier * * @param string $method Name of the method. * @param array $args Arguments passed to the parent method. It is used to build a hash. * @param mixed $value Value to store. * @return mixed The stored value. */ final public static function memoize( $method, $args = [], $value = null ) { $hash = self::get_memoize_args_hash( $args ); if ( ! isset( self::$memoized[ $method ] ) ) { self::$memoized[ $method ] = []; } self::$memoized[ $method ][ $hash ] = $value; return self::$memoized[ $method ][ $hash ]; } /** * Create a hash based on an array of arguments. * * @since 3.3 * @access private * @author Grégory Viguier * * @param array $args An array of arguments. * @return string */ final private static function get_memoize_args_hash( $args ) { if ( [] === $args ) { return 'd751713988987e9331980363e24189ce'; // `md5( json_encode( [] ) )` } return md5( call_user_func( 'json_encode', $args ) ); } }
Upload Files
Cancel
Upload
Create New
Cancel
Create
Change Permissions
Cancel
Save
Change Date
Cancel
Save
Rename Item
Cancel
Save
Confirm Delete
Are you sure you want to delete the selected items?
Cancel
Delete