<?php

use DependencyInjector\DI;

require_once __DIR__ . '/memcache.php';

class DataProvider {
    public function getSomeData() {
        $key = "SomeMemcacheKey";

        // before it was untestable
        // $cache = getMemcache();

        /** @var Memcached $cache */
        $cache = DI::get('memcache');

        $results = $cache->get($key);
        if (!$results) {

            // before it was untestable
            // $database = new DatabaseObject();

            /** @var DatabaseObject $database */
            $database = DI::get('database');

            $sql = "SELECT * FROM someDatabase.someTable";
            $results = $database->query($sql);

            $cache->set($key, $results);
        }

        return $results;
    }
}