added some phpdoc

This commit is contained in:
Fabien Potencier 2010-06-16 15:45:20 +02:00
parent 3b4efe52cb
commit dc18e54130
3 changed files with 95 additions and 18 deletions

View File

@ -37,16 +37,37 @@ class Profiler implements \ArrayAccess
$this->collectors = array();
}
/**
* Clones the Profiler instance.
*/
public function __clone()
{
$this->profilerStorage = clone $this->profilerStorage;
}
/**
* Returns a new Profiler for the given Response.
*
* @param Symfony\Components\HttpKernel\Response $response A Response instance
*
* @return Symfony\Components\HttpKernel\Profiler\Profiler A new Profiler instance
*/
public function load(Response $response)
{
return $this->getProfilerForToken($response->headers->get('X-Debug-Token'));
if (!$token = $response->headers->get('X-Debug-Token')) {
return null;
}
return $this->getProfilerForToken($token);
}
/**
* Returns a new Profiler for the given token.
*
* @param string $token A token
*
* @return Symfony\Components\HttpKernel\Profiler\Profiler A new Profiler instance
*/
public function getProfilerForToken($token)
{
$profiler = clone $this;
@ -56,6 +77,11 @@ class Profiler implements \ArrayAccess
return $profiler;
}
/**
* Collects data for the given Response.
*
* @param Symfony\Components\HttpKernel\Response $response A Response instance
*/
public function collect(Response $response)
{
$this->response = $response;
@ -78,6 +104,9 @@ class Profiler implements \ArrayAccess
}
}
/**
* Loads the data stored in the storage for all collectors.
*/
public function loadCollectorData()
{
try {
@ -91,39 +120,78 @@ class Profiler implements \ArrayAccess
}
}
/**
* Gets the profiler storage.
*
* @return Symfony\Components\HttpKernel\Profiler\ProfilerStorage A ProfilerStorage instance
*/
public function getProfilerStorage()
{
return $this->profilerStorage;
}
/**
* Gets the Response.
*
* @return Symfony\Components\HttpKernel\Response A Response instance
*/
public function getResponse()
{
return $this->response;
}
/**
* Gets the Collectors associated with this profiler.
*
* @return array An array of collectors
*/
public function getCollectors()
{
return $this->collectors;
}
/**
* Sets the Collectors associated with this profiler.
*
* @param array $collectors An array of collectors
*/
public function setCollectors(array $collectors = array())
{
$this->collectors = array();
foreach ($collectors as $name => $collector) {
$this->setCollector($name, $collector);
$this->addCollector($collector);
}
}
public function setCollector($name, DataCollectorInterface $collector)
/**
* Adds a Collector.
*
* @param Symfony\Components\HttpKernel\Profiler\DataCollector\DataCollectorInterface $collector A DataCollectorInterface instance
*/
public function addCollector(DataCollectorInterface $collector)
{
$this->collectors[$name] = $collector;
$this->collectors[$collector->getName()] = $collector;
}
/**
* Returns true if a Collector for the given name exists.
*
* @param string $name A collector name
*/
public function hasCollector($name)
{
return isset($this->collectors[$name]);
}
/**
* Gets a Collector by name.
*
* @param string $name A collector name
*
* @return Symfony\Components\HttpKernel\Profiler\DataCollector\DataCollectorInterface A DataCollectorInterface instance
*
* @throws \InvalidArgumentException if the collector does not exist
*/
public function getCollector($name)
{
if (!isset($this->collectors[$name])) {
@ -134,11 +202,11 @@ class Profiler implements \ArrayAccess
}
/**
* Returns true if the named field exists.
* Returns true if the named collector exists.
*
* @param string $name The field name
* @param string $name The collector name
*
* @param Boolean true if the field exists, false otherwise
* @param Boolean true if the collector exists, false otherwise
*/
public function offsetExists($name)
{
@ -146,11 +214,11 @@ class Profiler implements \ArrayAccess
}
/**
* Gets the value of a field.
* Gets a collector.
*
* @param string $name The field name
* @param string $name The collector name
*
* @throws \InvalidArgumentException if the field does not exist
* @throws \InvalidArgumentException if the collector does not exist
*/
public function offsetGet($name)
{
@ -158,25 +226,27 @@ class Profiler implements \ArrayAccess
}
/**
* Sets the value of a field.
* Unimplemented.
*
* @param string $name The field name
* @param string|array $value The value of the field
* @param string $name The collector name
* @param string|array $value The collector
*
* @throws \InvalidArgumentException if the field does not exist
* @throws \LogicException
*/
public function offsetSet($name, $value)
{
throw new \LogicException('The Collectors cannot be set.');
throw new \LogicException('A Collector cannot be set.');
}
/**
* Unimplemented.
*
* @param string $name The field name
* @param string $name The collector name
*
* @throws \LogicException
*/
public function offsetUnset($name)
{
throw new \LogicException('The Collectors cannot be removed.');
throw new \LogicException('A Collector cannot be removed.');
}
}

View File

@ -24,6 +24,13 @@ use Symfony\Components\HttpKernel\Response;
*/
abstract class WebTestCase extends BaseWebTestCase
{
/**
* Gets a profiler for the given Response.
*
* @param Symfony\Components\HttpKernel\Response $response A Response instance
*
* @return Symfony\Components\HttpKernel\Profiler\Profiler A Profiler instance
*/
public function getProfiler(Response $response)
{
$container = $this->kernel->getContainer();

View File

@ -25,7 +25,7 @@ class LoaderExtensionTest extends \PHPUnit_Framework_TestCase
$this->fail('->load() throws an InvalidArgumentException if the tag does not exist');
} catch (\Exception $e) {
$this->assertInstanceOf('\InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if the tag does not exist');
$this->assertEquals('The tag "foo" is not defined in the "http://www.example.com/schema/project" extension.', $e->getMessage(), '->load() throws an InvalidArgumentException if the tag does not exist');
$this->assertEquals('The tag "project:foo" is not defined in the "project" extension.', $e->getMessage(), '->load() throws an InvalidArgumentException if the tag does not exist');
}
$config = $extension->load('bar', array('foo' => 'bar'), new BuilderConfiguration());