Uma biblioteca PHP que permite criar e definir facilmente seus modelos usando PDO
FETCH_INTO
facilitado $ composer require lodev09/php-models
A classe principal ModelsDB
é um wrapper PDO usado para tornar o CRUD muito mais fácil. É um código bifurcado da classe 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 disponíveis
$db->insert($sql, $binds)
ou $db->insert($table, $values)
$db->select($sql, $binds)
$db->row($sql, $binds)
(o mesmo que select
, mas retornará uma única linha)$db->update($sql, $binds)
ou $db->update('table', $values)
$db->delete($sql, $binds)
ou $db->delete('table', $filters)
O estilo padrão é PDO::FETCH_OBJ
Exemplo:
$ users = $ db -> select ( " SELECT * FROM users WHERE active = 1 AND username = :username " , array ( ' username ' => ' lodev09 ' ));
var_dump ( $ users );
A classe ModelsModel
é uma classe pai que pode ser herdada para uma classe Model . Herdar esta classe permite mapear automaticamente a "linha" do resultado em sua classe de modelo (tabela). Essa classe usa basicamente o estilo PDO::FETC_INTO
e facilitou para você. Aqui estão as etapas para vincular sua tabela a uma classe:
ModelsDB
(veja acima) $ 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 ' );
Agora, você pode obter diretamente a instância User
a partir de uma consulta. Exemplo:
$ 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 os bugs, solicitações de recursos, solicitações pull, feedback, etc., são bem-vindos. Visite meu site em www.lodev09.com ou envie um e-mail para [email protected]
© 2018 - Codificado por Jovanni Lo / @lodev09
Lançado sob a licença MIT. Consulte o arquivo LICENÇA.