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 라이센스에 따라 출시되었습니다. 라이센스 파일을 참조하세요.