1. Go to this page and download the library: Download serafim/dbc library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
serafim / dbc example snippets
use Serafim\Contracts\Runtime;
// Enable runtime contract assertions
Runtime::enable();
// Disable runtime contract assertions
Runtime::disable();
// Enable runtime contract assertions if PHP
// assertions are enabled or disable otherwise.
Runtime::auto();
use Serafim\Contracts\Runtime;
Runtime::listen('App\\Entity', 'App\\Http\\Controllers');
use Serafim\Contracts\Runtime;
Runtime::cache(__DIR__ . '/storage');
use Serafim\Contracts\Attribute\Invariant;
#[Invariant('$this->balance >= 0')]
class Account
{
private int $balance = 0;
public function deposit(int $amount): void
{
$this->balance += $amount + 1;
}
}
$account = new Account();
$account->deposit(42); // OK
$account->deposit(-666); // Serafim\Contracts\Exception\InvariantException: $this->balance >= 0
use Serafim\Contracts\Attribute\Verify;
use Serafim\Contracts\Attribute\Ensure;
class Math
{
#[Verify('x >= 0')]
#[Ensure('$result >= 0')]
public static function sqrt(float $x): float
{
// ...code
}
}
use Serafim\Contracts\Attribute\Verify;
use Serafim\Contracts\Attribute\Ensure;
class Math
{
public static function sqrt(float $x): float
{
if ($x < 0) {
throw new \Serafim\Contracts\Exception\PreconditionException('$x >= 0');
}
// ...code
if ($result < 0) {
throw new \Serafim\Contracts\Exception\PostconditionException('$result >= 0');
}
return $result;
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.