Jig
Класс Jig обеспечивает простой способ хранения массивов данных в flat файлах ASCII.
Пространство имен: \DB
Расположение файла:lib/db/jig.php
Конструктор
$db = new \DB\Jig ( string $dir [, int $format = \DB\Jig::FORMAT_JSON ] );
$dir определяет имя каталога хранения. Путь гоут быть как абсолютными так и относительными.
$format определяет формат хранения. Возможные значения:
- \DB\Jig::FORMAT_JSON в котором хранятся данные в формате JSON.
- \DB\Jig::FORMAT_Serialized который сериализует данные. В зависимости от значения системной переменной SERIALIZER данные хранятся с использованием стандартного формата сериализации PHP, igbinary или JSON.
$dir, Как и любое имя каталога F3, оно должно заканчиваться косой чертой!
Каталог создается автоматически, если еще не существует.
Методы
read
Чтение из файла базы данных Jig
array read ( string $file )
Этот метод извлекает данные, хранящиеся в заданном файле базы данных Jig.
Например:
$data = $db->read('team'); echo $data['Robert']['birth']; // 82 (see below)
write
Запись в файл базы данных Jig
int|FALSE write ( string $file, array $data )
Этот метод записывает данные в файл базы данных Jig и возвращает количество байтов, которые были записаны в файл или FALSE в случае сбоя.
Например:
$db=new \DB\Jig('jig/',\DB\Jig::FORMAT_Serialized); $team=array( 'Jimmy' => array('birth'=>86,'instr'=>'guitars'), 'Robert' => array('birth'=>82,'instr'=>'vocals'), 'John' => array('birth'=>88,'instr'=>'drums'), 'Anna' => array( 'instr'=>'keyboards'), ); echo $db->write('team',$team); // outputs 231 (int)
drop
Очистка базы данных
int drop ( )
Удаляет все данные, хранящиеся в каталоге хранилища .
Пример:
$db=new \DB\Jig('jig/'); // jig/ directory is empty $db->write('file1.dat',$data1); // jig/ contains file1.dat $db->write('file2.dat',$data2); // jig/ contains file1.dat and file2.dat $db->drop(); // jig/ directory is now empty
dir
Вернуть каталог БД
string dir ( )
Фактически, просто возвращает значение $dir, которое было указано конструктору .
jot
Создание записи в журнале
null jot ( string $frame )
Добавьте данные $frame во внутренний журнал. Записи имеют префикс даты в формате RFC-2822.
log
Возврат результатов профилировщика Jig
string log ( )
Пример:
$db->jot('Merry Christmas'); echo $db->log(); // "Wed, 25 Dec 2013 08:27:58 +0100 Merry Christmas"
uuid
Вернуть хэш соединения UUID (Universally Unique IDentifier)
string uuid ( )
Пример:
echo $db->uuid(); // e.g. "0dso6nqcdhr" (string, length 11)
Применение
База данных Jig не предназначена для непосредственного использования. Она создана для работы с помощбю Mapper. Чтобы инициализировать базу данных, просто добавьте несколько записей с помощью Mapper, например:
$mapper = new \DB\Jig\Mapper($db, $file); $mapper->username = 'userA'; $mapper->password = '57d82jg05'; $mapper->save(); $mapper->reset(); $mapper->username = 'userB'; $mapper->password = 'kbjd94973'; $mapper->save();
Если вы использовали Jig DB по умолчанию в стиле JSON, результирующая файловая структура json db выглядит следующим образом:
{ "548723b9f06c78.10153217": { "username": "userA", "password": "57d82jg05" }, "54f9c763934745.48648465": { "username": "userB", "password": "kbjd94973" } }