Laravel 10의 새로운 기능: 최신 업데이트 및 기능에 대한 심층 분석

게시 됨: 2023-01-25

매우 인기 있는 Laravel 프레임워크가 도입된 지 10년이 지난 지금, "Laravel이 PHP 개발자에게 또 무엇을 제공할 수 있습니까?"라고 궁금해한 적이 있습니까?

초보자와 전문 개발자 모두를 위해 PHP 개발이 이미 얼마나 단순화되었는지를 감안할 때 일부는 심지어 개발자가 PHP가 가장 쉬운 프로그래밍 언어라고 믿게 만들었다고 주장할 수도 있습니다.

그렇다면 라라벨은 여전히 ​​라라벨 개발자들을 위한 더 많은 놀라움을 제공할까요? 아니면 PHP 개발자를 지원하기 위해 가능한 모든 수단을 소진했습니까?

글쎄요, 적어도 우리는 Laravel 10이 제공할 것이 많다는 것을 압니다. 이 기사에서 Laravel 10의 새로운 기능, 수정 사항, 더 이상 사용되지 않는 메소드 및 패키지를 통해 여러분을 안내할 것입니다.

Laravel 출시 일정

라라벨 코어 팀은 매년 2개의 주요 버전을 출시했습니다 — 6개월마다 하나씩.

그러나 Laravel의 창시자인 Taylor Otwell이 이제 매년 단일 주요 버전이 출시될 것이라고 발표하면서 출시 주기가 변경되었습니다. 이를 통해 핵심 팀과 커뮤니티는 프레임워크의 특정 버전에 더 많은 시간과 노력을 할애하고 큰 변화 없이 새로운 강력한 기능을 도입할 수 있었습니다.

Laravel 9이 2022년 2월 8일에 출시됨에 따라 예상되는 출시 일정은 다음과 같습니다.

  • Laravel 10 : 2023년 2월 7일
  • Laravel 11 : 2024년 2월 6일

또한 지원 정책에 따라 모든 Laravel 버전에 대해 버그 수정은 18개월 동안, 보안 업데이트는 2년 동안 제공됩니다.

다음은 예상되는 버그 수정 및 보안 업데이트 일정입니다.

  • Laravel 9는 2023년 8월 8일까지 버그 수정을, 2024년 2월 6일까지 보안 수정을 계속 받을 것입니다.
  • Laravel 10은 2024년 8월 6일까지 버그 수정을, 2025년 2월 4일까지 보안 수정을 받을 것입니다.
  • Laravel 11은 2025년 8월 4일까지 버그 수정을, 2026년 2월 2일까지 보안 수정을 받을 것으로 예상됩니다.

Laravel 10으로 업그레이드해야 합니까?

새 버전이 출시되자마자 애플리케이션의 Laravel 버전을 항상 최신 버전으로 업그레이드할 필요는 없다는 점을 기억하는 것이 중요합니다.

라라벨은 오픈 소스 프레임워크입니다. 즉, 시스템에 새 라라벨 인스턴스를 설치할 때마다 프레임워크의 코드베이스를 소유하게 됩니다. 즉, 앱에서 사용하는 프레임워크 버전이 더 이상 지원되지 않더라도 앱은 계속 작동합니다. 우리는 그것을 스스로 유지해야 할 것입니다.

따라서 프레임워크 업그레이드보다 애플리케이션 안정성을 우선시해야 한다는 의견이 널리 퍼져 있습니다.

요컨대 다음과 같은 경우 Laravel 10으로의 업그레이드를 고려해야 합니다.

  • 응용 프로그램은 현재 버전에서 안정적이며 문제 없이 작동합니다.
  • 새 버전은 애플리케이션에 필요한 기능을 추가하거나 애플리케이션에서 발생하는 문제를 수정합니다.
  • 업그레이드 변경 사항을 프로덕션에 적용하기 전에 응용 프로그램을 잘 테스트합니다.

라라벨 10 핫 업데이트

라라벨 10 로고
Laravel 10 로고 이미지.

아시다시피 Laravel 10은 아직 출시되지 않았습니다. 그러나 예상 릴리스에 대한 모든 최신 정보로 이 문서를 업데이트할 것입니다. 따라서 이 페이지를 즐겨찾기에 추가하고 수시로 다시 방문하는 것이 좋습니다.

Laravel 10의 새로운 기능 및 업데이트

새 릴리스에서 가장 흥미로운 부분은 새로운 기능의 추가라는 점에는 의심의 여지가 없습니다. 따라서 더 이상 고민하지 않고 Laravel 10의 새로운 기능과 업데이트를 살펴보는 것으로 시작하겠습니다.

1. PHP 8.1: Laravel 10의 핵심

PHP 8.1은 라라벨 10에서 최소로 요구되는 PHP 버전입니다. GitHub에서 라라벨 9 브랜치와 프레임워크의 마스터 브랜치를 비교한 결과 readonly 속성 및 array_is_list 와 같은 일부 PHP 8.1 기능이 라라벨 10에서 도입될 것으로 예상됩니다. .

2. PHP 8.2 지원

PHP 8.2는 2022년 12월 8일 Laravel 10 출시일보다 2개월 앞서 출시되었습니다. 그러나 추가 조치 없이 Laravel 10은 PHP 8.2를 사용할 준비가 되므로 PHP 8.2 기능을 사용하는 것을 중단해서는 안 됩니다.

실제로 Forge, Vapor, Envoyer를 포함한 전체 라라벨 생태계는 PHP 8.2를 지원하며 라라벨 9에서도 PHP 8.2를 사용할 수 있습니다. 얼마나 멋진가요?!

3. Laravel 스타터 키트 업그레이드

Laravel Breeze와 Jetstream은 Laravel 10이 출시되면 바로 사용할 수 있습니다. 또한 그들은 이미 Inertiajs 1로 업그레이드되었으며 JetStream은 완벽한 다크 모드 지원을 제공합니다.

4. Predis 버전 업그레이드

Predis는 환상적인 사용자 경험을 제공하기 위해 캐싱을 최대한 활용하는 데 도움이 되는 강력한 PHP용 Redis 클라이언트입니다. Laravel은 이전에 버전 1과 2를 모두 지원했지만 Laravel 10부터 프레임워크는 더 이상 Predis 1을 지원하지 않습니다.

Laravel 문서에는 Redis와 상호 작용하기 위한 패키지로 Predis가 언급되어 있지만 공식 PHP 확장을 사용할 수도 있습니다. 이 확장은 Redis 서버와 통신하기 위한 API를 제공합니다.

5. 네이티브 타입 선언

Laravel은 스켈레톤 코드에서 DocBlocks를 활용하여 코드 조각이 수행하는 작업과 예상되는 매개 변수 또는 응답의 종류를 명확히 했습니다. 그러나 Laravel 10의 기본 유형 선언 덕분에 변경될 것입니다.

