waRedisCacheAdapter, почему не работает?

Пишу небольшой адаптер под Redis, чтобы не пользоваться memcached-ом. Написал все по аналогии с memcached-ом, закомментил все строчки в файле index.php (точка входа во фреймворк), написал свой тестовый пример:

<?php
$redis = new Redis;
$redis->pconnect('127.0.0.1');
$redis->set('test', 'Test works');
echo $redis->get('test');
$redis->flushAll();

Все работает отлично, надпись выводится.

Далее, в файле cache.php делаю так:

<?php
return array(
    'default' => array(
        'type' => 'redis',
    ),
);

В итоге, должен заинклюдится файл waRedisCacheAdapter.class.php и вызваться класс waRedisCacheAdapter. Я получаю вот такую ошибку:

Fatal error: Uncaught Error: Class 'waRedisCacheAdapter' not found in C:\OpenServer\domains\shopscript.local\wa-system\config\waAppConfig.class.php:66 Stack trace: #0 C:\OpenServer\domains\shopscript.local\wa-system\waSystem.class.php(254): waAppConfig->getCache('default') #1 C:\OpenServer\domains\shopscript.local\wa-system\routing\waRouting.class.php(254): waSystem->getCache() #2 C:\OpenServer\domains\shopscript.local\wa-system\routing\waRouting.class.php(298): waRouting->getPageRoutes('shop', Array) #3 C:\OpenServer\domains\shopscript.local\wa-system\routing\waRouting.class.php(213): waRouting->getAppRoutes('shop', Array, true) #4 C:\OpenServer\domains\shopscript.local\wa-system\waSystem.class.php(572): waRouting->dispatch() #5 C:\OpenServer\domains\shopscript.local\index.php(7): waSystem->dispatch() #6 {main} thrown in C:\OpenServer\domains\shopscript.local\wa-system\config\waAppConfig.class.php on line 66

Сам файл лежит по пути:

wa-system/cache/adapters/waRedisCacheAdapter.class.php

Вот его содержимое:


<?php

class waRedisCacheAdapter extends waCacheAdapter
{
    /**
     * @var Redis
     */
    protected static $redis;

    protected function init()
    {
        if (!self::$redis) {
            self::$redis = new Redis;
            self::$redis->pconnect('127.0.0.1', 6379);
        }
    }

    public function key($key, $app_id, $group = null)
    {
        return (isset($this->options['namespace']) ? $this->options['namespace'] . '/' : '') . parent::key($key, $app_id . $group);
    }

    public function get($key)
    {
        return self::$redis->get($key);
    }

    public function set($key, $value, $expiration = null, $group = null)
    {
        return self::$redis->set($key, $value, $expiration);
    }

    public function delete($key)
    {
        return self::$redis->delete($key);
    }

    public function deleteGroup($group)
    {
        return self::$redis->flushAll();
    }

    public function deleteAll()
    {
        return self::$redis->flushAll();
    }
}

Сам адаптер - простецкий стартовый адаптер, лишь бы проверить зацеп так сказать. Мне главное чтобы фреймворк подцепил сам файл, работу методов потом причешу. В чем может быть проблема?

P.S. Пробовал на своей VPS поднимать Redis, там линукс и все дела, и все тоже самое: тестовый сниппет кода отрабатывает, а вот фреймворк почему то выдает ошибку.

Подскажите, куда смотреть?

2 ответа

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите