비주얼 스튜디오 코드에서 라라벨로 PHP 시작하기

2024. 3. 13. 11:36인공지능,프로그래밍

반응형

 

 

비주얼 스튜디오 코드에서 라라벨 PHP를 설치하려면 다음 단계를 따르면 된다고 한다. 

  1. Docker Desktop 설치: 라라벨은 Docker를 사용하여 라라벨 프로젝트를 실행하기 위한 기본 제공 솔루션인 Sail을 제공합니다. 따라서 Docker Desktop을 설치해야 합니다1.
  2. WSL2 설치 및 활성화: Windows에서는 WSL2 (Windows Subsystem for Linux 2)를 설치하고 활성화해야 합니다1. WSL2를 사용하면 Windows 10에서 기본적으로 Linux 바이너리 실행 파일을 실행할 수 있습니다1.
  3. 라라벨 프로젝트 생성: 터미널에서 다음 명령을 실행하여 "example-app"이라는 디렉토리에 새로운 라라벨 애플리케이션을 생성할 수 있습니다.
    curl  -s "https://laravel.build/example-app"  | bash
    
  4. 라라벨 Sail 시작: 애플리케이션 디렉토리로 이동하여 라라벨 Sail을 시작할 수 있습니다1. 라라벨 Sail은 라라벨의 기본 Docker 구성과 상호 작용하기 위한 간단한 명령줄 인터페이스를 제공합니다1.
    cd  example-app 
    ./vendor/bin/sail up
    
  5. 웹 브라우저에서 애플리케이션 접근: 애플리케이션의 Docker 컨테이너가 시작되면 웹 브라우저에서 애플리케이션에 접근할 수 있습니다1.
 

 

 

하지만, 먼저 1번부터 막힌다. 

Docker Desktop이 뭐지?

Docker Desktop은 Docker라는 회사에서 개발한 애플리케이션으로, Mac, Linux, Windows 환경에서 컨테이너화된 애플리케이션과 마이크로서비스를 구축, 공유, 실행할 수 있게 해주는 도구입니다12.

Docker는 경량 가상화 기술인 리눅스 컨테이너를 구현하는 애플리케이션입니다.

가상머신에서 하드웨어부터 에뮬레이션하는 것과 달리, Docker를 사용하면 실행하고자 하는 프로세스만 격리된 환경에서 실행하는 것이 가능합니다34. 이를 통해 프로세스를 손쉽게 격리할 수 있으며, 격리된 환경을 이미지로 만들어 Docker만 돌아간다면 어디서든 똑같이 동작하는 컨테이너를 만들 수 있습니다34.

Docker Desktop은 기본적으로 Hyper-V 기능을 사용하기 때문에 Windows Pro 에디션에서만 사용할 수 있었습니다. 그러나 2020년 5월 Windows 10 May 2020 Update (20H1) 업데이트가 릴리스되면서 WSL2가 정식 릴리스되었고, 이를 통해 Windows Home에서도 Docker Desktop을 사용할 수 있게 되었습니다34. 이제는 WSL2를 기반으로 Docker Desktop을 사용하는 것이 가능하며, 이를 통해 Windows와 Mac 환경에서 Docker를 손쉽게 사용할 수 있습니다34.

 

 그런데 Docker Desktop 없이 설치하는 방법도 있다고 한다. 

그 방법은 이렇다. 

네, Docker Desktop을 사용하지 않고도 라라벨 PHP를 설치하고 사용할 수 있습니다. 다음은 그 과정입니다:

  1. PHP 설치: 라라벨은 PHP 프레임워크이므로, 먼저 PHP를 설치해야 합니다.
  2. Composer 설치: Composer는 PHP의 의존성 관리 도구입니다. 라라벨을 설치하고 관리하는 데 필요합니다.
  3. 라라벨 설치: Composer를 사용하여 라라벨을 설치할 수 있습니다. 터미널에서 다음과 같은 명령을 실행하면 됩니다2:
    composer global require laravel/installer
    
  4. 라라벨 프로젝트 생성: 라라벨 설치자를 사용하여 새로운 프로젝트를 생성할 수 있습니다2. 예를 들어, "example-app"이라는 이름의 프로젝트를 생성하려면 다음 명령을 실행하면 됩니다2:
    laravel new example-app
    
  5. 서버 실행: 생성된 라라벨 프로젝트 디렉토리로 이동한 후, PHP 내장 웹 서버를 사용하여 애플리케이션을 실행할 수 있습니다2. 다음 명령을 실행하면 됩니다2:
    cd example-app
    php artisan serve
    

