for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace MuhmdRaouf\LaravelParatest\Database\Schema;
use MuhmdRaouf\LaravelParatest\Database\Connector;
class Builder
{
public function __construct(Connector $connector, GrammarFactory $grammars)
$this->connector = $connector;
connector
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;
$this->grammars = $grammars;
grammars
}
public function createDatabase(array $options)
$driver = $options['driver'];
$grammar = $this->grammars->make($driver);
return $this->connector->exec(
$grammar->compileCreateDatabase($options)
);
public function dropDatabase(array $options)
$database = $options['database'];
$grammar->compileDropDatabase($database)
public function recreateDatabase(array $options): void
$this->dropDatabase($options);
$this->createDatabase($options);
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: