cloud-castle / opcache
Объектная обёртка над расширением Zend OPcache для PHP 8.1+: сброс, инвалидация, прогрев кэша байткода, чтение состояния и конфигурации.
Requires
- php: >=8.1
Requires (Dev)
- deptrac/deptrac: ^3.0 || ^4.0
- ergebnis/composer-normalize: ^2.45
- friendsofphp/php-cs-fixer: ^3.75
- icanhazstring/composer-unused: ^0.9
- infection/infection: ^0.29 || ^0.33
- php-parallel-lint/php-parallel-lint: ^1.4
- phpmd/phpmd: ^2.15
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^1.12 || ^2.1
- phpstan/phpstan-deprecation-rules: ^1.2 || ^2.0
- phpstan/phpstan-phpunit: ^1.4 || ^2.0
- phpstan/phpstan-strict-rules: ^1.6 || ^2.0
- phpunit/phpunit: ^10.5 || ^11.5
- psalm/plugin-phpunit: ^0.19 || ^0.20
- rector/rector: ^1.2 || ^2.0
- roave/security-advisories: dev-latest
- squizlabs/php_codesniffer: ^3.12 || ^4.0
- vimeo/psalm: ^6.0
- webmozart/assert: ^1.11
This package is auto-updated.
Last update: 2026-07-29 09:11:55 UTC
README
🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano
CloudCastle Opcache
Объектная обёртка над расширением Zend OPcache: сброс, инвалидация, прогрев кэша байткода, чтение состояния и конфигурации — с типобезопасными value-объектами вместо «сырых» ассоциативных массивов.
Установка
composer require cloud-castle/opcache
Требуется PHP 8.1+ и расширение Zend OPcache.
Быстрый старт
<?php
use CloudCastle\Opcache\Opcache;
$opcache = new Opcache();
if ($opcache->isEnabled()) {
$status = $opcache->status();
echo $status->cachedScripts(); // число закэшированных скриптов
echo $status->hitRate(); // доля попаданий, %
$opcache->compile('/app/src/Kernel.php'); // прогрев кэша
$opcache->invalidate('/app/src/Kernel.php', force: true);
$opcache->reset(); // полный сброс кэша байткода
}
echo $opcache->configuration()->memoryConsumption(); // МБ под кэш
Возможности
isEnabled()— включён ли OPcache в текущем процессе.reset()— полный сброс кэша байткода.invalidate($file, $force)— инвалидация конкретного скрипта.compile($file)— компиляция файла в кэш (прогрев).isCached($file)— закэширован ли скрипт.status()— снимок состояния (Status): память, число скриптов, попадания/промахи, доля попаданий.configuration()— ключевые директивы (Configuration): объём памяти, лимит файлов, частота ревалидации, версия.
Неудачные операции и выключенный OPcache сигнализируются исключением
OpcacheException — без «тихих» false.
Разработка
composer install
composer check # линтеры + статический анализ + тесты
composer fix # автоисправления (Rector, PHP CS Fixer, PHPCBF)
composer ci # полный CI-пайплайн локально
Полный список команд с описаниями: composer run-script --list.
Документация
- Репозиторий: https://gitverse.ru/cloud-castle/opcache
- История изменений: CHANGELOG.md
- Как внести вклад: CONTRIBUTING.md
- Кодекс поведения: CODE_OF_CONDUCT.md
- Политика безопасности: SECURITY.md
Лицензия
MIT © CloudCastle (alex-4-17@yandex.ru)
🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano