20241227

Laravel + VSCode

Laravel이란?

Laravel은 PHP의 인기 있는 프레임워크로, 웹 애플리케이션 개발을 효율적으로 도와줍니다. Laravel은 코드의 재사용성을 높이고, 개발자가 복잡한 작업을 더 쉽게 처리할 수 있도록 다양한 기능을 제공합니다.

Laravel 설치 및 서버 실행

Laravel을 설치하기 위해서는 Composer가 필요합니다. Composer는 PHP 소프트웨어와 라이브러리의 의존성을 관리하는 패키지 관리자입니다. 이를 통해 필요한 확장 기능을 쉽게 설치하고 관리할 수 있습니다.

1. Composer 설치

Composer를 설치하려면 Composer 공식 웹사이트에서 다운로드하고 설치를 진행합니다.

  1. "Getting Started"를 클릭합니다.
  2. "Setup" 파일을 다운로드하여 Composer를 설치합니다.
  3. 설치 후, 아래 명령어를 통해 Composer가 제대로 설치되었는지 확인할 수 있습니다:
    composer --version

2. Laravel 프로젝트 설치

Laravel을 설치하고 새로운 프로젝트를 생성하려면, 프로젝트를 배치할 폴더로 이동한 후 아래 명령어를 실행합니다:

composer create-project --prefer-dist laravel/laravel 프로젝트명

위 명령어를 실행하면, Laravel 프로젝트가 생성됩니다.

3. 서버 실행

Laravel 프로젝트 폴더로 이동하여 아래 명령어로 서버를 실행합니다:

php artisan serve

서버를 종료하려면 Ctrl + C를 눌러 서버를 중지할 수 있습니다.

4. 웹 브라우저에서 확인

웹 브라우저에서 localhost:8000을 입력하여 Laravel 서버가 정상적으로 실행되는지 확인합니다.

VSCode 세팅

Laravel 프로젝트를 VSCode에서 쉽게 작업하려면, Laravel 관련 익스텐션을 추가하는 것이 좋습니다.

추천 익스텐션 목록:

  • Laravel Artisan: Artisan 명령어를 쉽게 실행할 수 있게 도와주는 익스텐션.
  • Laravel Blade Snippets: Blade 템플릿 코드 자동 완성을 도와주는 익스텐션.
  • Laravel Blade Spacer: Blade 코드 인식 기능을 추가하는 익스텐션.
  • Laravel Go to View: view('welcome')와 같은 코드에서 해당 뷰 파일로 바로 이동할 수 있게 도와주는 익스텐션.
  • Laravel Snippet: Laravel 코드 자동 완성 기능을 제공하는 익스텐션.
  • Live Sass Compiler: SCSS 파일을 저장하면 자동으로 컴파일을 해주는 익스텐션.
  • PHP IntelliSense: PHP 코드 자동 완성과 정의로 이동하는 기능을 제공하는 익스텐션.
  • Getter Setter Generator: 자동으로 Getter와 Setter 메서드를 생성해주는 익스텐션.
  • Bracket Pair Colorizer2: 코드 블록의 시작과 끝을 색상으로 구분해주는 익스텐션.
  • Material Icon Theme: 프로젝트 파일의 아이콘을 보기 쉽게 바꿔주는 익스텐션.
  • Env: .env 파일을 보기 좋게 색상 처리를 해주는 익스텐션.

Laravel 프로젝트 디렉토리 구조

Laravel 프로젝트는 여러 중요한 파일과 디렉토리로 구성되어 있습니다. 각 파일과 디렉토리의 역할은 다음과 같습니다:

  • .env: 환경 설정 파일로, 데이터베이스 연결 정보 등이 포함됩니다.
  • config: 애플리케이션의 설정 파일들이 위치하는 디렉토리입니다.
  • artisan: Artisan 명령어를 실행하는 파일입니다.
  • composer.json: Composer를 통해 패키지를 관리하는 파일입니다.
  • package.json: Node.js 패키지를 관리하는 파일입니다.
  • webpack.mix.js: JavaScript 및 SCSS 파일을 컴파일하는 설정 파일입니다.
  • resources: Blade 뷰 파일 등 리소스들이 위치하는 디렉토리입니다.
  • routes/web.php: 웹 애플리케이션의 URL 라우팅을 정의하는 파일입니다.
  • public: 웹 애플리케이션의 공개 파일이 위치하는 디렉토리입니다. (CSS, JavaScript 등)
  • storage: 캐시, 세션, 로그 등의 파일이 저장되는 디렉토리입니다.
  • vendor: Composer 패키지들이 저장되는 디렉토리입니다.
  • bootstrap: Laravel의 초기화와 관련된 파일들이 위치하는 디렉토리입니다.
  • app/Http/Controllers: 컨트롤러 클래스가 위치하는 디렉토리입니다.
  • app/Model: 모델 클래스가 위치하는 디렉토리입니다.
  • resources/views: Blade 템플릿 파일들이 위치하는 디렉토리입니다.