이 변경 사항을 설명하는 가장 좋은 방법은 간단한 예를 들어 설명하는 것입니다. 다음과 같은 함수 대신:

 /** * Determine whether the user can create models. * * @param \{{ namespacedUserModel }} $user * @return \Illuminate\Auth\Access\Response|bool */ public function create({{ user }} $user) { // }

…대신 다음과 같이 표시됩니다.

 /** * Determine whether the user can create models. */ public function create({{ user }} $user): bool { // }

이 변경은 순전히 개발자 경험을 위한 것입니다. IDE는 예상되는 매개변수 및 응답의 형태를 알게 되기 때문입니다. PHP 기본 유형을 통해 가능하지 않은 경우 더 나은 유형 명확성을 제공합니다. 따라서 코드 편집기가 자동 완성 기능으로 더 잘 수행하는 데 도움이 됩니다.

6. 기본적으로 호출 가능한 모든 유효성 검사 규칙

Laravel 9에서 호출 가능한 유효성 검사 규칙을 만들려면 artisan 명령 뒤에 --invokable 플래그를 추가해야 합니다. 모든 Laravel 10 규칙이 기본적으로 호출 가능하기 때문에 더 이상 필요하지 않습니다. 따라서 다음 명령을 실행하여 Laravel 10에서 새로운 호출 가능한 규칙을 생성할 수 있습니다:

 php artisan make:rule CustomRule

7. 기본 열 수정 지원

열을 수정하기 위해 change() 를 사용할 때 doctrine/dbal 패키지의 필요성을 없애기 위해 Laravel 10에 새로운 기능이 추가됩니다. 이 기능을 통해 개발자는 change() 메서드를 사용하고 MySQL, PostgreSQL 및 추가 패키지가 필요 없는 SQL Server. 이것은 중요하고 위험한 브레이킹 체인지이지만 추가 패키지에 대한 필요성을 없애기 때문에 가치가 있다고 생각합니다.

새로운 기능을 더 잘 이해하려면 아래 예를 참조하십시오.

 $table->integer('user_balance')->unsigned()->default(0)->comment('balance'); // `user_balance` is an integer, unsigned, defaults to '0', and column comment is 'balance'

이제 user_balance 에 대한 열이 있고 해당 유형을 변경하려고 한다고 가정합니다. Laravel 10부터는 다음과 같이 간단하게 할 수 있습니다.

 $table->bigInteger('user_balance')->change(); // This will change `user_balance` to bigInteger instead of just integer

위의 코드는 열 유형을 성공적으로 변경하지만 UNSIGNED , DEFAULTCOMMENT 속성도 삭제합니다. 따라서 열 유형을 변경할 때 모든 속성을 추가하는 것을 기억하는 것이 중요합니다.

 $table->bigInteger('user_balance')->unsigned()->default(0)->comment('balance')->change();

여러 데이터베이스 연결이 있고 doctrine/dbal 을 이미 설치한 경우 App\Providers\AppServiceProviderboot 메서드 내에서 Schema::useNativeSchemaOperationsIfPossible() 메서드를 호출하여 네이티브 스키마 작업을 사용하고 패키지에 의존하기 전에 기본 작업(예를 들어 SQLite는 아직 지원하지 않음):

 use IlluminateSupportFacadesSchema; class AppServiceProvider extends ServiceProvider { public function boot() { Schema::useNativeSchemaOperationsIfPossible(); } }

8. 열 유형 기본 검색

Laravel 10의 또 다른 주목할만한 기능은 doctrine/dbal 패키지에 의존하지 않고 Schema::getColumnType 메소드를 사용할 수 있다는 것입니다. 우리는 현재 Schema::getColumnTypedoctrine/dbal 과 함께 사용하여 열 유형을 얻습니다. doctrine/dbal 은 모든 기본 열 유형을 그에 상응하는 doctrine/dbal 유형으로 매핑하며 다양한 데이터베이스에서 라라벨이 사용하는 많은 열 유형을 지원하지 않습니다.

반면에 라라벨 10에서 새로운 Schema::getColumnType 메소드는 그에 상응하는 doctrine/dbal 이 아닌 실제 열 유형을 반환합니다. 또한 새로운 기본 열 수정 기능에 대한 통합 테스트를 작성할 수 있습니다. 이 기능을 사용하여 지정된 열의 데이터 유형 이름 또는 전체 유형 정의를 가져올 수 있습니다.

 Schema::getColumnType('products', 'price'); // decimal

9. 더 빠른 해싱 알고리즘

xxHash는 매우 빠른 해시 알고리즘입니다. 뛰어난 출력 무작위성과 분산, 충돌을 줄이는 고유성이 특징입니다. PHP 8.1은 xxh128에 대한 지원을 제공하고 Laravel 10은 PHP 8.1에서 실행되므로 Laravel 10 내에서 이러한 신뢰할 수 있는 해시 알고리즘을 갖는 것이 이상적입니다.

Taylor가 이 변경 사항을 검토하는 동안 일부 타사 패키지는 Laravel이 해싱에 사용하는 알고리즘인 SHA-1 해시와 동일한 형식의 파일 이름에 의존할 수 있음을 강조한 점을 언급할 가치가 있습니다. 따라서 Laravel 10으로 업그레이드할 계획이라면 앱에서 사용 중인 타사 패키지에서 이를 다시 확인하는 것이 좋습니다.

10. Eloquent 빌더에 대한 whereExists() 메서드 지원

현재 whereExists() 를 사용하려면 클로저를 사용하여 중첩된 쿼리를 구성해야 합니다. 다행스럽게도 Laravel 10에서는 중첩 쿼리로 Eloquent Builder를 포함하는 것이 가능합니다. 사용자 지정 빌더 메서드, 모델 범위 등을 사용할 수 있습니다.

예를 들어 whereExists() 를 사용하려는 경우 일반적으로 이 작업을 수행합니다.

 Order::whereExists(function ($query) { $query->from('products')->whereColumn('products.order_id', 'orders.id'); });

Laravel 10에서는 다음과 같이 할 수 있습니다.

 Order::whereExists( Product::whereColumn('products.order_id', 'orders.id') );

11. 즉시 로딩 최적화

Laravel 10의 흥미로운 새 기능 중 하나는 로드할 키가 없을 때 즉시 로드 최적화입니다. 이 변경은 Eager Loading 관계로 인해 많은 수의 불가능한 쿼리가 실행되는 현재 문제를 해결하므로 기능이라기보다는 수정 사항에 가깝습니다.

현재 로드할 키가 없는 관계를 Eager 로딩할 때 Laravel은 select \* from `table_name` where 0 = 1 과 유사한 쿼리를 계속 실행할 것입니다. 그러나 새로운 Laravel 10 업데이트는 처음에 사용 가능한 키가 있는지 확인하고, 그렇지 않은 경우 빈 컬렉션을 제공하여 불필요한 데이터베이스 쿼리가 필요하지 않도록 합니다.

Laravel 10에서 사용되지 않는 메소드 및 패키지

Laravel 10은 PHP 8.0에 작별을 고합니다

Laravel 프레임워크는 Laravel 10에서 PHP 8.0에 대한 지원을 중단합니다. 따라서 앱을 Laravel 10으로 업그레이드하려는 경우 먼저 PHP 버전을 PHP 8.1 또는 PHP 8.2로 업데이트해야 합니다.

더 이상 사용되지 않는 메서드 제거

Laravel 코어 팀이 Laravel 10 브랜치에서 Laravel 9의 더 이상 사용되지 않는 메소드를 제거하고 있음을 알 수 있습니다. 팀이 Laravel 10이 출시되는 즉시 더 이상 사용되지 않는 모든 메서드와 패키지를 포함하도록 문서의 업그레이드 가이드를 업데이트할 것으로 예상합니다.

현재 프로젝트를 Laravel 10으로 마이그레이션하려는 경우 더 이상 사용되지 않는 메서드를 사용하는 모든 코드를 새로운 접근 방식으로 다시 작성해야 동일한 결과를 얻을 수 있습니다.

다음은 Laravel 9를 마스터 브랜치와 비교하면서 발견한 모든 지원 중단 및 삭제 목록입니다.

  • Route::home 메소드(Laravel 9에서는 더 이상 사용되지 않음)
  • 더 이상 사용되지 않는 dispatchNow 주변의 함수 및 메서드입니다. 이는 개발자가 즉시 디스패치를 ​​지원하는 유일한 방법인 dispatchSync 를 사용하도록 권장하기 위한 것입니다.
  • getBaseQuery 에 해당하는 항목이 있기 때문에 toBase
  • 더 이상 사용되지 않는 MaintenanceModeException 클래스
  • MocksApplicationServices 특성
  • 메일 가짜의 Mail::failures 메소드
  • 더 이상 사용되지 않는 $dates 속성, 대신 $casts 를 사용하는 것이 좋습니다.
  • assertTimesSent() 메소드
  • Predis 1 및 doctrine/dbal 2에 대한 지원 중단
  • Laravel이 버전 2에 대한 지원을 중단한 이후의 doctrine/dbal 의 모든 관련 지원 중단

라라벨 10 설치 방법

Laravel 10은 이미 사용 가능하여 기능을 테스트할 수 있습니다. Laravel 설치 프로그램의 –dev 플래그는 laravel/laravel 리포지토리에서 마스터 브랜치를 설치합니다. 터미널에서 다음 명령을 실행하기만 하면 됩니다.

 laravel new example-kinsta-app --dev

또는 Composer 사용을 선호하는 경우:

 composer create-project --prefer-dist laravel/laravel example-kinsta-app dev-master

Composer 명령을 더 잘 이해하기 위해 간단한 설명이 있습니다.

  • laravel/laravel : 라라벨 설치용 패키지
  • example-kinsta-app : 새 프로젝트의 새 디렉토리(변경 가능)
  • dev-master : Laravel의 다음 버전(이 경우 Laravel 10)

Laravel 10을 설치한 후 새 디렉토리 example-kinsta-app로 이동 하여 artisan 명령을 실행하여 버전을 확인할 수 있습니다.

 $ php artisan --version Laravel Framework 10.x-dev

프로젝트를 Laravel 10으로 업그레이드하는 방법

Laravel 10으로 업그레이드하고 싶습니까? Laravel 코어 팀은 가능한 모든 주요 변경 사항을 다루면서 원활하고 간단한 업그레이드 가이드를 제공하기 위해 열심히 문서 작업을 하고 있습니다. 업그레이드 프로세스에 대한 일부 정보가 현재 제공되므로 Laravel 10 업그레이드 가이드를 자유롭게 확인하십시오.

또한 Laravel 10이 출시되면 Laravel Shift를 주시해야 합니다. Laravel 버전 업그레이드에 대한 간단하고 자동화된 접근 방식을 제공합니다.

Laravel 문서 및 Laravel Shift 외에도 Kinsta는 실제 사례와 함께 포괄적인 업그레이드 가이드를 게시할 것입니다. 따라서 이 페이지를 즐겨찾기에 추가하고 Laravel 10이 출시되면 돌아가는 것을 잊지 마십시오.

Laravel 10 프로젝트를 배포하는 방법

Laravel 10 배포는 Laravel 9 프로젝트 배포와 크게 다르지 않아야 합니다. 서버 요구 사항은 다음과 같습니다.

  • PHP >= 8.1
  • BCMath PHP 확장
  • C타입 PHP 확장
  • cURL PHP 확장
  • DOM PHP 확장
  • 파일인포 PHP 확장자
  • JSON PHP 확장
  • Mbstring PHP 확장
  • OpenSSL PHP 확장
  • PCRE PHP 확장
  • PDO PHP 확장
  • 토크나이저 PHP 확장
  • XML PHP 확장

Laravel은 호스팅된 앱에 대해 지원되는 프레임워크의 긴 목록 중 하나이므로 몇 분 만에 Kinsta에서 Laravel 10 프로젝트를 배포하고 호스팅할 수 있습니다.

Kinsta에 Laravel 10 배포: 단계별 가이드

Kinsta에서 애플리케이션을 호스팅하고 배포하면 배포 구성에 신경 쓸 필요가 없다는 것을 포함하여 몇 가지 이점이 있습니다.

Kinsta는 애플리케이션 배포, 데이터베이스 연결 및 실시간 성능 모니터링을 위한 사용자 친화적이면서도 강력한 도구를 제공합니다. 이 도구는 MyKinsta로 알려져 있으며 이 섹션에서는 이를 사용하여 Laravel 10 애플리케이션을 배포하는 단계를 안내합니다.

1. 라라벨 10 애플리케이션

Laravel 10 애플리케이션 홈페이지
Kinsta에 배포된 Laravel 10 애플리케이션의 홈페이지입니다.

로컬에 Laravel 10 애플리케이션이 있다고 가정하면 사용 가능한 github 저장소가 있는지 확인해야 합니다. 나중에 이 리포지토리를 사용하여 애플리케이션을 배포합니다.

다음을 포함하는 애플리케이션의 루트 디렉토리에 .htaccess 파일을 포함할 수 있습니다.

 <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^(.*)$ public/$1 [L] </IfModule>

Laravel의 경우 모든 요청을 public/index.php로 리디렉션합니다. 그러나 필요한 경우 애플리케이션을 추가하는 동안( 프로세스 설정 단계) 또는 애플리케이션의 프로세스 페이지에서 배포한 후에 이 명령을 업데이트할 수 있습니다. 당신이 사용할 수있는:

  • heroku-php-apache2 /public
  • php artisan serve --host 0.0.0.0 --port 8080

2. MyKinsta에 로그인

MyKinsta 로그인 페이지
MyKinsta 로그인 페이지 스크린샷.

MyKinsta 로그인 페이지로 이동하여 이메일 주소와 비밀번호를 입력하십시오. 아직 계정이 없는 경우 새 계정을 등록하고 요금제 가입 첫 달에 $20 할인을 받을 수 있습니다.

3. GitHub에서 Kinsta 인증

로그인하면 대시보드에 WordPress 사이트 생성, 애플리케이션 생성 또는 데이터베이스 생성의 3가지 옵션이 있음을 알 수 있습니다. Connect GitHub 버튼을 눌러 GitHub와 통합합니다.

MyKinsta 대시보드
MyKinsta 대시보드용 스크린샷.

그런 다음 GitHub로 계속 버튼을 클릭합니다. GitHub에 아직 로그인하지 않은 경우 로그인 옵션이 표시됩니다. 그런 다음 Kinsta 승인 을 선택하여 Kinsta GitHub 애플리케이션이 GitHub 계정에 액세스하도록 승인할 수 있습니다.

마지막으로 GitHub는 애플리케이션 설정을 계속하기 위해 브라우저를 MyKinsta로 리디렉션합니다.

GitHub와 MyKinsta 연결
MyKinsta를 GitHub와 연결하기 위한 스크린샷.

GitHub에 연결되면 GitHub 리포지토리를 선택할 수 있는 드롭다운 메뉴가 있는 애플리케이션 추가 팝업/모달이 표시됩니다. GitHub 리포지토리 필드를 클릭하고 드롭다운에서 GitHub 권한 편집 을 선택합니다.

MyKinsta에 애플리케이션 추가
MyKinsta에 애플리케이션을 추가하기 위한 스크린샷.

이렇게 하면 Kinsta가 액세스할 수 있는 데이터를 선택할 수 있는 GitHub 웹 페이지에 대한 브라우저의 새 탭이 열립니다. 모든 리포지토리에 대한 액세스를 활성화하는 대신 Kinsta에서 사용하려는 리포지토리만 선택하는 것이 좋습니다. 리포지토리만 선택 을 클릭하고 배포할 리포지토리를 선택합니다.

GitHub에 MyKinsta 설치
GitHub에 MyKinsta를 설치하기 위한 스크린샷.

그런 다음 설치 를 클릭하면 모든 설정이 완료됩니다!

MyKinsta로 돌아가서 GitHub 리포지토리 필드를 클릭하면 승인된 리포지토리가 표시되어야 합니다. 또한 커밋 시 자동 배포 확인란을 선택하여 GitHub 리포지토리를 변경하는 즉시 MyKinsta의 기능이 애플리케이션을 자동 배포하도록 할 수 있습니다.

MyKinsta에 대한 저장소 분기 선택
MyKinsta에 대한 리포지토리 분기 선택 스크린샷.

4. 애플리케이션 기본 정보 추가

이제 애플리케이션에 대시보드에서만 사용되는 이름을 지정하고 25개의 데이터 센터 위치에서 선택하여 사용자에게 가장 가까운 지리적 위치에 애플리케이션을 배치할 수 있습니다. 애플리케이션에 적합한 데이터 센터를 결정하는 데 도움이 필요한 경우 올바른 데이터 센터 위치 선택 가이드를 확인하십시오.

애플리케이션 기본 세부정보 추가
애플리케이션 기본 세부 정보를 추가하기 위한 스크린샷입니다.

5. 환경 변수 추가

다음 섹션은 환경 변수를 추가하는 섹션이며 가장 중요한 변수는 APP_KEY 입니다.

.env 파일에 아직 키가 없다면 온라인 Laravel 키 생성기를 사용하여 키를 생성할 수 있습니다. 그런 다음 Key 1 필드에 APP_KEY 를 삽입하고 Value 1 필드에 생성된 앱 키를 삽입하십시오.

마지막으로 런타임 동안 사용 가능 및 빌드 프로세스 동안 사용 가능 을 선택합니다.

MyKinsta 애플리케이션에 환경 변수 추가
MyKinsta 애플리케이션에 환경 변수를 추가하기 위한 스크린샷.

5. 빌드 환경 구성

여기서 놀라운 점은 아무것도 구성할 필요가 없다는 것입니다! 계속 버튼을 클릭하면 계속 진행할 수 있습니다. 짜잔! 빌드 환경 구성을 완료했습니다. 그러나 더 빠른 빌드를 위해 빌드 리소스를 향상시키려는 경우 빌드 리소스 필드에서 원하는 항목을 선택할 수 있습니다.

빌드 경로 필드는 선택 사항입니다. 비워두면 MyKinsta가 루트 폴더를 사용합니다.

MyKinsta 애플리케이션 빌드 환경
애플리케이션의 빌드 환경 구성.

6. 프로세스 및 결제 방법 설정

리소스 섹션의 경우 각 필드에 다음 정보를 입력합니다.

  • 프로세스 이름: 애플리케이션의 프로세스 목록에 표시되는 이름입니다.
  • 프로세스 유형: 한 번 설정하면 변경할 수 없으므로 신중하게 선택하십시오. 그러나 배포 후 애플리케이션의 프로세스 페이지에서 백그라운드 작업과 같은 추가 프로세스를 추가하고 변경할 수 있습니다.
  • 시작 명령: 프로세스에 대한 "시작" 명령입니다(필수 아님).
  • 포드 크기: 프로세스에 필요할 것으로 예상되는 포드 용량입니다.
  • 인스턴스 수: 프로세스의 인스턴스 수(최대 50개).

Kinsta가 첫 번째 배포 중에 필요한 명령을 자동으로 감지하므로 시작 명령 필드를 채우지 않고 계속 을 클릭하기만 하면 됩니다.

MyKinsta 애플리케이션 설정 프로세스
애플리케이션 프로세스 설정 스크린샷.

마지막 단계에서는 앱에 대해 계산된 월별 사용 비용을 검토한 다음 결제 방법을 확인합니다. 완료되면 결제 수단 확인 버튼을 클릭합니다.

MyKinsta에 대한 결제 세부 정보 확인
결제 세부정보 확인을 위한 스크린샷

그리고 끝났습니다! Kinsta는 애플리케이션을 제공하기 위해 백그라운드에서 모든 작업을 수행합니다.

애플리케이션의 배포 프로세스 로드 중
애플리케이션의 배포 프로세스를 로드하는 스크린샷.

그런 다음 나중에 자신의 도메인으로 대체할 수 있는 임시 라이브 앱 URL뿐만 아니라 모든 배포 프로세스 세부 정보에 액세스할 수 있습니다.

애플리케이션의 성공적인 배포
MyKinsta에 Laravel10 애플리케이션을 성공적으로 배포했습니다.

귀하의 Laravel 10 애플리케이션은 이제 Kinsta에 게시되어 있지만 프로덕션에서 변경해야 하는 경우에는 어떻게 해야 합니까? 앵커 태그의 href 속성을 변경하려면 어떻게 해야 합니까? 커밋 시 자동 배포 기능을 활성화했기 때문에 MyKinsta는 배포된 브랜치에 대한 모든 변경 사항을 감지하고 그에 따라 라이브 앱을 자동으로 업데이트합니다.

7. Laravel 10을 MySQL 데이터베이스와 연결

이제 Laravel 10 애플리케이션을 배포했으므로 쉽게 데이터베이스를 구성하고 애플리케이션에 연결할 수 있습니다. 왼쪽 탐색 메뉴에서 애플리케이션 을 클릭한 다음 서비스 추가 를 클릭하고 데이터베이스 를 선택하기만 하면 됩니다.

MyKinsta에 새 데이터베이스 추가
MyKinsta에 새 데이터베이스를 추가하기 위한 스크린샷.

모든 필드를 채운 후 데이터베이스 생성 을 클릭합니다. 이렇게 하면 내부 및 외부 연결을 위해 준비된 새 데이터베이스가 설정됩니다. 이 시나리오에서는 배포한 Laravel 10 프로젝트에 대한 내부 연결이 필요합니다.

이를 위해서는 내부 연결 섹션에서 애플리케이션 추가 를 클릭하고 애플리케이션을 선택하기만 하면 됩니다. 애플리케이션에 환경 변수 추가 확인란을 선택하면 MyKinsta가 애플리케이션에 필요한 모든 .env 변수를 채웁니다.

Laravel 10 앱에 데이터베이스 연결
데이터베이스를 Laravel 10 애플리케이션에 연결하는 스크린샷.

이것으로 Laravel 10 애플리케이션이 배포되고 데이터베이스에 연결됩니다.

Laravel 10에 기여하는 방법

Laravel은 핵심 팀에 의해 유지 관리되지만 3,000명 이상의 자원 봉사 기여자가 적극적으로 개발하고 있습니다.

그러한 기여자가 되어 Laravel의 미래를 형성하는 데 도움을 주고 싶습니까? 예라고 답했다면 새로운 기능을 추가하거나 버그를 수정하거나 설명서의 혼란스러운 부분을 다시 작성하여 전 세계 개발자를 도울 수 있습니다.

Laravel 10에 기여하려면 다음을 수행해야 합니다.

  1. Laravel의 GitHub 리포지토리로 이동하여 제목에 [10.x] 태그가 지정된 풀 리퀘스트를 확인하십시오. 이것은 Laravel 10에 대한 모든 풀 리퀘스트에 대한 명확한 그림을 제공할 것입니다. PR 중 하나가 귀하가 의도한 기여를 다루는 경우 이를 개선할 수 있는지 확인하십시오.
  2. 계획된 기여가 아직 다른 사람에 의해 해결되지 않은 경우 직접 PR을 만들 수 있습니다.
  3. 프레임워크 코드베이스에 모든 것을 추가할 가치가 있는 것은 아닙니다. 따라서 향후 유지 관리가 용이하고 대부분의 Laravel 커뮤니티에 도움이 될 개선 사항만 구현하도록 노력하십시오.
  4. 변경 사항을 프레임워크와 병합할 수 있는 더 나은 기회를 얻으려면 Laravel의 기여 지침을 준수하십시오.

Laravel 10을 좋아하는 또 다른 이유는 버그 헌팅을 통해 기여에 대한 보상을 얻을 수 있기 때문입니다! 다음에 살펴보겠습니다.

Laravel 10 버그 헌트 대회

Laravel 10 버그 헌트 대회
Laravel 10 버그 헌트 대회.

Laravel 10은 무작위 기여자가 $1,000를 얻을 수 있는 훌륭한 콘테스트를 발표했습니다.

이것은 Laravel 역사상 최초의 콘테스트가 될 것입니다. 커뮤니티가 Laravel 10의 숨겨진 버그를 찾아 패치하도록 장려하기 위해 설계되었습니다.

규칙은 간단합니다.

  • laravel/framework 리포지토리의 10.x 브랜치에 제출된 PR만 대상입니다.
  • "정품" 버그 수정만 고려됩니다. 새로운 기능, 리팩토링 및 오타 수정은 고려되지 않습니다.
  • 모든 버그 수정은 테스트를 통해 지원되어야 합니다.
  • 허용된 버그 수정은 GitHub에 표시되며 콘테스트 종료 시 무작위 우승자가 발표됩니다.

대회는 Laravel 10의 첫 번째 안정 버전이 출시되면 종료됩니다. 그때까지 보류 중이거나 Laravel 10 릴리스 이후에 제출된 모든 풀 요청은 자격이 없습니다.

요약

이 기사의 내용이 아닙니다! 출시일까지 더 많은 변경 사항이 있을 예정입니다. 그러나 당분간 Laravel 10은 매우 유망한 것으로 보이며 PHP 세계에 제공하는 모든 선물을 다루게 되어 기쁩니다.

그 동안 Laravel 앱의 성능을 향상시키는 더 많은 방법을 찾고 있다면 프리미엄 호스팅 공급자로 전환하는 것을 고려할 수 있습니다. Kinsta의 애플리케이션 호스팅 솔루션은 업계에서 가장 빠르고 가장 안전하며 사용하기 쉬운 솔루션 중 하나이며 개발자를 염두에 두고 특별히 설계되어 숙련된 개발자의 생산 간소화 및 연중무휴 전문가 지원을 제공합니다.