이렇게 하면 웹 브라우저에서 http://localhost:8000 주소로 라라벨 애플리케이션에 접근할 수 있습니다2.

어찌 되었건 Composer 를 먼저 설치해야 한다고 하는데....

그 방법은 이렇다.

비주얼 스튜디오 코드에서 Composer를 설치하려면 다음 단계를 따르시면 됩니다:

  1. Composer 다운로드: 먼저, Composer의 공식 웹사이트에서Composer-Setup.exe파일을 다운로드합니다.
  2. Composer 설치: 다운로드한 Composer-Setup.exe 파일을 실행하여 설치를 진행합니다. 설치 과정에서는 별도로 설정을 변경할 필요가 없으며, 그대로 진행하시면 됩니다.
  3. 확인: 설치가 완료되면, Windows의 명령 프롬프트(cmd)를 관리자 권한으로 실행한 후, composer -V 명령을 입력하여 Composer가 정상적으로 설치되었는지 확인합니다. 이때, Composer version 1.0.0 2016-01-10 20:34:53와 같은 메시지가 출력되면 설치가 성공적으로 완료된 것입니다.

 

사실 비주얼 스튜디오 코드를 먼저 설치하는 것도 필요하지만,

인터넷 검색해서 설치하면 되기 때문에 따로 다룰 필요는 없어 보인다. 

그리고 알고 보니 Composer 역시 검색해서 해당 사이트에서 설치하면 되는 거였다. 

 

그런데, 프로젝트를 시작할 때 해당 프로젝트마다 폴더를 지정하고, 

그 폴더에 원하는 프레임워크 즉, 라라벨 같은 패키지를 다운 받아야 한다고 하는데..  

정말 그럴까? 그에 대한 답은 이러했다. 

각 프로젝트는 독립적인 환경을 가져야 하므로, 각 프로젝트 폴더에 필요한 프레임워크와 라이브러리를 설치하는 것이 일반적입니다. 이렇게 하면 프로젝트마다 필요한 특정 버전의 프레임워크나 라이브러리를 사용할 수 있으며, 프로젝트 간에 서로 영향을 주지 않습니다.

예를 들어, 라라벨 프로젝트를 생성할 때는 각 프로젝트 폴더에 라라벨을 설치합니다. 이는 Composer라는 PHP의 의존성 관리 도구를 사용하여 수행됩니다. 다음과 같은 명령을 통해 프로젝트 폴더에 라라벨을 설치할 수 있습니다:

composer create-project --prefer-dist laravel/laravel example-app

위의 명령은 example-app이라는 이름의 새로운 라라벨 프로젝트를 생성합니다. 이 프로젝트 폴더 내에는 라라벨 프레임워크와 필요한 모든 PHP 라이브러리가 설치됩니다.

따라서 비주얼 스튜디오 코드에서 작업할 때도 각 프로젝트별로 해당 폴더에 필요한 프레임워크와 라이브러리를 설치하는 것이 좋습니다. 이렇게 하면 각 프로젝트가 독립적인 환경을 유지할 수 있습니다.

 

 그러면 사이트를 시작해 볼까?

사이트를 시작하기 앞서 폴더를 어떻게 구성하면 좋을지 조언을 구해 보았다. 

 

폴더 구성 예시

 라라벨 프로젝트를 시작할 때 기본적으로 제공되는 폴더 구조를 이해하는 것이 중요합니다. 이 구조는 라라벨 애플리케이션의 다양한 부분을 조직화하고 관리하는 데 도움이 됩니다. 다음은 라라벨의 주요 폴더와 그 역할에 대한 설명입니다12:

  1. app: 애플리케이션의 핵심 코드가 들어 있습니다. 대부분의 클래스가 이 디렉토리에 있습니다1.
  2. bootstrap: 프레임워크의 부트스트래핑을 담당하는 디렉토리입니다1.
  3. config: 애플리케이션의 설정 파일을 포함하고 있습니다1.
  4. database: 데이터베이스 마이그레이션 파일, 모델 팩토리, 시딩 파일들을 포함하고 있습니다1.
  5. public: 애플리케이션에 진입하는 모든 요청에 대한 진입점 역할을 하는 디렉토리입니다1.
  6. resources: 뷰 파일과 CSS, 자바스크립트와 같이 컴파일 되기 전의 asset 파일들을 가지고 있습니다1.
  7. routes: 애플리케이션에서 정의된 모든 라우트들이 들어 있습니다1.
  8. storage: 애플리케이션의 로그, 컴파일된 블레이드 템플릿, 파일 기반의 세션, 파일 캐시 등이 저장되는 디렉토리입니다1.
  9. tests: 자동화된 테스트가 포함되어 있습니다1.
  10. vendor: Composer의 의존성 폴더입니다1.

 이번에는 조금 더 실제적인 예를 들어, 간단한 블로그 웹사이트를 만든다고 가정해봅시다.

