Una biblioteca PHP que le permite crear y definir fácilmente sus modelos usando PDO
FETCH_INTO
simplificado $ composer require lodev09/php-models
La clase principal ModelsDB
es un contenedor PDO que se utiliza para hacer que CRUD sea mucho más fácil. Es un código bifurcado de la clase php-pdo-wrapper.
// connect to your database. Store the $db instance globally -- you only need to connect to your db ONCE!
$ db = new Models DB ( DB_HOST , DB_NAME , DB_USER , DB_PASSWORD );
Métodos CRUD disponibles
$db->insert($sql, $binds)
o $db->insert($table, $values)
$db->select($sql, $binds)
$db->row($sql, $binds)
(lo mismo con select
pero devolverá una sola fila)$db->update($sql, $binds)
o $db->update('table', $values)
$db->delete($sql, $binds)
o $db->delete('table', $filters)
El estilo predeterminado es PDO::FETCH_OBJ
Ejemplo:
$ users = $ db -> select ( " SELECT * FROM users WHERE active = 1 AND username = :username " , array ( ' username ' => ' lodev09 ' ));
var_dump ( $ users );
La clase ModelsModel
es una clase principal que se puede heredar a una clase Model . Heredar esta clase le permite asignar automáticamente la "fila" del resultado a su clase de modelo (tabla). Esta clase básicamente utiliza el estilo PDO::FETC_INTO
y te lo pone más fácil. Estos son los pasos para vincular su tabla a una clase:
ModelsDB
(ver arriba) $ db = new Models DB ( DB_HOST , DB_NAME , DB_USER , DB_PASSWORD );
Models Model:: setDb ( $ db );
User.php
namespace Models ;
class User extends Model {
public function getName () {
return $ this -> name ;
}
}
// somewhere in your init.php
Models User:: register ( ' users ' );
Ahora puede obtener directamente la instancia User
a partir de una consulta. Ejemplo:
$ user = Models User:: row ( " SELECT id, name FROM users WHERE id = 1 AND active = 1 " );
// you can call the getName() method now
if ( $ user ) {
$ name = $ user -> getName ();
echo ' His name is ' . $ name ;
}
Todos los errores, solicitudes de funciones, solicitudes de extracción, comentarios, etc., son bienvenidos. Visite mi sitio en www.lodev09.com o envíeme un correo electrónico a [email protected]
© 2018 - Codificado por Jovanni Lo / @lodev09
Publicado bajo la licencia MIT. Ver archivo de LICENCIA.