ホームページ > バックエンド開発 > PHPチュートリアル > Laravel4からLaravel5へ - シンプルなアップグレードガイド

Laravel4からLaravel5へ - シンプルなアップグレードガイド

尊渡假赌尊渡假赌尊渡假赌
リリース: 2025-02-18 09:05:09
オリジナル
301 人が閲覧しました

Laravel 4からLaravel 5への移行

:ステップバイステップガイド

Laravel 5がリリースされましたが、人々の変化に対する恐怖は残っています。新しいフォルダー構造など、いくつかの大きな変更について人々が不満を言うのを聞き続けています。アプリケーションが実行された場合、アプリケーションがクラッシュしますか? composer update

この記事では、既存のLaravel 4アプリをLaravel 5に移行し、新しいフォルダー構造について学ぶ方法について説明します。

Laravel 4 to Laravel 5 - The Simple Upgrade Guide

キーポイント

Laravel 4からLaravel 5へのアップグレードには、ファイルの更新、ルート、コントローラー、ビューの更新、Laravel 5の新しい機能と変更を使用するカスタムコードの変更など、いくつかのステップが含まれています。
    Laravel 5は、新しいディレクトリ構造、ルーティングの改善、環境構成の改善、ソーシャル、エリクサー、スケジューラなどの新しいコンポーネントなど、多くの新機能と改善を紹介します。
  • composer.jsonLaravel 5にアップグレードするプロセスは、アプリケーションのサイズに応じて、複雑で時間がかかる場合があります。ただし、新しいフォルダー構造にアップグレードする必要はありません。古い構造を維持し、作曲家の依存関係のみを更新できますが、これは推奨されるプラクティスではありません。
  • インストール

私の既存のLaravel 4アプリケーションは、Google Analytics APIの使用に関する以前の記事のデモプログラムです。アプリケーションにはあまりコードがありませんが、チュートリアルには十分です。 最初にコンピューターにLaravel 5をインストールし、Laravel 4バージョンのアプリケーションを保存する一時的なフォルダーを作成しましょう。

Composerを介してLaravelをインストールすることを好みますが、ドキュメントにアクセスしてLaravelインストーラーの詳細をご覧ください。

リポジトリでVagrant Virtual Machineを使用するか、Homesteadの改善を使用できます。すべてがうまくいけば、Laravel 5のウェルカムページが表示されます。
composer create-project laravel/laravel --prefer-dist
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

構成ファイル

古いフォルダーはアプリケーションのルートにあるようになるため、

に移動する必要があります。資格情報はファイルに直接貼り付けられているので、環境変数を使用してみませんか?

app/configapp/config/analytics.phpファイルは自動的にロードされ、ローカル環境の構成を生産環境、テスト環境などから分離するために使用できます。 config/analytics.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>// .env

app_name='YOUR APP NAME'
client_id='YOUR CLIENT ID'
client_secret='CLIENT SECRET'
api_key='API KEY'</code>
ログイン後にコピー
ログイン後にコピー

.env laravel 4ルートは

に登録されています。 Laravel 5では、すべてのHTTP関連部品がルートを含む

フォルダーの下にグループ化されているため、に移動します。

フィルター

app/routes.phpLaravel 5はフィルターからミドルウェアに移行されているため、ルートにフィルターが含まれている場合は、必ずミドルウェアに変更してください。 app/Http app/routes.php app/Http/routes.phpカスタムフィルターがある場合は、ミドルウェアに移行できます。ルートではGoogleLeLoginミドルウェアを使用しています。実装は次のとおりです。

composer create-project laravel/laravel --prefer-dist
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
// 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>// .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ロジックの一部と見なされているため、app/controllers/*app/Http/Controllersに移動し、App\Http\Controllers名前空間を使用する必要があります。あなたが修正する必要がある最後の問題は、Basecontrollerをコントローラークラスに変更することです。

アプリルートネームスペースが気に入らない場合は、以下のArtisanコマンドを使用してグローバルに変更できます。

Route::get('/report', ['middleware' => 'auth', function() {
    //
}]);
ログイン後にコピー

移行

Google Analyticsアプリケーションにはローカルデータベースの相互作用はありませんが、アップグレードプロセスには言及する価値があります。

app/databaseディレクトリは/databaseフォルダーにあります。ファイルをそこに移動するだけです。ディレクトリには、必要に応じて削除または更新できるユーザーテーブルとpassword_resetsテーブルが既に含まれています。

モデル

Laravel 4のモデルフォルダーが消え、Laravel 5はユーザーモデルをアプリフォルダーに直接配置します。例として。モデルをコピーして、アプリ名空間を使用することもできます。

ただし、モデルをそこに配置するというアイデアが気に入らない場合は、アプリディレクトリの下にモデルと呼ばれる新しいフォルダーを作成できますが、クラス名空間に

名前空間を使用することを忘れないでください。 。

App\Models

// 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);
  }
}
ログイン後にコピー
Application Service

SRCフォルダーには、Ga_ServiceとGa_utilsクラスが含まれています。それらがサービスだと思うなら、それらを

に入れることができます。それ以外の場合は、サービスクラスを保存する

