>백엔드 개발 >PHP 튜토리얼 >Laravel 4 to Laravel 5- 간단한 업그레이드 가이드

Laravel 4 to Laravel 5- 간단한 업그레이드 가이드

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌원래의
2025-02-18 09:05:09314검색
Laravel 4에서 Laravel 5로 마이그레이션 : 단계별 가이드 라 라벨 5는 풀려 났지만 변화에 대한 사람들의 두려움은 여전히 ​​남아 있습니다. 우리는 사람들이 새로운 폴더 구조와 같은 큰 변화에 대해 불평하는 것을 계속 듣고 있습니다.

가 실행되면 응용 프로그램이 중단됩니까?

이 기사에서는 기존 Laravel 4 앱을 Laravel 5로 마이그레이션하고 새로운 폴더 구조에 대해 배우는 방법에 대해 안내합니다.

composer update

키 포인트

Laravel 4에서 Laravel 5로 업그레이드에는 파일 업데이트, 경로, 컨트롤러 및 뷰 업데이트 및 Laravel 5의 새로운 기능 및 변경 사항을 사용하기위한 사용자 정의 코드 수정 등 여러 단계가 포함됩니다. Laravel 4 to Laravel 5 - The Simple Upgrade Guide Laravel 5로 업그레이드하는 프로세스는 응용 프로그램의 크기에 따라 복잡하고 시간이 많이 걸릴 수 있습니다. 그러나 새로운 폴더 구조로 업그레이드 할 필요는 없습니다. 이전 구조를 유지하고 작곡가 의존성 만 업데이트 할 수 있지만 권장되는 관행은 아닙니다.

설치

내 기존 Laravel 4 응용 프로그램은 Google Analytics API 사용에 대한 이전 기사의 데모 프로그램입니다. 응용 프로그램에는 코드가 많지 않지만 자습서에는 충분합니다.
    먼저 컴퓨터에 Laravel 5를 설치하고 Laravel 4 버전의 응용 프로그램을 저장하는 임시 폴더를 작성하겠습니다.
  • composer.json 나는 작곡가를 통해 Laravel을 설치하는 것을 선호하지만 Laravel 설치 프로그램에 대한 자세한 내용은 문서에 액세스 할 수 있습니다.
  • 저장소에서 Vagrant Virtual Machine을 사용하거나 홈스테드 개선을 사용할 수 있습니다. 모든 것이 잘되면 Laravel 5의 환영 페이지가 표시됩니다.
  • 구성 파일
  • 이전 폴더는 이제 응용 프로그램의 루트에 위치하고 있으므로
  • 로 로 이동해야합니다. 자격 증명은 파일에 직접 붙여 넣으므로 환경 변수를 사용하지 않는 이유는 무엇입니까?

파일은 자동으로로드되며 로컬 환경 구성을 생산 환경, 테스트 환경 등과 분리하는 데 사용될 수 있습니다.

경로

Laravel 4 경로는 에 등록되어 있습니다. Laravel 5에서 모든 HTTP 관련 부품은 경로를 포함하여

폴더 아래로 그룹화되므로 로 로 이동하겠습니다.

<code class="language-bash">composer create-project laravel/laravel --prefer-dist</code>
필터 Laravel 5는 필터에서 미들웨어로 마이그레이션되었으므로 경로에 필터가 포함되어 있으면 미들웨어로 변경하십시오.

사용자 정의 필터가 있으면 미들웨어로 마이그레이션 할 수 있습니다. 내 경로에서 Googlelogin 미들웨어를 사용합니다. 구현은 다음과 같습니다.

<code class="language-bash">composer create-project laravel/laravel --prefer-dist</code>
<code class="language-php">// config/analytics.php

return [
  'app_name'          => env('app_name'),
  'client_id'         => env('client_id'),
  'client_secret'     => env('client_secret'),
  'api_key'           => env('api_key')
];</code>
<code>// .env

app_name='YOUR APP NAME'
client_id='YOUR CLIENT ID'
client_secret='CLIENT SECRET'
api_key='API KEY'</code>
CRSF 보호 미들웨어가 기본적으로 추가됩니다. 삭제하려면 파일로 이동하여 해당 라인을 주석 할 수 있습니다.

컨트롤러 app/Http/Kernel.php

컨트롤러는 http 로직의 일부로 간주되므로

