데이타베이스 추상화
웹 개발 환경에서 데이타베이스는 굉장히 중요한 요소이며 PHP 는 MySQL, PostgreSQL, SQLite, MS-SQL Server, Oracle, Cubrid 등 다양한 DBMS 를 지원하고 있습니다.
라라벨은 Java의 JDBC 처럼 DB 레이어를 추상화한 레이어인 PDO(PHP Data Objects) 를 사용하므로 mysql_fetch_array 나 oci_fetch_array 처럼 특정 벤더에 의존적이지 않은 함수를 사용하지 않고 데이타베이스 관련 코드를 작성할 수 있습니다.
또 의존성 주입을 사용하여 런타임에 사용할 DB 를 결정하므로 설정 변경만으로 사용하는 DBMS 종류를 변경할 수 있습니다.
라라벨 5는 공식적으로 MySQL, PostgreSQL, SQLite, MS-SQL Server 4 가지 DBMS만 지원하고 있으며 그외 DB는 커뮤니티에서 작성한 것을 사용해야 합니다.
Query builder 와 ORM(Object Relation Mapping) 지원
라라벨은 쿼리 빌더 기능을 제공하고 있으므로 이를 사용하면 SQL 을 사용하지 않고 손쉽게 데이타베이스와 작업을 할 수 있습니다.
다음은 고객 테이블에서 특정 이메일 주소를 갖는 고객 정보를 가져온 후에 이메일 인증 여부 필드를 true 로 설정하는 예제입니다.
라라벨은 루비온레일스의 Active Record 와 동일한 역할을 수행하는 Eloquent라는 ORM을 통해 PHP 모델 클래스와 데이타베이스의 테이블을 손쉽게 연계할 수 있으며 SQL 구문 없이 데이타간의 다양한 관계를 표현할 수 있으므로 특정 DBMS 에 의존적이지 않으며 DB의 컬럼 추가/수정/삭제등 변경이 발생해도 코드의 수정이 최소화되는 애플리케이션을 작성할 수 있습니다.
출처 : https://www.lesstif.com/display/LIFE
'Web Programming > laravel' 카테고리의 다른 글
laravel 소개 및 장점 > Pretty URLs (0) | 2018.10.30 |
---|---|
laravel 소개 및 장점 > 가볍고 익히기 쉬운 템플릿 엔진 (0) | 2018.10.30 |
laravel 소개 및 장점 > 보안을 고려한 설계 (1) | 2018.10.30 |
laravel 소개 및 장점 > 모델-뷰-컨트롤러 (Model View Controller) 패턴 (0) | 2018.10.30 |
laravel 소개 및 장점 (0) | 2018.10.30 |