for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Kelemen\ApiNette\Logger;
use Kelemen\ApiNette\Handler\BaseHandler;
use Kelemen\ApiNette\Logger\Storage\LoggerStorageInterface;
use Kelemen\ApiNette\Response\ApiResponse;
use Kelemen\ApiNette\Route\ResolvedRoute;
use Nette\Http\Request;
class Logger
{
/** @var LoggerStorageInterface */
private $storage;
/** @var Request */
private $httpRequest;
/** @var ResolvedRoute */
private $resolvedRoute;
/** @var BaseHandler */
private $handler;
/** @var int */
private $start = 0;
/**
* @param Request $httpRequest
* @param LoggerStorageInterface $storage
*/
public function __construct(Request $httpRequest, LoggerStorageInterface $storage)
$this->httpRequest = $httpRequest;
$this->storage = $storage;
}
* @param ResolvedRoute $resolvedRoute
public function setResolvedRoute(ResolvedRoute $resolvedRoute)
$this->resolvedRoute = $resolvedRoute;
* @param BaseHandler $handler
public function setHandler(BaseHandler $handler)
$this->handler = $handler;
* Start logging
public function start()
$this->start = microtime(true);
$start
integer
microtime(true)
double
This check looks for assignments to scalar types that may be of the wrong type.
To ensure the code behaves as expected, it may be a good idea to add an explicit type cast.
$answer = 42; $correct = false; $correct = (bool) $answer;
* Finish logging
* @param ApiResponse $response
public function finish(ApiResponse $response)
$this->storage->store(
$this->httpRequest,
$response,
round((microtime(true) - $this->start) * 1000),
$this->resolvedRoute,
$this->handler
);
This check looks for assignments to scalar types that may be of the wrong type.
To ensure the code behaves as expected, it may be a good idea to add an explicit type cast.