Как мне использовать Memcached в PHP с ООП. PHP: use \Memcached; class MineFrame { public static $memCache; public function __construct() { self::$AntiXss = new AntiXSS(); //self::$memCache = new Client('127.0.0.1', 11211); } public static $nameSpacesMap = [ Apps\MySQL::class => 'Apps\MySQL', ]; public static function setPatchMap ($name, $path) { self::$nameSpacesMap[$name] = $path; } public static function autoload ($class) { if (isset (self::$nameSpacesMap[$class])) $class = self::$nameSpacesMap[$class]; include dirname(__FILE__) . DIRECTORY_SEPARATOR . strtr($class, '\\', DIRECTORY_SEPARATOR) . '.php'; } public static function test() { (new Memcached)->add('ADMIN', 1455151); (new Memcached)->get('ADMIN'); } } И когда я делал MineFrame::test(); И выдает ошибку: Код (Text): Warning: include(D:\OSPanel\domains\n.ru\system\Memcached.php): failed to open stream: No such file or directory in D:\OSPanel\domains\n.ru\system\Base.php on line 50 Warning: include(): Failed opening 'D:\OSPanel\domains\n.ru\system\Memcached.php' for inclusion (include_path='.;d:/ospanel/modules/php/PHP-7.1-x64;d:/ospanel/modules/php/PHP-7.1-x64/PEAR/pear') in D:\OSPanel\domains\n.ru\system\Base.php on line 50 Fatal error: Uncaught Error: Class 'Memcached' not found in D:\OSPanel\domains\n.ru\system\Base.php:61 Stack trace: #0 D:\OSPanel\domains\n.ru\index.php(5): MineFrame\MineFrame::test() #1 {main} thrown in D:\OSPanel\domains\n.ru\system\Base.php on line 61
Выкрутился таким образом: PHP: public static function cache($type, ...$params) { return (new Client('127.0.0.1', 11211))->$type(...$params); }
ты сделал какую-то хрень, просто потом выкрутился каким-то левым образом, не связанным с ошибкой ты можешь оставить это дерьмо и возможно всё будет работать всегда и хорошо, а возможно ты огребёшь проблем в будущем. а можешь переделать всё на здоровую логику