php & mysql ORM

octofox·2021년 5월 23일
0
post-thumbnail

ORM = object relational mapping

객체 관계 매퍼

ORM 이란 DB의 테이블과 프로그램 내의 객체를 연결하는 것이다.
이 말은 상당히 추상적이다.
그래서 하나 하나 작게 풀어 나가보고자 한다.

글을 작성하는 프로그램을 만들어본다고 예를 들어보면 우리는 2개의 객체를 떠올릴 수 있다.
DB를 먼저 구성해보자면 author와 note 테이블을 만들 수 있을 것이다.

프로그램 내부에서도 아래와 같이 클래스를 구현 할 수 있을 것이다.

  1. 작성자 (author)
    프로퍼티: name, email
    메소드: 쓰기, 작성자의 글 불러오기

  2. 글 (note)
    프로퍼티: date, text, author
    메소드: 작성자 불러오기

DB와 Class를 연결하는 것을 ORM 이라 지칭한다.
만약 DB에 author행 하나를 조회한다면 그것은 author 클래스의 인스턴스가 되야하는 것이다.

인스턴스를 반환 받아 사용하면 좋은 점은 해당 클래스에 추가한 메소드를 사용할 수 있다는 것이다.
클래스 별 메소드를 구현하지 않는다면 객체지향적이라 말하기 어려울 것이다.

그래서 보통 Entity폴더에 각 테이블과 테이블 컬럼과 매칭이 되는 클래스를 작성해서 사용한다.

각 클래스의 프로퍼티는 테이블의 컬럼과 이름이 같아야한다.

php & mysql 닌자 비법서 github

위의 링크를 통해서 폴더 구조와 코드를 더 잘 이해할 수 있다.
위의 저장소에서 핵심적인 것은 DatabaseTable.php와 IjdbRoute.php 그리고 Entity를 참고해라.

php를 배워보고자하는 사람들에게는 이 책을 추천하다.
php & mysql 닌자 비법서

짧은 글을 작성하려했지만 막상 작성하려니 내용이 방대하다...
시간이 되면 더 작성해보겠...

profile
개발자라고 우기는 노답 소년

0개의 댓글