
queryflatfile — это библиотека базы данных с плоскими файлами, написанная на PHP. По умолчанию сохраняет ваши данные в формате JSON , также поддерживает форматы txt , msgPack и igbinary. Управляйте данными с помощью QueryBuilder, аналогичного синтаксису SQL.
| Версия PHP | queryflatfile 3.1.x |
|---|---|
| <= 7,1 | ✗ Не поддерживается |
| 7,2/7,3/7,4 | ✓ Поддерживается |
| 8,0/8,1/8,2 | ✓ Поддерживается |
txt для записи данных с помощью сериализации PHP,json для записи данных в формате JSON,Минимальный объем необходимой памяти зависит от объема данных, которые вы собираетесь обрабатывать, и типа операций.
Разрешение на запись и чтение файлов в каталоге, в котором будут храниться ваши данные.
Чтобы установить queryflatfile через Composer, у вас должен быть установщик или бинарный файл Composer.
Перейдите в каталог вашего проекта, откройте командную строку и выполните следующую команду:
composer require soosyze/ queryflatfile --no-devИли, если вы используете двоичный файл,
php composer.phar require soosyze/ queryflatfile --no-dev require __DIR__ . ' /vendor/autoload.php ' ;
use Soosyze queryflatfile Schema ;
use Soosyze queryflatfile Request ;
use Soosyze queryflatfile TableBuilder ;
use Soosyze queryflatfile Driver Json ;
$ sch = new Schema ( __DIR__ . ' data ' , ' schema ' , new Json ());
$ req = new Request ( $ sch );
$ sch -> createTableIfNotExists ( ' user ' , function ( TableBuilder $ table ): void {
$ table -> increments ( ' id ' )
$ table -> string ( ' name ' )
$ table -> string ( ' firstname ' )-> nullable ();
});
$ req -> insertInto ( ' user ' , [ ' name ' , ' firstname ' ])
-> values ([ ' NOEL ' , ' Mathieu ' ])
-> values ([ ' DUPOND ' , ' Jean ' ])
-> values ([ ' MARTIN ' , null ])
-> execute ();
$ data = $ req -> select ( ' id ' , ' name ' )
-> from ( ' user ' )
-> where ( ' firstname ' , ' = ' , ' Jean ' )
-> fetch ();
print_r ( $ data );
$ sch -> dropTableIfExists ( ' user ' );В приведенном выше примере выводится:
Array
(
[id] => 2
[name] => DUPOND
)
Схема
dropSchema() ,getIncrement( string $tableName ) ,getSchema() ,getTableSchema( string $tableName ) ,hasColumn( string $tableName, $columnName ) ,hasTable( string $tableName ) ,setConfig( string $host, string $name = 'schema', DriverInterface $driver = null ) .Обработка таблиц
alterTable( string $tableName, callable $callback ) ,createTable( string $tableName, callable $callback = null ) ,createTableIfNotExists( string $tableName, callable $callback = null ) :boolean( string $name ) ,char( string $name, $length = 1) ,date( string $name ) ,dateTime( string $name ) ,float( string $name ) ,increments( string $name ) ,integer( string $name ) ,string( string $name, $length = 255) ,text( string $name ) .dropTable( string $tableName ) ,dropTableIfExists( string $tableName ) ,truncateTable( string $tableName ) .Запрос на выбор
select( string ...$columnNames ) ,from( string $tableName ) ,leftJoin( string $tableName, Closure|string $column, string $condition = '', string $value = '' ) ,rightJoin( string $tableName, Closure|string $column, string $condition = '', string $value = '' ) ,union( RequestInterface $union ) ,unionAll( RequestInterface $union ) ,orderBy( string $columnName, int $order = SORT_DESC|SORT_ASC ) ,limit( int $limit, int $offset = 0 ) .Запрос на исполнение
insertInto( string $tableName, array $columnNames ) ,values( array $rowValues ) ,update( string $tableName, array $row ) ,delete() ,execute() Выполняет вставку, изменение и удаление данных.Результат(ы) запроса
fetch(): array Возвращает первый результат запроса,fetchAll(): array Возвращает все результаты запроса,lists( string $columnName, string $key = null ): array Возвращает список столбцов, переданных в параметре.Где
where( string $columnName, string $condition, null|scalar $value ) ,orWhere( string $columnName, string $condition, null|scalar $value ) ,notWhere( string $columnName, string $condition, null|scalar $value ) ,orNotWhere( string $columnName, string $condition, null|scalar $value ) .Поддерживаемые условия (===, ==, !=, <>, <, <=, >, >=, нравится, нравится, не нравится, не нравится)
Где
whereGroup( Closure $columnName ) ,orWhereGroup( Closure $columnName ) ,notWhereGroup( Closure $columnName ) ,orNotWhereGroup( Closure $columnName ) .Где между
between( string $columnName, $min, $max ) ,orBetween( string $columnName, $min, $max ) ,notBetween( string $columnName, $min, $max ) ,orNotBetween( string $columnName, $min, $max ) .Где в
in( string $columnName, array $values ) ,orIn( string $columnName, array $values ) ,notIn( string $columnName, array $values ) ,orNotIn( string $columnName, array $values ) .ГдеNull
isNull( string $columnName ) ,orIsNull( string $columnName ) ,isNotNull( string $columnName ) ,orIsNotNull( string $columnName ) .Где регулярное выражение
regex( string $columnName, string $pattern ) ,orRegex( string $columnName, string $pattern ) ,notRegex( string $columnName, string $pattern ) ,orNotRegex( string $columnName, string $pattern ) . Примеры использования см. в документации пользователя.
Этот проект лицензируется по лицензии MIT.