Exemplo n.º 1
0
<?php

include '../db.php';
include './013.model.php';
$database = new \db\database($config->hostname, $config->database, $config->username, $config->password);
$database->scan('.galaxy');
//truncate previous load table records
foreach ($database->context->tables as &$table) {
    $database->link($table->link)->query("truncate " . $table->name());
}
$alpha = $database->save(new \galaxy\star('alpha', 4));
$sun = $database->save(new \galaxy\star('sun', 1));
$database->save(new \galaxy\planet($alpha, 'xxx', 2, false, 100));
$database->save(new \galaxy\planet($alpha, 'xxx', 2, false, 123));
Exemplo n.º 2
0
class user
{
    /**
     * primary
     * length 11
     * @var int
     */
    public $id;
    /**
     * data char
     * length 100
     * @var string
     */
    public $name;
}
$database = new \db\database('db_samples', new \db\link('default', $config->database, $config->username, $config->password));
$database->link('default')->debug = true;
$database->add('user');
$database->update();
//create lazarus
$lazarus = new \user();
$lazarus->name = 'Lazarus';
//save lazarus
$database->user->save($lazarus);
//kill lazarus
unset($lazarus);
//resurrect lazarus
$lazarus = $database->user->load(1);
\db\debug($lazarus);
//1 stands for lazarus id
//as soon as it is the first row in user table
Exemplo n.º 3
0
<?php

include '../db.php';
$database = new \db\database('mysql:host=127.0.0.1', 'test', 'root', '1234');
$database->debug();
$result = $database->link()->query('show databases');
echo "<pre>";
if ($result) {
    foreach ($result as $row) {
        var_export($row);
    }
}
echo "</pre>";
Exemplo n.º 4
0
//in this sample we will learn how to modify field settings
//it is done by documenting class and class properties
//it is improtant that documentation section starts with line /** and ends with line */
include './000.config.php';
include '../db.php';
class user
{
    /**
     * primary
     * length 11
     * @var int
     */
    public $id;
    /**
     * data char
     * length 100
     * @var string
     */
    public $name;
}
$database = new \db\database();
$database->link(new \db\link('default', $config->database, $config->username, $config->password));
$database->link('default')->debug = true;
$database->default = 'db_samples';
$database->add('user');
//so if you are coming here from previous example
//where user.name had not any configs you must have field 'name' in 'user' table char(128)
//** and after runing update field 'name' will become char(100) because you specified it in length comment in public $name documentation
$database->update();
\db\debug($database->user);
Exemplo n.º 5
0
    }
}
class option
{
    public $id;
    /**
     * locale
     */
    public $name;
    public function __construct($name_en, $name_fr)
    {
        $this->name_en = $name_en;
        $this->name_fr = $name_fr;
    }
}
$database = new \db\database('db_samples', new \db\link('default', $config->database, $config->username, $config->password));
$database->link('default')->debug = true;
$database->locales(array(new \db\locale('en'), new \db\locale('fr')));
$database->add('user');
$database->add('group');
$database->add('option');
$database->update();
$groups = $database->group->load(\db\by('name', 'User'));
if ($groups) {
    $group = reset($groups);
} else {
    $group = new group('User');
    $database->save($group);
}
\db\debug($group);
$query = new \db\query();
Exemplo n.º 6
0
    /**
     * default null
     * @var client
     */
    public $client;
    /**
     * @var string
     */
    public $worker;
}
class client
{
    public $id;
    public $name;
}
$database = new \db\database('db_samples', new \db\link('default', $config->database, $config->username, $config->password));
$database->link('default')->debug = true;
$database->add('order');
$database->add('client');
$database->update();
$client = new client();
$client->name = 'Bill Gates';
$order = new order();
$order->name = 'Apple';
$order->client = $client;
//the value of ready must be boolean
//but we put 5 here
$order->ready = 5;
$order->income = 'there must be date time value';
//here must be an int
$order->count = 1.5;
Exemplo n.º 7
0
<?php

include './000.config.php';
include '../db.php';
//we include source with namespace 'core'
include './012.source.php';
$database = new \db\database('db_samples', new \db\link('default', $config->database, $config->username, $config->password));
$database->link('default')->debug = true;
//here we scan all the classes which name begins with '\core\'
//you can use '.' instead of '\' if you wish
//as we do:
$database->scan('core');
//define locales for localized fields
//first locale is treated as default locale
$database->locales(array(new \db\locale('en'), new \db\locale('ge')));
$database->update();
//you can access class handler on $database->namespace->[namespace->]name
$result = $database->core->solution->load(\db\by('name', 'blog'));
if ($result) {
    $solution = reset($result);
} else {
    $solution = new \core\solution('blog');
    $database->save($solution);
}
$result = $database->core->project->load(\db\by('name', 'site'));
if ($result) {
    $project = reset($result);
} else {
    $project = new \core\project('site', $solution);
    $project->title_ge = 'საიტი';
    $project->title_en = 'site';
Exemplo n.º 8
0
    public function __construct($name)
    {
        $this->name = $name;
    }
}
//take a note we specified in public $girl comment 'enum' and also master class 'girl' as @var
class girl
{
    public $id;
    public $name;
    public function __construct($name)
    {
        $this->name = $name;
    }
}
$database = new \db\database('db_samples', new \db\link('default', $config->database, $config->username, $config->password));
$database->link('default')->debug = true;
$database->add('boy');
$database->add('girl');
$database->update();
$john = new boy('John');
//\db\debug ($database->boy);
$database->boy->save($john);
//lets see if john is single
\db\debug($john);
$girls = array(new girl('Anne'), new girl('Fiona'), new girl('Nino'));
//by the way this is multi save example too
$database->girl->save($girls);
$john->girl[] = $girls[0];
$john->girl[] = $girls[2];
//well john is single
Exemplo n.º 9
0
        $this->part = $part;
    }
}
/**
 * cache long
 */
class part
{
    public $id;
    public $name;
    public function __construct($name)
    {
        $this->name = $name;
    }
}
$database = new \db\database('db_samples', new \db\link('default', $config->database, $config->username, $config->password));
$database->link('default')->debug = true;
$database->add('page');
$database->add('part');
$database->update();
$parts = $database->part->load();
if (!$parts) {
    $parts = array(new part('register'), new part('profile'), new part('menu'), new part('password'), new part('news'), new part('gallery'));
    $database->part->save($parts);
}
$pages = $database->page->load();
if (!$pages) {
    $database->page->save(new page('home', array($parts[0], $parts[3], $parts[2])));
    $database->page->save(new page('account', array($parts[1], $parts[4], $parts[5])));
    $database->page->save(new page('service', array($parts[3], $parts[2], $parts[1])));
    $database->page->save(new page('about', array($parts[2], $parts[4], $parts[0])));