이 경우, 다음과 같이 폴더와 파일들을 계획하고 구성할 수 있습니다:

  1. /app/Http/Controllers: 이 폴더에는 웹사이트의 각 페이지를 제어하는 컨트롤러 클래스를 생성합니다. 예를 들어, HomeController.php, PostController.php, CommentController.php 등의 파일을 만들 수 있습니다12.
  2. /app/Models: 이 폴더에는 데이터베이스의 각 테이블을 대표하는 모델 클래스를 생성합니다. 예를 들어, User.php, Post.php, Comment.php 등의 파일을 만들 수 있습니다12.
  3. /database/migrations: 이 폴더에는 데이터베이스의 테이블 구조를 정의하는 마이그레이션 파일을 생성합니다12.
  4. /resources/views: 이 폴더에는 웹사이트의 각 페이지를 구성하는 뷰 파일을 생성합니다. 예를 들어, home.blade.php, post.blade.php, comment.blade.php 등의 파일을 만들 수 있습니다12.
  5. /routes: 이 폴더에는 웹사이트의 URL 경로와 그에 해당하는 컨트롤러 메서드를 연결하는 라우트를 정의합니다12.

이렇게 각 폴더와 파일들을 목적에 맞게 계획하고 구성하면, 라라벨 프로젝트의 구조를 효율적으로 관리할 수 있습니다12. 또한, 이런 구조를 유지하면 코드의 가독성과 유지 보수성을 향상시킬 수 있습니다12.

 

또한, 애플리케이션의 크기와 복잡성에 따라 필요에 따라 추가 폴더를 생성하거나 기존 폴더를 재구성할 수 있습니다1. 이러한 구조를 이해하고 유지하면 코드의 일관성과 유지 관리성을 향상시킬 수 있습니다1.

 
 그럼 간단한 실행을 해 보자
 
 

라라벨 애플리케이션의 기본 구조를 활용한 간단한 웹 페이지를 만드는 예시를 들어보겠습니다.

이 예시에서는 “Hello, World!” 메시지를 출력하는 간단한 웹 페이지를 만들어 보겠습니다.

  1. 라우트 설정: 먼저, 웹 페이지에 접근할 수 있는 라우트를 설정해야 합니다. routes/web.php 파일을 열고 다음 코드를 추가합니다:
Route::get('/hello', function () {
    return view('hello');
});

이 코드는 /hello URL로 접근했을 때 hello라는 뷰를 반환하도록 설정합니다.

  1. 뷰 생성: 다음으로, hello 뷰를 생성해야 합니다. resources/views 디렉토리에 hello.blade.php 파일을 생성하고 다음 코드를 추가합니다:
<!DOCTYPE html>
<html>
<head>
    <title>Hello, World!</title>
</head>
<body>
    <h1>Hello, World!</h1>
</body>
</html>

이제 라라벨 애플리케이션을 실행하고 웹 브라우저에서 http://localhost:8000/hello 주소로 접속하면 “Hello, World!” 메시지가 출력되는 웹 페이지를 볼 수 있습니다.

이 예시는 라라벨의 기본 구조를 활용하여 간단한 웹 페이지를 만드는 방법을 보여줍니다. 라라벨은 MVC (Model-View-Controller) 패턴을 따르는 웹 애플리케이션 프레임워크이므로, 더 복잡한 웹 애플리케이션을 만들려면 모델, 뷰, 컨트롤러를 적절히 활용해야 합니다.

 

참고로 새로운 프로젝트를 시작하려면 비주얼 스튜디오 코드에서 새로운 폴더를 열어야 한다. 

그런데 새로운 폴더를 (없으면 만들어서) 지정하면, 어떤 언어로 작성할 것인지 묻는다. 

그 때 내가 사용하고자 하는 언어를 선택하면 된다. 

그런데 언어가 없다면....

 

 

오늘은 여기까지 ~

 

반응형