php models
2.3.3
PDO を使用してモデルを簡単に作成および定義できる PHP ライブラリ
FETCH_INTO
が簡単になりました $ composer require lodev09/php-models
メインのModelsDB
クラスは、CRUD をより簡単にするために使用される PDO ラッパーです。これは php-pdo-wrapper-class からフォークされたコードです
// 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 );
利用可能なCRUDメソッド
$db->insert($sql, $binds)
または$db->insert($table, $values)
$db->select($sql, $binds)
$db->row($sql, $binds)
( select
と同じですが、単一行を返します)$db->update($sql, $binds)
または$db->update('table', $values)
$db->delete($sql, $binds)
または$db->delete('table', $filters)
デフォルトのスタイルはPDO::FETCH_OBJ
です。
例:
$ users = $ db -> select ( " SELECT * FROM users WHERE active = 1 AND username = :username " , array ( ' username ' => ' lodev09 ' ));
var_dump ( $ users );
ModelsModel
クラスは、 Modelクラスに継承できる親クラスです。このクラスを継承すると、結果の「行」をモデル クラス (テーブル) に自動的にマッピングできます。このクラスは基本的にPDO::FETC_INTO
スタイルを使用するため、簡単に作成できます。テーブルをクラスにリンクする手順は次のとおりです。
ModelsDB
インスタンスを開始します (上記を参照) $ 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 ' );
これで、クエリからUser
インスタンスを直接取得できるようになりました。例:
$ 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 ;
}
すべてのバグ、機能リクエスト、プルリクエスト、フィードバックなどを歓迎します。私のサイト www.lodev09.com にアクセスするか、[email protected] にメールしてください。
© 2018 - コーディング:Jovanni Lo / @lodev09
MITライセンスに基づいてリリースされています。 LICENSE ファイルを参照してください。