Yentu::refschema()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 1
dl 0
loc 5
rs 10
c 0
b 0
f 0
1
<?php
2
namespace yentu;
3
4
use yentu\database\Begin;
5
use yentu\database\Schema;
6
use yentu\database\Table;
7
use yentu\factories\DatabaseItemFactory;
8
use yentu\database\ItemType;
9
10
11
class Yentu
12
{
13
    private static DatabaseItemFactory $factory;
14
    private static Schema $defaultSchema;
15
    
16
    public static function setup(DatabaseItemFactory $factory, string $defaultSchema): void
17
    {
18
        self::$defaultSchema = $factory->getDefaultSchema($defaultSchema);
19
        self::$factory = $factory;
20
    }
21
    
22
    public static function begin(): Begin
23
    {
24
        /** @var Begin $begin */
25
        $begin = self::$factory->create(ItemType::Begin, self::$defaultSchema);
26
        $begin->setStack(self::$factory->getEncapsulatedStack());
27
        return $begin;
28
    }
29
30
    public static function refschema($name) {
31
        /** @var Schema $schema */
32
        $schema = self::$factory->create(ItemType::Schema, $name);
33
        $schema->setIsReference(true);
34
        return $schema;
35
    }
36
37
    public static function reftable($name) {
38
        /** @var Table $table */
39
        $table = self::$factory->create(ItemType::Table, $name, self::$defaultSchema);
40
        $table->setIsReference(true);
41
        return $table;
42
    }
43
}
44
45