for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace {
use Utils\Map;
class Dispatcher extends System {
# Dispatcher handle method
public function handle() {
# Check installation
if (!$this->installed) Request::redirect(INSTALL_PATH . '/install.php');
# Connect to database
DB::connect(...array_values($this->database));
connect()
$user
array_values($this->database)
array<integer,?>
string
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example:
function acceptsInteger($int) { } $x = '123'; // string "123" // Instead of acceptsInteger($x); // we recommend to use acceptsInteger((integer) $x);
# Get handler by requested url
$handler = (new Map())->handler($url = new Url(Request::get('url')));
# Determine handler class
$class = ((false !== $handler) ? ('Handlers\\' . $handler) : 'Handlers\Site\Page');
# ------------------------
new $class($url);
}