███████╗ ██╗ ██╗███████╗ ...vvvv)))))).
██╔═══██╗██║ ██║██╔════╝ /~~ ,,,c(((((((((((((((((/
██║██╗██║██║ ██║█████╗ /~~c . .vv)))))))))))))))))))``
███████╔╝██║ ██║██╔══╝ G_G__ ,,(((KKKK//////////////'
╚═██╔═╝ ╚██████╔╝███████╗ ,Z~__ '@,gW@@AKXX~MW,gmmmz==m_.
╚═╝ ╚═════╝ ╚══════╝ iP,dW@!,A@@@@@@@@@@@@@@@A` ,W@@Ac
██████╗ ███████╗███████╗ ]b_.__zf !P~@@@@@*P~b.~+=m@@@*~ g@Ws.
██╔══██╗██╔════╝██╔════╝ ~` ,2W2m. '[ ['~~c'M7 _gW@@A`'s
██████╦╝█████╗ █████╗ v=XX)====Y- [ [ c/*@@@*~ g@@i
██╔══██╗██╔══╝ ██╔══╝ /v~ !.!. 'c7+sg@@@@@s.
██████╦╝███████╗███████╗ // 'c'c 'c7*X7~~~~
╚═════╝ ╚══════╝╚══════╝ ]/ ~=Xm_ '~=(Gm_.
El paquete QᴜᴇᴇBᴇᴇ (QB) o de consulta es un paquete liviano para construir consultas MySQL. Es un paquete PHP que simplifica la construcción de consultas SQL. Proporciona un enfoque orientado a objetos para construir consultas SQL, lo que facilita la creación, modificación y ejecución de declaraciones SQL en sus aplicaciones PHP.
Quebee se puede instalar a través del compositor, un administrador de dependencia de PHP. Si aún no ha instalado el compositor, visite el sitio web del compositor para obtener instrucciones.
Ejecute el siguiente comando para instalar Quebee:
composer require hindbiswas/quebee Asegúrese de que el Autoloader de Composer se incluya en los archivos PHP de su proyecto. Use su camino en lugar de path/to/ :
require_once __DIR__ . DIRECTORY_SEPARATOR . ' path/to ' . ' /vendor/autoload.php ' ;Quebee proporciona las siguientes funciones para funcionar con MySQL:
Query para SELECT , INSERT , UPDATE y DELETE consultas.Table para CREATE TABLE junto con la clase Col para columnas.Col Class tiene un montón de tipos de datos como INT , VARCHAR , DATETIME y muchos más para crear columnas según sus requisitos.Stmt para UNION , UNION ALL , CUBE , SET y GROUPING SETS declaraciones. También incluye restricciones de clave externa, clave e indexación únicas, principales, así como agrupación. Consulte el directorio /tests/ para todas las formas posibles de usar el QueBee ;
A continuación se presentan ejemplos de cómo usar cada constructor de consultas.
Para crear una consulta SELECT , use el método Query::select() :
use Hindbiswas QueBee Query ;
$ aliased_cols = [ ' alias1 ' => ' column1 ' , ' alias2 ' => ' column2 ' , ' column3 ' => ' column3 ' ];
$ query = Query:: select ( $ aliased_cols )-> from ( ' table ' )-> build ();
// Resulting SQL query
// SELECT column1 AS alias1, column2 AS alias2, column3 AS column3 FROM table;O,
use Hindbiswas QueBee Query ;
$ query = Query:: select ([ ' column1 ' , ' column2 ' ])
-> from ( ' table ' )
-> where ( ' column1 ' , ' value ' )
-> orderBy ( ' column2 ' , ' desc ' )
-> limit ( 10 )
-> build ();
// Resulting SQL query
// SELECT column1, column2 FROM table WHERE column1 = 'value' ORDER BY column2 DESC LIMIT 0, 10; | Sql | Literal | Simbólico |
|---|---|---|
> | gt | > |
>= | gte | >= |
< | lt | < |
<= | lte | <= |
= | eq | == o = |
!= | ne | != o <> |
<=> | ns | <=> |
LIKE | like | ?? |
Puedes usar literal o simbólico.
Para crear una consulta INSERT , use el método Query::insert() (para insertar múltiples filas a la vez, use la Query::insertMultiple() Método):
use Hindbiswas QueBee Query ;
$ data = [ ' column1 ' => ' value1 ' , ' column2 ' => ' value2 ' ];
$ query = Query:: insert ( $ data )
-> into ( ' table ' )
-> build ();
// Resulting SQL query
// INSERT INTO table (column1, column2) VALUES ('value1', 'value2'); Para crear una consulta UPDATE , use el método Query::update() :
use Hindbiswas QueBee Query ;
$ data = [ ' column1 ' => ' new_value1 ' , ' column2 ' => ' new_value2 ' ];
$ query = Query:: update ( ' table ' )
-> set ( $ data )
-> where ( ' column1 ' , ' value1 ' )
-> build ();
// Resulting SQL query
// UPDATE table SET column1 = 'new_value1', column2 = 'new_value2' WHERE column1 = 'value1'; Para crear una consulta DELETE , use el método Query::delete() :
$ query = Query:: delete ( ' table ' )-> where ( ' column1 ' , 1 , ' gt ' )-> build () // Here `gt` is alias for `>`
// Resulting SQL query
// DELETE FROM table WHERE column1 > '1'; Para crear una consulta CREATE TABLE , use el método Table::create() :
use Hindbiswas QueBee Col ;
use Hindbiswas QueBee Table ;
use Hindbiswas QueBee Table Values DefaultVal ;
$ usersTable = Table:: create ( ' users ' )-> columns ([
' id ' => Col:: integer ( 11 )-> unsigned ()-> pk ()-> ai (),
' username ' => Col:: varchar ()-> unique (),
' email ' => Col:: varchar ()-> unique (),
' password ' => Col:: varchar (),
' is_superadmin ' => Col:: integer ( 2 )-> default ( ' 0 ' ),
' create_time ' => Col:: dateTime ()-> default (DefaultVal:: CURRENT_TIME ),
' update_time ' => Col:: dateTime ()-> setOnUpdate ()-> default (DefaultVal:: CURRENT_TIME ),
]);
$ query = $ usersTable -> build ();
// Resulting SQL query
// CREATE TABLE IF NOT EXISTS users (`id` INT(11) UNSIGNED NULL AUTO_INCREMENT, `username` VARCHAR(255) NOT NULL, `email` VARCHAR(255) NOT NULL, `password` VARCHAR(255) NOT NULL, `is_superadmin` INT(2) NOT NULL DEFAULT '0', `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, `update_time` DATETIME on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT users_PK PRIMARY KEY (id), CONSTRAINT username_UC UNIQUE (`username`), CONSTRAINT email_UC UNIQUE (`email`)) ENGINE = InnoDB; use Hindbiswas QueBee Col ;
use Hindbiswas QueBee Table ;
use Hindbiswas QueBee Table Values DefaultVal ;
use Hindbiswas QueBee Table Values FK ;
// $usersTable = create a table to constrain with
$ table = Table:: create ( ' tokens ' )-> columns ([
' id ' => Col:: integer ()-> unsigned ()-> pk ()-> ai (),
' selector ' => Col:: varchar (),
' hashed_validator ' => Col:: varchar (),
' user_id ' => Col:: integer ( 11 )-> unsigned (),
' expiry ' => Col:: dateTime (),
])-> foreign ( ' user_id ' )-> onDelete ( FK :: CASCADE )-> reference ( $ usersTable , ' id ' );
// Resulting SQL query
// CREATE TABLE IF NOT EXISTS tokens (`id` INT UNSIGNED NULL AUTO_INCREMENT, `selector` VARCHAR(255) NOT NULL, `hashed_validator` VARCHAR(255) NOT NULL, `user_id` INT(11) UNSIGNED NOT NULL, `expiry` DATETIME NOT NULL, CONSTRAINT tokens_PK PRIMARY KEY (id), FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE) ENGINE = InnoDB; v1.2.0Col::text()Col::varchar(225)Col::bit()Col::integer()Col::bigInt()Col::mediumInt()Col::smallInt()Col::tinyInt()Col::decimal(11, 6)Col::float(6, 2)Col::double(11, 6)Col::real(11, 6)Col::date()Col::dateTime() Aquí hay algunas mejores prácticas cuando se usa Quebee :
Desinterese las entradas del usuario: siempre desinfecte las entradas del usuario antes de usarlas en consultas.
Manejo de errores: maneje las excepciones adecuadamente, especialmente cuando se construye consultas. Quebee puede lanzar excepciones para entradas o llamadas de método no válidas.
Abstracción de la base de datos: considere usar una capa de abstracción de la base de datos junto con Quebee para interacciones de base de datos más extensas.
Organización del código: Organice su código lógicamente, separando la construcción de consultas de la ejecución y el manejo de resultados.
Quebee simplifica la construcción de consultas SQL en PHP, lo que hace que sea más fácil construir interacciones de base de datos limpias, seguras y eficientes. Con su API fluida, proporciona una forma fácil de usar de crear consultas SQL para varios sistemas de bases de datos.
Para obtener opciones de uso y personalización más detalladas, consulte el repositorio de GitHub de Quebee.
¡Eso es todo! Está listo para comenzar a usar Quebee para construir consultas SQL en sus aplicaciones PHP.