private function saveData()
 {
     $fileName = md5($this->_fc->getQuery()) . ".cache";
     if (!file_exists(ROOT . DIRECTORY_SEPARATOR . self::CACHE_DIR . DIRECTORY_SEPARATOR . $fileName)) {
         $data = serialize($this->data);
         file_put_contents(ROOT . DIRECTORY_SEPARATOR . self::CACHE_DIR . DIRECTORY_SEPARATOR . $fileName, $data);
     }
 }
 private function saveData($data)
 {
     $fileName = md5($this->_fc->getQuery()) . ".cache";
     $currTime = time();
     if (!file_exists(ROOT . DIRECTORY_SEPARATOR . self::CACHE_DIR . DIRECTORY_SEPARATOR . $fileName)) {
         $data = serialize($data);
         file_put_contents(ROOT . DIRECTORY_SEPARATOR . self::CACHE_DIR . DIRECTORY_SEPARATOR . $fileName, $data);
     } else {
         $fileTime = filemtime($fileName);
         if ($currTime - 3600 * 24 * 2 < $fileTime) {
             $data = serialize($data);
             file_put_contents(ROOT . DIRECTORY_SEPARATOR . self::CACHE_DIR . DIRECTORY_SEPARATOR . $fileName, $data);
         }
     }
 }
 public static function getInstance()
 {
     if (!self::$_instance instanceof self) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
Ejemplo n.º 4
0
<?php

define('HOME', 'http://' . $_SERVER['HTTP_HOST']);
define('ROOT', dirname(__FILE__));
date_default_timezone_set("Europe/Kiev");
error_reporting(E_ALL);
set_include_path(get_include_path() . PATH_SEPARATOR . 'application/controllers' . PATH_SEPARATOR . 'application/models' . PATH_SEPARATOR . 'application/utilities' . PATH_SEPARATOR . 'application/views');
function auto($class)
{
    require_once $class . '.php';
}
spl_autoload_register('auto');
try {
    /** @var FrontApiController $api */
    $api = FrontApiController::getInstance();
    $cacheData = BaseApiController::getDataFromCache($api->getQuery());
    if ($cacheData !== null) {
        $status = 200;
        header("HTTP/1.1 " . $status . " OK");
        header('Content-Type: application/json; charset=utf-8');
        header('Access-Control-Allow-Origin: *');
        header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept');
        header('Access-Control-Allow-Credentials: true');
        header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS");
        echo json_encode($cacheData, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
    } else {
        $db = new PDO("mysql:dbname=rozklad;host=localhost", "wapweb", "1111");
        $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $db->query("SET NAMES utf8");
        Registry::set('db', $db);
        echo $api->processApi();