for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Tonysm\LaravelParatest\Database;
use PDO;
class PDOConnector implements Connector
{
public function __construct(PDO $pdo)
$this->pdo = $pdo;
pdo
In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:
class MyClass { } $x = new MyClass(); $x->foo = true;
Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion:
class MyClass { public $foo; } $x = new MyClass(); $x->foo = true;
}
public static function make(array $configs): PDOConnector
$host = sprintf(
'%s:host=%s',
$configs['driver'],
$configs['host'] ?? '127.0.0.1'
);
$pdo = new PDO($host, $configs['username'], $configs['password']);
return new static($pdo);
/**
* @param string $sql
*
* @return mixed whatever the actual implementation returns, depending on the connector
*/
public function exec(string $sql)
return $this->pdo->exec($sql);
In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:
Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion: