Размер файла: 5.38Kb
- <?php
-
- /*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
- namespace Symfony\Component\HttpKernel\Profiler;
-
- use Symfony\Component\HttpKernel\DataCollector\DataCollectorInterface;
-
- /**
- * Profile.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
- class Profile
- {
- private $token;
-
- /**
- * @var DataCollectorInterface[]
- */
- private $collectors = array();
-
- private $ip;
- private $method;
- private $url;
- private $time;
- private $statusCode;
-
- /**
- * @var Profile
- */
- private $parent;
-
- /**
- * @var Profile[]
- */
- private $children = array();
-
- /**
- * Constructor.
- *
- * @param string $token The token
- */
- public function __construct($token)
- {
- $this->token = $token;
- }
-
- /**
- * Sets the token.
- *
- * @param string $token The token
- */
- public function setToken($token)
- {
- $this->token = $token;
- }
-
- /**
- * Gets the token.
- *
- * @return string The token
- */
- public function getToken()
- {
- return $this->token;
- }
-
- /**
- * Sets the parent token.
- *
- * @param Profile $parent
- */
- public function setParent(Profile $parent)
- {
- $this->parent = $parent;
- }
-
- /**
- * Returns the parent profile.
- *
- * @return self
- */
- public function getParent()
- {
- return $this->parent;
- }
-
- /**
- * Returns the parent token.
- *
- * @return null|string The parent token
- */
- public function getParentToken()
- {
- return $this->parent ? $this->parent->getToken() : null;
- }
-
- /**
- * Returns the IP.
- *
- * @return string The IP
- */
- public function getIp()
- {
- return $this->ip;
- }
-
- /**
- * Sets the IP.
- *
- * @param string $ip
- */
- public function setIp($ip)
- {
- $this->ip = $ip;
- }
-
- /**
- * Returns the request method.
- *
- * @return string The request method
- */
- public function getMethod()
- {
- return $this->method;
- }
-
- public function setMethod($method)
- {
- $this->method = $method;
- }
-
- /**
- * Returns the URL.
- *
- * @return string The URL
- */
- public function getUrl()
- {
- return $this->url;
- }
-
- public function setUrl($url)
- {
- $this->url = $url;
- }
-
- /**
- * Returns the time.
- *
- * @return string The time
- */
- public function getTime()
- {
- if (null === $this->time) {
- return 0;
- }
-
- return $this->time;
- }
-
- public function setTime($time)
- {
- $this->time = $time;
- }
-
- /**
- * @param int $statusCode
- */
- public function setStatusCode($statusCode)
- {
- $this->statusCode = $statusCode;
- }
-
- /**
- * @return int
- */
- public function getStatusCode()
- {
- return $this->statusCode;
- }
-
- /**
- * Finds children profilers.
- *
- * @return self[]
- */
- public function getChildren()
- {
- return $this->children;
- }
-
- /**
- * Sets children profiler.
- *
- * @param Profile[] $children
- */
- public function setChildren(array $children)
- {
- $this->children = array();
- foreach ($children as $child) {
- $this->addChild($child);
- }
- }
-
- /**
- * Adds the child token.
- *
- * @param Profile $child
- */
- public function addChild(Profile $child)
- {
- $this->children[] = $child;
- $child->setParent($this);
- }
-
- /**
- * Gets a Collector by name.
- *
- * @param string $name A collector name
- *
- * @return DataCollectorInterface A DataCollectorInterface instance
- *
- * @throws \InvalidArgumentException if the collector does not exist
- */
- public function getCollector($name)
- {
- if (!isset($this->collectors[$name])) {
- throw new \InvalidArgumentException(sprintf('Collector "%s" does not exist.', $name));
- }
-
- return $this->collectors[$name];
- }
-
- /**
- * Gets the Collectors associated with this profile.
- *
- * @return DataCollectorInterface[]
- */
- public function getCollectors()
- {
- return $this->collectors;
- }
-
- /**
- * Sets the Collectors associated with this profile.
- *
- * @param DataCollectorInterface[] $collectors
- */
- public function setCollectors(array $collectors)
- {
- $this->collectors = array();
- foreach ($collectors as $collector) {
- $this->addCollector($collector);
- }
- }
-
- /**
- * Adds a Collector.
- *
- * @param DataCollectorInterface $collector A DataCollectorInterface instance
- */
- public function addCollector(DataCollectorInterface $collector)
- {
- $this->collectors[$collector->getName()] = $collector;
- }
-
- /**
- * Returns true if a Collector for the given name exists.
- *
- * @param string $name A collector name
- *
- * @return bool
- */
- public function hasCollector($name)
- {
- return isset($this->collectors[$name]);
- }
-
- public function __sleep()
- {
- return array('token', 'parent', 'children', 'collectors', 'ip', 'method', 'url', 'time', 'statusCode');
- }
- }