Eine PHP-Bibliothek, mit der Sie Ihre Modelle einfach mit PDO erstellen und definieren können
FETCH_INTO
leicht gemacht $ composer require lodev09/php-models
Die Hauptklasse ModelsDB
ist ein PDO-Wrapper, der CRUD wesentlich einfacher macht. Es handelt sich um einen gespaltenen Code aus der PHP-PDO-Wrapper-Klasse
// 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 );
Verfügbare CRUD -Methoden
$db->insert($sql, $binds)
oder $db->insert($table, $values)
$db->select($sql, $binds)
$db->row($sql, $binds)
(das Gleiche gilt für select
, gibt aber eine einzelne Zeile zurück)$db->update($sql, $binds)
oder $db->update('table', $values)
$db->delete($sql, $binds)
oder $db->delete('table', $filters)
Der Standardstil ist PDO::FETCH_OBJ
Beispiel:
$ users = $ db -> select ( " SELECT * FROM users WHERE active = 1 AND username = :username " , array ( ' username ' => ' lodev09 ' ));
var_dump ( $ users );
Die Klasse ModelsModel
ist eine übergeordnete Klasse, die an eine Model -Klasse vererbt werden kann. Durch die Vererbung dieser Klasse können Sie die Ergebniszeile automatisch Ihrer Modellklasse (Tabelle) zuordnen. Diese Klasse verwendet grundsätzlich den PDO::FETC_INTO
-Stil und macht es Ihnen einfacher. Hier sind die Schritte, um Ihre Tabelle mit einer Klasse zu verknüpfen:
ModelsDB
Instanz (siehe oben). $ db = new Models DB ( DB_HOST , DB_NAME , DB_USER , DB_PASSWORD );
Models Model:: setDb ( $ db );
User.php
-Klasse namespace Models ;
class User extends Model {
public function getName () {
return $ this -> name ;
}
}
// somewhere in your init.php
Models User:: register ( ' users ' );
Jetzt können Sie die User
direkt aus einer Abfrage abrufen. Beispiel:
$ 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 ;
}
Alle Fehler, Funktionsanfragen, Pull-Anfragen, Rückmeldungen usw. sind willkommen. Besuchen Sie meine Website unter www.lodev09.com oder senden Sie mir eine E-Mail an [email protected]
© 2018 – Codiert von Jovanni Lo / @lodev09
Veröffentlicht unter der MIT-Lizenz. Siehe LICENSE-Datei.