knplabs/php-valid

此包已被弃用且不再维护。未建议替代包。

一个 HTTP 缓存验证工具包

dev-master / 0.x-dev 2013-10-15 16:08 UTC

This package is auto-updated.

Last update: 2022-09-23 13:38:22 UTC


README

什么是

一个用于管理 HTTP/1.1 缓存验证头部的 php 5.3+ 库,使用 symfony/HttpFoundation 层。

为什么

因为没有已知库可以提供一种干净、解耦的方式来管理它们。实际的 文档 只展示了脏控制器示例。

如何

通过观察请求并询问 Rule 实例,自上次客户端请求以来响应是否已更改,可以使用 If-Modified-Since 或 ETag 头。

安装

composer require "knplabs/valid=~0.1@dev"

使用

<?php

class CustomRule implements Knp\Valid\Rule\LastModified, Knp\Valid\Rule\ETag
{
    public function supports(Request $request)
    {
        return true;
    }

    public function getETag(Request $request)
    {
        return 'something';
    }

    public function getLastModified(Request $request)
    {
        return new \DateTime;
    }
}

$kernel = new AppCache(
    new Knp\Valid\Kernel(
        new AppKernel('prod', false),
        new Knp\Valid\ResponseManipulator(array(
            new Knp\Valid\Doctrine\ListenerRule,
            new CustomRule,
        ))
    )
);

$kernel->handle(Request::createFromGlobals())->send();

贡献

composer install --dev --prefer-dist

vim features/**/*.feature
behat
phpspec desc Knp\Valid\*
phpspec run