| 
<?php/**
 * This file is part of the PageCache package.
 *
 * @author Muhammed Mamedov <[email protected]>
 * @copyright 2016
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
 
 /**
 *
 * Example configuration file
 *
 * Sample config array with all possible values.
 * Copy this configuration file to your local location and edit values that you need.
 *
 * You do not need to copy this config file and use it, you could set up all parameters directly inside code.
 * If you have caching enabled on several pages, and do not want to repeat cache settings, then config file is for you.
 *
 * Options `file_lock`, `cache_path` and `min_cache_file_size` are ignored if custom PSR-16 SimpleCache adapter is used.
 *
 * NOTE: Parameters defined here in $config array are used by all pages using PageCache within you application.
 *       You can override any of these settings in your code.
 *
 * Feel free to comment out any settings you don't need.
 *
 */
 return [
 
 /**
 * Minimum cache file size.
 * Generated cache files less than this many bytes, are considered invalid and are regenerated
 * Default 10
 */
 'min_cache_file_size' => 10,
 
 /**
 * Set true to enable logging, not recommended for production use, only for debugging
 * Default: false
 *
 * Effects both internal logger, and any external PSR-3 logger (if any) activated via setLogger() method
 */
 'enable_log' => false,
 
 /**
 * Internal log file location, enable_log must be true for logging to work
 * When external logger is provided via setLogger(), internal logging is disabled.
 */
 'log_file_path' => __DIR__ . '/log/cache.log',
 
 /**
 * Current page's cache expiration in seconds.
 * Default: 20 minutes, 1200 seconds.
 */
 'cache_expiration_in_seconds' => 1200,
 
 /**
 * Cache directory location (mind the trailing slash "/").
 * Cache files are saved here.
 */
 'cache_path' => __DIR__ . '/cache/',
 
 /**
 * Use session support, if you have a login area or similar.
 * When page content changes according to some Session value, although URL remains the same.
 * Disabled by default.
 */
 'use_session' => false,
 
 /**
 * Exclude $_SESSION key(s) from caching strategies. Pass session name as keys to the array.
 *
 * When to use: Your application changes $_SESSION['count'] variable, but that doesn't reflect on the page
 *              content. Exclude this variable, otherwise PageCache will generate seperate cache files for each
 *              value of $_SESSION['count] session variable.
 *              Example: 'session_exclude_keys'=>array('count')
 */
 'session_exclude_keys' => [],
 
 /**
 *
 * Locking mechanism to use when writing cache files. Default is LOCK_EX | LOCK_NB, which locks for
 * exclusive write while being non-blocking. Set whatever you want.
 * Read for details (http://php.net/manual/en/function.flock.php)
 *
 * Set file_lock = false to disable file locking.
 */
 'file_lock' => LOCK_EX | LOCK_NB,
 
 /**
 * Send appropriate HTTP cache related headers in response or not.
 * When true headers are sent, when false not being sent.
 *
 * When set to true:
 * First call to your URL results in HTTP Response code 200.
 * Consequent calls, until page expiration, will result in 304 Not Modified.
 * When 304 is being returned, no content is retrieved from the server.
 * This makes your application load super fast - cached content comes from web browser.
 */
 'send_headers' => false,
 
 /**
 * Use Last-Modified and ETag values generated by application or not.
 * Values will be fetched from the current response.
 */
 'forward_headers' => false,
 
 /**
 * Dry Run Mode.
 * When enabled no cache headers will be sent, no cache output will be sent.
 * Cache items will be saved.
 * Use this to test system.
 */
 'dry_run_mode' =>false
 ];
 
 |