How can PHP developers optimize their code to minimize the impact on external servers when fetching data dynamically?

When fetching data dynamically in PHP, developers can optimize their code by implementing caching mechanisms to reduce the impact on external servers. By storing fetched data locally and setting expiration times, subsequent requests can be served from the cache instead of making repeated calls to the external server. This can help improve performance and reduce the load on external servers.

// Check if cached data is available and not expired
$cache_file = 'cached_data.json';
$cache_expiration = 3600; // 1 hour
if (file_exists($cache_file) && time() - filemtime($cache_file) < $cache_expiration) {
    $data = file_get_contents($cache_file);
} else {
    // Fetch data from external server
    $data = file_get_contents('http://external-server.com/data');
    
    // Save fetched data to cache file
    file_put_contents($cache_file, $data);
}

// Process the fetched data
// (e.g. decode JSON, extract relevant information, etc.)