1. Go to this page and download the library: Download sci/assert 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/ */
sci / assert example snippets
function foobar($values)
{
foreach ($values as $value) {
// ...
}
}
$a = array(1, 2, 3);
$b = new \ArrayIterator($a);
$c = 'not that iterable';
foobar($a); // fine
foobar($b); // fine, too
foobar($c); // Invalid argument supplied for foreach()
function foobar($values)
{
if (!is_array($values) && !$values instanceof \Traversable) {
throw new \InvalidArgumentException(/* ... */);
}
// ...
}
use Sci\Assert\Assert;
function foobar($values)
{
Assert::that($values)->isTraversable();
// ...
}
use Sci\Assert\Assert;
// be it a string, matching a regular expression
Assert::that($value)->isString()->machesRegExp('/[A-Z][a-z+]/');
// be it a collection of strings, matching a regular expression
Assert::that($values)->all()->isString()->machesRegExp('/[A-Z][a-z+]/');
// be it a \DateTime and in year 2015 ('2015-01-01' <= $date < '2016-01-01')
Assert::that($date)
->isInstanceOf('\DateTime')
->greaterThanOrEqual(new \DateTime('2015-01-01'))
->lessThan(new \DateTime('2016-01-01'));
// ... or, in a different way:
Assert::that($date)
->isInstanceOf('\DateTime')
->between(new \DateTime('2015-01-01 00:00:00'), new \DateTime('2015-12-31 23:59:59'));
// be it a collection of \DateTime objects, each beeing in future
Assert::that($dates)->all()->isInstanceOf('\DateTime')->greaterThan(new \DateTime('now'));
// be it null, or a collection ...
Assert::that($dates)->nullOr()->isInstanceOf('\DateTime');
use Sci\Assert\NumberAssert;
NumberAssert::that(3.1415)->equal(M_PI, .001);
NumberAssert::that(997)->prime();
use Sci\Assert\NumberAssert as Assert;
Assert::that(3.1415)->equal(M_PI, .001);
Assert::that(997)->prime();
use Sci\Assert\Assert;
// base assertions
Assert::that($value)->isString();
Assert::that($value)->isInteger();
Assert::that($value)->isNumeric();
Assert::that($value)->isScalar();
Assert::that($value)->isResource();
Assert::that($value)->isTrue();
Assert::that($value)->isTraversable();
Assert::that($value)->isInstanceOf('\DateTime');
// comparison assertions
Assert::that($value)->equal($valueRepeated);
Assert::that($value)->strictEqual($valueRepeated);
Assert::that($value)->lessThan(10); // Assert::that($value)->lt(10);
Assert::that($value)->lessThanOrEqual(10); // Assert::that($value)->lte(10);
Assert::that($value)->greaterThan(10); // Assert::that($value)->gt(10);
Assert::that($value)->greaterThanOrEqual(10); // Assert::that($value)->gte(10);
Assert::that($value)->between(10, 20); // same as Assert::that($value)->gte(10)->lte(20);
Assert::that($value)->between('aaaa', 'bbbbb');
// string assertions
Assert::that($value)->hasMinLength(8);
Assert::that($value)->matches('/^[A-Z][a-z]+$/');
// meta assertions
Assert::that($value)->all()->isString();
Assert::that($value)->nullOr()->isString();
use Sci\Assert\StringAssert;
StringAssert::that($value)->isIpAddress();
StringAssert::that($value)->isIpAddress(FILTER_FLAG_IPV4);
StringAssert::that($value)->isUrl(FILTER_FLAG_QUERY_REQUIRED | FILTER_FLAG_PATH_REQUIRED);
StringAssert::that($value)->isEmail();
StringAssert::that($value)->isMac();
use Sci\Assert\FileSystemAssert;
FileSystemAssert::that($filename)->exists();
FileSystemAssert::that($filename)->isFile();
FileSystemAssert::that($filename)->isDir();
FileSystemAssert::that($filename)->isLink();
\Assert\that(1)->integer()->min(-10)->max(10);
use Sci\Assert\Assert;
Assert::that(1)->isInteger()->greaterThanOrEqual(-10)->lessThanOrEqual(10);
Assert::that(1)->isInteger()->gte(-10)->lte(10);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.