mapado / cache-info-bundle
此包已废弃,不再维护。未建议替代包。
基于Symfony框架的Http缓存信息
v1.0.1
2016-01-12 10:42 UTC
Requires
- symfony/console: ^2.7
- symfony/framework-bundle: ^2.7
This package is auto-updated.
Last update: 2023-09-15 20:34:02 UTC
README
此包为Symfony项目添加了一个简单命令,用于输出HTTP缓存信息。
安装
composer require mapado/cache-info-bundle
// AppKernel.php $bundles = array( ... new Mapado\CacheInfoBundle\MapadoCacheInfoBundle(), );
使用方法
php app/console mapado:http-cache:list
输出缓存设置的详细信息列表
+------------------------------------------------------------------------------+----------------+---------+ | route + pattern | private | ttl | +------------------------------------------------------------------------------+----------------+---------+ | my_route | public | 6h | | /my/route | | | +------------------------------------------------------------------------------+----------------+---------+ | another route | public | 1d | | /another/route | | | +------------------------------------------------------------------------------+----------------+---------+ | a private route | private | null | | /private | | | +------------------------------------------------------------------------------+----------------+---------+ | a complex cache route | public|private | 4h|null | | /complex | | | +------------------------------------------------------------------------------+----------------+---------+
缓存时间定义
默认情况下,此命令利用Sensio框架包的@Cache
注解功能。它也可以很好地与路由缓存定义(对于FrameworkBundle:Template:template
路由)一起工作。
复杂路由缓存 | 手动缓存设置
如果您有复杂的路由缓存,或者手动调用$response->setSMaxAge()
和$response->setPublic()
,则需要使用@CacheMayBe
注解。
示例
use Mapado\CacheInfoBundle\Annotation\CacheMayBe; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Cache; class FooController { /** * @CacheMayBe(values={@Cache(public=true, smaxage="14400"), @Cache(public=false)}) */ public function complexRouteAction() { $isPublic = // determine if your route is public ... $response->setPublic($isPublic); if ($isPublic) { $response->setSMaxAge(14400); } return $response; } }
如果您不这样做,该路由将被标记为private