jlchassaing/cdn-purger
Composer 安装命令:
composer require jlchassaing/cdn-purger
包简介
Symfony bundle to send purge requests to CDN APIs
README 文档
README
Symfony 7 bundle pour envoyer des requêtes de purge à des APIs CDN.
Installation
composer require jlchassaing/cdn-purger
Enregistrer le bundle dans config/bundles.php :
return [ // ... CdnPurge\CdnPurgeBundle::class => ['all' => true], ];
Configuration
Créer config/packages/cdn_purge.yaml :
cdn_purge: default_connector: cloudflare # null = tous les connecteurs actifs connectors: cloudflare: enabled: true zone_id: '%env(CLOUDFLARE_ZONE_ID)%' api_token: '%env(CLOUDFLARE_API_TOKEN)%' # recommandé # email: '%env(CLOUDFLARE_EMAIL)%' # alternative # api_key: '%env(CLOUDFLARE_API_KEY)%' # alternative
Variables d'environnement dans .env :
CLOUDFLARE_ZONE_ID=abc123def456 CLOUDFLARE_API_TOKEN=your_token_here
Utilisation
Via le service PurgeManager
use CdnPurge\Service\PurgeManager; class MyController { public function __construct(private PurgeManager $purgeManager) {} public function clearCache(): void { // Purger des URLs spécifiques $this->purgeManager->purge([ 'https://example.com/page-1', 'https://example.com/page-2', ]); // Purger tout le cache $this->purgeManager->purgeAll(); // Cibler un connecteur précis $this->purgeManager->purge(['https://example.com/'], 'cloudflare'); } }
Via la commande CLI
# Purger des URLs php bin/console cdn:purge https://example.com/page-1 https://example.com/page-2 # Purger tout le cache php bin/console cdn:purge --all # Cibler un connecteur précis php bin/console cdn:purge --connector=cloudflare --all
Ajouter un connecteur personnalisé
Implémenter ConnectorInterface :
use CdnPurge\Connector\ConnectorInterface; use CdnPurge\Exception\PurgeException; class AkamaiConnector implements ConnectorInterface { public function getName(): string { return 'akamai'; } public function purge(array $urls): void { // ... appel API Akamai } public function purgeAll(): void { // ... appel API Akamai } }
Déclarer le service (avec autowiring activé, le tag est ajouté automatiquement) :
# config/services.yaml services: App\Cdn\AkamaiConnector: arguments: $apiUrl: '%env(AKAMAI_API_URL)%' $clientToken: '%env(AKAMAI_CLIENT_TOKEN)%'
Le connecteur est détecté automatiquement grâce à l'autoconfiguration.
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-06-19