Пример #1
0
<!DOCTYPE html><link rel="stylesheet" href="data/style.css">

<h1>Using Extension Methods | dibi</h1>

<?php 
if (@(!(include __DIR__ . '/../vendor/autoload.php'))) {
    die('Install dependencies using `composer install --dev`');
}
Tracy\Debugger::enable();
dibi::connect(array('driver' => 'sqlite3', 'database' => 'data/sample.s3db'));
// using the "prototype" to add custom method to class DibiResult
DibiResult::extensionMethod('fetchShuffle', function (DibiResult $obj) {
    $all = $obj->fetchAll();
    shuffle($all);
    return $all;
});
// fetch complete result set shuffled
$res = dibi::query('SELECT * FROM [customers]');
$all = $res->fetchShuffle();
Tracy\Dumper::dump($all);
Пример #2
0
    /**
     * @return bool
     */
    public static function validateDate(Nette\Forms\IControl $control)
    {
        return is_numeric($control->day) && is_numeric($control->month) && is_numeric($control->year) && checkdate($control->month, $control->day, $control->year);
    }
}
Tracy\Debugger::enable();
$form = new Form();
$form['date'] = new DateInput('Date:');
$form['date']->setDefaultValue(new DateTime());
$form->addSubmit('submit', 'Send');
if ($form->isSuccess()) {
    echo '<h2>Form was submitted and successfully validated</h2>';
    Tracy\Dumper::dump($form->getValues());
    exit;
}
?>
<!DOCTYPE html>
<meta charset="utf-8">
<title>Nette Forms custom control example</title>
<link rel="stylesheet" media="screen" href="assets/style.css" />

<h1>Nette Forms custom control example</h1>

<?php 
echo $form;
?>

<footer><a href="https://doc.nette.org/en/forms">see documentation</a></footer>
Пример #3
0
<!DOCTYPE html><link rel="stylesheet" href="data/style.css">

<h1>Result Set Data Types | dibi</h1>

<?php 
use Dibi\Type;
if (@(!(include __DIR__ . '/../vendor/autoload.php'))) {
    die('Install dependencies using `composer install --dev`');
}
Tracy\Debugger::enable();
date_default_timezone_set('Europe/Prague');
dibi::connect(['driver' => 'sqlite3', 'database' => 'data/sample.s3db']);
// using manual hints
$res = dibi::query('SELECT * FROM [customers]');
$res->setType('customer_id', Type::INTEGER)->setType('added', Type::DATETIME)->setFormat(Type::DATETIME, 'Y-m-d H:i:s');
Tracy\Dumper::dump($res->fetch());
// outputs:
// Dibi\Row(3) {
//    customer_id => 1
//    name => "Dave Lister" (11)
//    added => "2007-03-11 17:20:03" (19)
// using auto-detection (works well with MySQL or other strictly typed databases)
$res = dibi::query('SELECT * FROM [customers]');
Tracy\Dumper::dump($res->fetch());
// outputs:
// Dibi\Row(3) {
//    customer_id => 1
//    name => "Dave Lister" (11)
//    added => "2007-03-11 17:20:03" (19)
Пример #4
0
$res = dibi::query('SELECT * FROM products');
$pairs = $res->fetchPairs('product_id', 'title');
Tracy\Dumper::dump($pairs);
// fetch row by row
echo "<h2>using foreach</h2>\n";
$res = dibi::query('SELECT * FROM products');
foreach ($res as $n => $row) {
    Tracy\Dumper::dump($row);
}
// more complex association array
$res = dibi::query('
	SELECT *
	FROM products
	INNER JOIN orders USING (product_id)
	INNER JOIN customers USING (customer_id)
');
echo "<h2>fetchAssoc('name|title')</h2>\n";
$assoc = $res->fetchAssoc('name|title');
// key
Tracy\Dumper::dump($assoc);
echo "<h2>fetchAssoc('name[]title')</h2>\n";
$res = dibi::query('SELECT * FROM products INNER JOIN orders USING (product_id) INNER JOIN customers USING (customer_id)');
$assoc = $res->fetchAssoc('name[]title');
// key
Tracy\Dumper::dump($assoc);
echo "<h2>fetchAssoc('name->title')</h2>\n";
$res = dibi::query('SELECT * FROM products INNER JOIN orders USING (product_id) INNER JOIN customers USING (customer_id)');
$assoc = $res->fetchAssoc('name->title');
// key
Tracy\Dumper::dump($assoc);
Пример #5
0
function dump($var)
{
    Tracy\Dumper::dump($var, [Tracy\Dumper::TRUNCATE => 1024, Tracy\Dumper::COLLAPSE => 30, Tracy\Dumper::COLLAPSE_COUNT => 15, Tracy\Dumper::DEPTH => 6]);
    return $var;
}