という新しいフォルダーを作成できます。最初はPSR-4で自動的にロードされなかったため、これは問題を引き起こすため、正しい新しい名前空間でコントローラーのクラス参照を更新する必要があります。 app/Services app/GA

view

アプリケーションビューは、

フォルダーからフォルダーに移動します。

リソースフォルダーには、アプリケーションローカリゼーション用のLangフォルダーと、フロントエンドリソース用のAssetsフォルダーも含まれています。 Laravel 5はElixirを紹介します。これは、Gulp Task RunnerをLaravel開発環境に適応させます。 app/views resources/views

作曲家

アプリケーションのコンポーザー依存関係をコピーし、必要なアップグレードを行うようにしてください。デモのために、を新しいに移動し、これらの変更を反映するために

を実行します。

"google/apiclient": "1.1.*"composer.jsonformsおよびhtml composer update

パッケージは、Laravel 5のデフォルトインストールから削除されており、個別にインストールする必要があります。

HTMLヘルパー機能をプロジェクトに戻すには、"illuminate/html": "5.0.*"パッケージをcomposer.jsonに追加して実行する必要があります。その後、composer update>プロバイダーアレイに'Illuminate\Html\HtmlServiceProvider'を追加する必要があります。 。 HTMLを使用して、ブレードテンプレートに外観を形成する場合は、config/app.php外観アレイに次の外観を追加できます。 config/app.php

composer create-project laravel/laravel --prefer-dist
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

結論

Laravel 5にアップグレードするプロセスの複雑さと期間は、常にアプリケーションのサイズに依存します。特定のケースでは、プロセスはこの例よりもはるかに長くなる可能性があります。この記事では、変更する必要があるものをすべてではないにしても、ほとんどを処理する必要がある一般的なプロセスを説明しようとします。

新しいフォルダー構造にアップグレードする必要はありません。古い構造を維持し、作曲家の依存関係を更新するだけですが、これは推奨されるプラクティスではありません。ご質問やコメントがある場合は、以下に投稿してください。詳細については、フルバージョンアップグレードガイドを参照してください。

laravel 4 to laravel 5アップグレードガイドFAQ(FAQ)

Laravel 4とLaravel 5の主な違いは何ですか?

Laravel 5は、Laravel 4に基づいて多くの新機能と改善を紹介しています。これらには、新しいディレクトリ構造、ルーティングの改善、環境構成処理の改善、およびSocialIte、Elixir、Schedulerなどの新しいコンポーネントが含まれます。 Laravel 5は、Artisanと呼ばれる新しいコマンドラインインターフェイスも導入しています。これは、一般的なタスクに多くの有用なコマンドを提供します。

laravel 5の環境構成を処理する方法は?

Laravel 5は、環境構成を処理する新しい方法を紹介します。 Laravel 5は、単一の

ファイルを使用しなくなりましたが、代わりに各環境に1つの.env.phpファイルを使用します。これにより、さまざまな環境のさまざまな構成を簡単に管理できます。 .envファイルに環境変数を設定すると、Laravelが自動的にロードされます。 .env

Laravel 5の新しいディレクトリ構造は何ですか?

Laravel 5は、より直感的で柔軟なように設計された新しいディレクトリ構造を導入します。アプリディレクトリは、アプリケーションのルートディレクトリになりました。これには、HTTP、プロバイダー、コンソールなど、アプリケーションのさまざまな部分のいくつかのサブディレクトリが含まれています。パブリックディレクトリは、画像、JavaScript、CSSファイルなどのリソースを含むWebサーバーのルートディレクトリになりました。

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のルーティングシステムよりも柔軟で強力な新しいルーティングシステムを導入します。ルーターはapp/Http/routes.phpファイルで定義され、ルートをグループ化し、ミドルウェアを適用して、名前を付けても登録できます。

Laravel SocialIteとは何ですか?

Laravel SocialIteは、Laravel 5の新しいコンポーネントであり、OAuthプロバイダーを使用して認証するための簡単で便利な方法を提供します。複数の人気プロバイダーを箱から出してサポートし、独自のカスタムプロバイダーを追加することもできます。

Laravel 5で新しい職人コマンドを使用する方法は?

Laravel 5は、artisanと呼ばれる新しいコマンドラインインターフェイスを導入します。これは、一般的なタスクに多くの有用なコマンドを提供します。 Artisanを使用して、ボイラープレートコードを生成し、データベースの移行を実行し、ローカル開発サーバーを開始することもできます。

Laravel 5.0の新機能は何ですか?

Laravel 5.0では、新しいディレクトリ構造、ルーティングの改善、環境構成処理の改善、SocialIte、Elixir、Schedulerなどの新しいコンポーネントなど、いくつかの新機能を紹介します。また、Artisanという新しいコマンドラインインターフェイスも紹介します。

Laravel 5でデータベースの移行を処理する方法

Laravel 5は、データベーススキーマのバージョンを可能にする強力なデータベース移行システムを提供します。 Artisan Command Lineツールを使用して移行を作成し、Migrateコマンドを使用して実行できます。これにより、さまざまな環境でデータベーススキーマの変更を簡単に適用できます。

以上がLaravel4からLaravel5へ - シンプルなアップグレードガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート