queryflatfile est une bibliothèque de base de données de fichiers plats écrite en PHP. Stocke vos données par défaut au format JSON
, prend également en charge les formats txt
, msgPack et igbinary. Manipulez vos données avec un QueryBuilder similaire à la syntaxe SQL.
VersionPHP | queryflatfile 3.1.x |
---|---|
<= 7,1 | ✗ Non pris en charge |
7,2 / 7,3 / 7,4 | ✓ Pris en charge |
8,0 / 8,1 / 8,2 | ✓ Pris en charge |
txt
pour l'enregistrement des données avec PHP sérialiser,json
pour enregistrer les données au format JSON,La quantité minimale de mémoire requise dépend de la quantité de données que vous allez traiter et du type d'opérations.
Autorisation d'écrire et de lire des fichiers dans le répertoire qui stockera vos données.
Pour installer queryflatfile via Composer vous devez disposer de l'installateur ou du fichier binaire Composer
Accédez au répertoire de votre projet, ouvrez une invite de commande et exécutez la commande suivante :
composer require soosyze/ queryflatfile --no-dev
Ou, si vous utilisez le fichier binaire,
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 ' );
L'exemple ci-dessus affichera :
Array
(
[id] => 2
[name] => DUPOND
)
Schéma
dropSchema()
,getIncrement( string $tableName )
,getSchema()
,getTableSchema( string $tableName )
,hasColumn( string $tableName, $columnName )
,hasTable( string $tableName )
,setConfig( string $host, string $name = 'schema', DriverInterface $driver = null )
.Tables de manutention
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 )
.Demande de sélection
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 )
.Demande d'exécution
insertInto( string $tableName, array $columnNames )
,values( array $rowValues )
,update( string $tableName, array $row )
,delete()
,execute()
Effectue l'insertion, la modification et la suppression des données.Résultat(s) de la requête
fetch(): array
Renvoie le premier résultat de la requête,fetchAll(): array
Renvoie tous les résultats de la requête,lists( string $columnName, string $key = null ): array
Renvoie une liste de la colonne passée en paramètre.Où
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 )
.Conditions prises en charge (===, ==, !=, <>, <, <=, >, >=, j'aime, j'aime, je n'aime pas, je n'aime pas)
Où
whereGroup( Closure $columnName )
,orWhereGroup( Closure $columnName )
,notWhereGroup( Closure $columnName )
,orNotWhereGroup( Closure $columnName )
.Où entre
between( string $columnName, $min, $max )
,orBetween( string $columnName, $min, $max )
,notBetween( string $columnName, $min, $max )
,orNotBetween( string $columnName, $min, $max )
.Où dans
in( string $columnName, array $values )
,orIn( string $columnName, array $values )
,notIn( string $columnName, array $values )
,orNotIn( string $columnName, array $values )
.Où est Null
isNull( string $columnName )
,orIsNull( string $columnName )
,isNotNull( string $columnName )
,orIsNotNull( string $columnName )
.Où regex
regex( string $columnName, string $pattern )
,orRegex( string $columnName, string $pattern )
,notRegex( string $columnName, string $pattern )
,orNotRegex( string $columnName, string $pattern )
. Pour des exemples d'utilisation, reportez-vous à la documentation utilisateur.
Ce projet est sous licence MIT.