PHP(13)
-
DTO DAO 정리 with 라라벨
DTO와 DAO는 데이터베이스와 상호 작용하는데 사용되는 패턴입니다. DTO(Data Transfer Object) - DTO는 데이터베이스와 통신하는 데 사용되는 객체 - 속성과 그 속서에 접근하기 위한 getter / setter 메소드를 이용 - 데이터 저장 및 타입변환 기능 class UserDTO { private $id; private $name; private $email; private $age; public function __construct($id, $name, $email, $age) { $this->id = $id; $this->name = $name; $this->email = $email; $this->age = $age; } public function getId() { re..
2023.04.21 -
라라벨 서비스컨테이너와 서비스프로바이더 with DIP
서비스컨테이너(serviceContainer)란 객체를 생성하고 의존성 주입을 처리하는데 사용되는 라라벨의 기본 구성 요소입니다. 서비스 컨테이너는 라라벨 어플리케이션의 모든 객체를 인스턴스화하고 필요한 객체 간의 의존성을 자동으로 해결합니다. 이러한 기능을 수행하기 위해, 서비스 컨테이너는 객체의 클래스 이름과 생성 방법 등의 정보를 가지고 있습니다. 서비스프로바이더(serviceProvider)란 서비스 컨테이너에게 객체 생성 및 등록을 수행하는 역할을 합니다. 즉, 서비스 프로바이더는 라라벨 어플리케이션에 필요한 서비스들을 등록하고, 서비스 컨테이너가 이를 인스턴스화하고 의존성 주입을 처리할 수 있도록 지원합니다. 서비스 프로바이더는 서비스 컨테이너의 동작을 제어하는 데 사용되는 라라벨의 확장 기능..
2023.03.17 -
라라벨 가바지 컬렉션 처리
가바지 컬렉션(garbage collection : GC)은 메모리 관리 기법 중의 하나로, 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요없게 된 영역을 해제하는 기능을 말합니다. 라라벨은 PHP 언어를 기반으로 하며, PHP는 자체적으로 가비지 컬렉션을 처리합니다. 따라서, 라라벨에서 가비지 컬렉션을 처리하는 방법은 PHP 자체의 가비지 컬렉션 방식과 동일합니다. PHP의 가비지 컬렉션은 참조 카운트(reference counting)와 Zend Memory Manager를 기반으로 작동합니다. PHP에서는 참조하는 변수가 없을 때 메모리를 자동으로 해제하는데, 이를 참조 카운트 방식이라고 합니다. 또한, PHP의 Zend Memory Manager는 작은 크기의 객체에 대한 메모리 관리를 효율..
2023.03.17 -
Eloquent ORM 이란
Eloquent ORM 정의 Eloquent ORM 은 라라벨에서 제공하는 가볍고 사용하기 쉬운 ORM(Object-relational mapping) 으로 MVC 아키텍처에서 Model 을 담당하고 있습니다. ORM 정의와 특징 ORM(Object-relatinal mapping)이란 객체(CLASS)와 관계(RDBMS)와의 설정을 의미 합니다. 객체 지향 프로그래밍은 클래스를 사용하고 관계형 데이터 베이스는 테이블을 사용합니다. 여기서 객체 모델과 관계형 모델간에 불일치가 존재 하는데 이 객체간의 관계를 바탕으로 SQL을 자동 생성하여 불일치를 해결 하는 것이 ORM입니다. Object DB데이터 에서 매핑의 역할을 하는 것이 ORM이라 할 수 있습니다. ORM을 사용하면 SQL 에 코드에 포함시키지..
2022.12.14 -
static 정의
static이란 클래스를 정의할 때 static 키워드를 사용한 프로퍼티와 메소드는 해당 클래스의 인스턴스를 생성하지 않아도 접근할 수 있게 됩니다. 이러한 프로퍼티와 메소드를 정적 멤버(static member)라고 합니다. 코트 예시 정리 기존 클래스 밖에서 해당하는 변수나 함수에 접근하기 위해서는 인스턴스를 생성해서 접근을 해야 했지만 static은 바로 접근이 가능합니다. 접근을 할 경우에는 클래스명::접근하고자하는 변수나 함수로 작성을 하면 됩니다.
2022.03.04 -
접근제한자 public, private, protected 정의
접근제한자란 접근제한자란 멤버변수나 메소드의 어디에서 액세스 할 수 있는지를 지정하는 것입니다. 지정에는 public, private, protected의 3가지 중 하나를 지정합니다. 차이점 public - 클래스내, 클래스 외의 어디에서라도 액세스 가능 private - 같은 클래스안에서만 액세스 가능, 상속 불가, 직접 접근 불가 protected - 같은 클래스 및 자식클래스에서 액세스 가능, 상속 가능, 직접 접근 불가 코드
2022.03.04