로 로 이동하고 네임 스페이스를 사용해야합니다. 마지막으로 해결해야 할 문제는 BaseController를 컨트롤러 클래스로 변경하는 것입니다. 앱 루트 네임 스페이스가 마음에 들지 않으면 아래의 장인 명령을 사용하여 전 세계적으로 변경할 수 있습니다.

마이그레이션 app/controllers/* app/Http/Controllers Google Analytics 응용 프로그램에는 로컬 데이터베이스 상호 작용이 없지만 업그레이드 프로세스는 언급 할 가치가 있습니다. App\Http\Controllers

디렉토리는 이제

폴더에 있으므로 파일을 이동하면됩니다. 디렉토리에는 이미 사용자 테이블과 필요에 따라 삭제하거나 업데이트 할 수있는 Password_Resets 테이블이 포함되어 있습니다.

모델
<code class="language-php">Route::get('/report', ['middleware' => 'auth', function() {
    //
}]);</code>

Laravel 4의 모델 폴더가 사라지고 Laravel 5는 앱 폴더에 직접 사용자 모델을 예로 들어 배치합니다. 모델을 거기에 복사하고 앱 네임 스페이스를 사용할 수도 있습니다. 그러나 모델을 거기에 넣는 아이디어가 마음에 들지 않으면 앱 디렉토리에서 모델이라는 새 폴더를 만들 수 있지만 클래스 네임 스페이스에 네임 스페이스를 사용하는 것을 잊지 마십시오. .

응용 프로그램

우리의 SRC 폴더에는 ga_service와 ga_utils 클래스가 포함되어 있습니다. 우리가 그들이 서비스라고 생각한다면, 우리는 그것들을

에 넣을 수 있습니다. 그렇지 않으면 서비스 클래스를 저장할 app/database라는 새 폴더를 만들 수 있습니다. 처음에는 PSR-4로 자동로드하지 않았기 때문에 문제가 발생하므로 올바른 새 네임 스페이스로 컨트롤러의 클래스 참조를 업데이트해야합니다. /database

view

Application View는 폴더에서

폴더로 이동합니다.

리소스 폴더에는 애플리케이션 현지화를위한 Lang 폴더와 프론트 엔드 리소스 용 자산 폴더도 포함되어 있습니다. Laravel 5는 Elixir를 소개하여 Gulp Task Runner를 Laravel 개발 환경에 적용합니다.

작곡가

응용 프로그램의 작곡가 종속성을 복사하고 필요한 업그레이드를 수행하십시오. 우리의 데모의 경우, 나는 App\Models를 새로운

로 옮기고 이러한 변경 사항을 반영하기 위해 실행합니다.
<code class="language-php">// app/Http/Middleware/GoogleLogin.php

class GoogleLogin
{
  public function handle($request, Closure $next)
  {
    $ga = \App::make('\App\Services\GoogleLogin');
    if (!$ga->isLoggedIn()) {
      return redirect('login');
    }

    return $next($request);
  }
}</code>

형태 및 html Laravel 5의 기본 설치에서 패키지가 제거되었으며 별도로 설치해야합니다.

html 헬퍼 기능을 프로젝트에 다시 가져 오려면 패키지를 에 추가하고 를 실행 한 다음 > 제공 업체 배열에 를 추가해야합니다. . HTML을 사용하고 블레이드 템플릿에서 모양을 형성하려면

모양 배열에 다음 모양을 추가 할 수 있습니다. "illuminate/html": "5.0.*" composer.json 결론 composer update 'Illuminate\Html\HtmlServiceProvider' Laravel 5로 업그레이드하는 프로세스의 복잡성과 지속 시간은 항상 애플리케이션의 크기에 따라 다르며 특정 경우 에이 예보다 훨씬 길 수 있습니다. 이 기사에서는 변경해야 할 사항을 전부는 아니지만 대부분을 처리 해야하는 일반적인 프로세스를 설명하려고합니다. config/app.php 새 폴더 구조로 업그레이드 할 필요는 없으며 이전 구조를 유지하고 작곡가 종속성을 업데이트 할 수 있지만 권장되는 관행은 아닙니다. 질문이나 의견이 있으시면 아래에 게시하십시오. 자세한 내용은 정식 버전 업그레이드 안내서를 참조하십시오. config/app.php

Laravel 4 to Laravel 5 업그레이드 가이드 FAQ (FAQS)
<code class="language-bash">composer create-project laravel/laravel --prefer-dist</code>
Laravel 4와 Laravel 5의 주요 차이점은 무엇입니까?

Laravel 5는 Laravel 4를 기반으로 많은 새로운 기능과 개선 사항을 소개합니다. 여기에는 새로운 디렉토리 구조, 향상된 라우팅, 더 나은 환경 구성 처리 및 Socialite, Elixir 및 Scheduler와 같은 새로운 구성 요소가 포함됩니다. Laravel 5는 또한 Artisan이라는 새로운 명령 줄 인터페이스를 소개하여 일반적인 작업에 유용한 많은 명령을 제공합니다. Laravel 5에서 환경 구성을 처리하는 방법은 무엇입니까? Laravel 5는 환경 구성을 처리하는 새로운 방법을 소개합니다. Laravel 5는 더 이상 단일 파일을 사용하지 않고 대신 각 환경에 하나의 파일을 사용합니다. 이를 통해 다른 환경에 대해 다른 구성을보다 쉽게 ​​관리 할 수 ​​있습니다. 파일에서 환경 변수를 설정할 수 있으며 Laravel은 자동으로로드됩니다.

Laravel 5의 새로운 디렉토리 구조는 무엇입니까?

Laravel 5는보다 직관적이고 유연하게 설계된 새로운 디렉토리 구조를 소개합니다. 앱 디렉토리는 이제 응용 프로그램의 루트 디렉토리이며, 여기에는 HTTP, 제공자 및 콘솔과 같은 응용 프로그램의 여러 부분의 여러 하위 디렉토리가 포함되어 있습니다. 공개 디렉토리는 이제 이미지, JavaScript 및 CSS 파일과 같은 리소스를 포함하는 웹 서버의 루트 디렉토리입니다.

Laravel 4에서 Laravel 5로 업그레이드하는 방법은 무엇입니까?

Laravel 4에서 Laravel 5로 업그레이드하는 데 몇 단계가 포함됩니다. 먼저 최신 버전의 Laravel이 필요한 파일을 업데이트해야합니다. 그런 다음 Laravel 5의 새로운 기능과 변경 사항을 사용하려면 응용 프로그램 코드를 업데이트해야합니다. 여기에는 경로, 컨트롤러 및 뷰를 업데이트하고 작성하는 사용자 정의 코드가 포함될 수 있습니다.

Laravel Elixir 란 무엇이며 사용 방법은 무엇입니까?

Laravel Elixir는 Laravel 5의 새로운 구성 요소로서 기본 Gulp 작업을 정의하기위한 깨끗하고 부드러운 API를 제공합니다. Sass 및 CoffeeScript와 같은 일반적인 CSS 및 JavaScript 전 처리기를 지원하며 리소스를 버전하고 연결하는 편리한 방법을 제공합니다.

Laravel 5에서 새로운 라우팅 시스템을 사용하는 방법은 무엇입니까?

Laravel 5는 Laravel 4의 라우팅 시스템보다 유연하고 강력한 새로운 라우팅 시스템을 도입합니다. 라우터는 이제

파일로 정의되어 있으며 경로를 그룹화하고 미들웨어를 적용하고 네임 스페이스를 만들 수 있습니다.

Laravel Socialite 란 무엇이며 사용 방법은 무엇입니까?

Laravel Socialite는 Laravel 5의 새로운 구성 요소로 OAUTH 제공 업체를 사용하여 쉽고 편리한 방법을 제공합니다. 그것은 여러 인기있는 공급자를 상자에서 지원하며 자신의 사용자 정의 제공 업체를 추가 할 수도 있습니다.

Laravel 5에서 새로운 장인 명령을 사용하는 방법은 무엇입니까? app/Http/routes.php Laravel 5는 Artisan이라는 새로운 명령 줄 인터페이스를 소개하여 일반적인 작업에 대한 유용한 명령을 많이 제공합니다. Artisan을 사용하여 보일러 플레이트 코드를 생성하고 데이터베이스 마이그레이션을 실행하며 지역 개발 서버를 시작할 수도 있습니다.

Laravel 5.0의 새로운 기능은 무엇입니까?

Laravel 5에서 데이터베이스 마이그레이션을 처리하는 방법은 무엇입니까?

Laravel 5는 데이터베이스 스키마를 버전 할 수있는 강력한 데이터베이스 마이그레이션 시스템을 제공합니다. Artisan Command Line 도구를 사용하여 마이그레이션을 작성한 다음 Migrate 명령을 사용하여 실행할 수 있습니다. 따라서 다른 환경에서 데이터베이스 스키마 변경을 쉽게 적용 할 수 있습니다.

위 내용은 Laravel 4 to Laravel 5- 간단한 업그레이드 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.