라라벨의 파사드와 헬퍼함수 그리고 Laravel Contracts
·
Laravel
파사드(Facades)란?세션과 큐와 같은 라라벨의 기능을 사용하기 위해 거쳐야 하는 복잡한 절차를 간편하게 정적 메서드로 제공하는 기능이름이 길고 기억하기 어려워 사용하기 번거로운 구체 클래스 또는 인터페이스에 대해 정적 프록시 역할을 한다 실시간 파사드직접 파사드 클래스를 상속받아서 만들지 않아도 네임스페이스에 Facades만 붙이면 사용할 수 있는 기능 헬퍼함수란?특별한 것은 아니고 일반적인 함수인데, 귀찮은 작업을 간단하게 할 수 있도록 도와준다는 점에서 헬퍼 함수이다 Contracts라라벨에서 단순히 인터페이스를 의미한다`Illuminate\Contracts` 에 위치한다
라라벨의 컨테이너와 서비스 프로바이더 개념
·
Laravel
오늘은 라라벨의 컨테이너와 서비스 프로바이더에 대해서 알아보려고 한다우선 컨테이너는 라라벨의 서비스 컨테이너, IoC 컨테이너, 어플리케이션 컨테이너 등 여러 이름을 가지고 있다 의존성 주입(DI - Dependency Injection)생성자, 메서드, 세터에 파라미터를 통해 외부에서 구체 클래스 또는 인터페이스를 충족하는 객체를 넣는 것외부에서 의존성을 주입하지 않고 비즈니스 로직 내부에서 객체를 직접 생성하면 결합도가 크게 증가한다유연성이 떨어지는 문제가 있다라라벨에서는 구체 클래스보다는 인터페이스를 통한 의존성 주입이 많다 서비스 컨테이너IoC 컨테이너로서 의존성을 외부에서 주입해서 해결한다 IoC비즈니스 로직에서 의존성을 직접 제어하지 않고 컨테이너에 의해 외부로부터 주입한다제어의 주체가 로직이..
라라벨의 아키텍처 - MVC에 대해서
·
Laravel
MVC(Model, View, Controller)모델(Model)사용자에게 무엇을 보여줄 것인지와 어플리케이션이 다루는 데이터가 무엇인지를 표현한다뷰(View)사용자에게 어떤 유저 인터페이스를 통해 보여줄 것인지를 나타낸다컨트롤러(Controller)모델에서 데이터를 얻어 오고, 뷰에 데이터를 전달하며 소통한다 모델이란?사용자에게 보여줄 데이터를 의미한다라라벨에서는 DB 테이블에 대해 하나의 클래스로 표현하고, 각 칼럼에 대해서도 프로퍼티로 매핑된다모델의 프로퍼티를 조작하고, DB 관련 메서드를 호출하여 데이터를 동기화한다 라라벨은 모델명과 테이블이 사용자가 직접 설정하기보다, 암묵적으로 약속된 관례에 따라 설정 되는 것을 지향한다! 엘로퀀트 ORM(Eloquent ORM)SQL을 하드코딩하지 않아도..
라라벨 프로젝트 세팅하기(아티즌, 환경설정)
·
Laravel
라라벨 프로젝트를 생성하기 위해선 다음과 같은 절차가 필요하다. PHP 설치Composer 설치 및 활성화라라벨 인스톨러 설치라라벨 프로젝트 다운로드 및 실행 아티즌이란?라라벨 프레임워크를 사용할 때 개발자에게 여러 도움을 주는 명령어 집합이다. 아티즌 명령어 확인하기php artisan list 아티즌 명령어 사용법 확인하기php artisan help [명령어] 라라벨의 환경설정환경변수는 `.env` 파일에서 관리한다공유가 필요하다면 값을 비우고 `.env.example`을 업로드한다환경설정은 이름=값 형태로 구성, 전역변수인 $_ENV에 할당된다APP_KEY : `php artisan key:generate` 로 설정된 값APP_DEBUG : true인 경우, 어플리케이션의 정보가 노출되므로 pr..
왜 라라벨을 사용하는걸까?
·
Laravel
라라벨이란?PHP를 사용해서 웹 어플리케이션을 개발할 때 사용하는 프레임워크이다. 그렇다면 왜 라라벨을 사용하는걸까?PHP는 언어 특성상 다른 언어에 비하면 높은 자유도를 갖는데, 이는 코드가 난잡해지고 유지보수가 어렵도록 만든다는 단점이 있다.그로인한 PHP 레거시 프로젝트에 대한 나쁜 인식이 있는데, 그러한 문제들 중 일부를 라라벨이 해결해줄 수 있다. 패키지 매니저인 컴포저(Composer)의 적극적인 활용오픈소스 패키지를 포함할 수 있음PSR-4 Autoloader Standard를 따르기에, 파일을 수동으로 포함할 필요가 없음아키텍처 중 하나인 MVC를 따르기에 구조적인 어플리케이션 구성 가능사용하는 기능과 구성 요소들이 위치할 폴더 구조가 어느정도 정해져 있으므로, 유지보수가 용이함디렉터리 ..