Tutorial Upgrade ke Laravel 7

Tutorial Upgrade ke Laravel 7

Assalamualaikum wr, wb. Laravel 7 kini sudah rilis, terdapat beberapa improvisasi dari versi sebelumnya. Pada laravel 7 ini kita akan disuguhkan beberapa fitur baru diantaranya:

  • Laravel Airlock
  • Zttp for HTTP client
  • CORS Support
  • Custom Eloquent Cast
  • Fluent String Operations
  • Blade X
  • Customizable Stubs
  • Query Time Casts
  • Multiple Mail Driver
  • New Artisan Command

Namun pada tutorial kali ini, kita akan membahas bagaimana cara upgrade ke Laravel 7. Untuk panduan aslinya kalian dapat lihat disitus Laravel resminya Disini. Namun jika kalian belum mengerti, kalian dapat mengikuti tutorial disini. Hal pertama yang harus kalian ketahui, syarat untuk menggunakan Laravel 7 minimal PHP kalian harus versi 7.2.5. Hal lain yang harus kalian perhatikan adalah versi setiap dependencies akan berbeda. Agar tidak bingung langsung saja kita praktekkan.

Dalam tutorial ini saya menggunakan Laravel 6 sebelumnya. Dan akan saya upgrade ke Laravel 7. Silahkan cek versi laravel dengan mengetikkan php artisan -V

Tutorial Upgrade ke Laravel 7

Masih menggunakan Laravel versi 6.10.1 kan? Oke sekarang saatnya kita ikuti langkah-langkah berikut untuk upgrade versi laravel kita.


Langkah Pertama

Silahkan buka projek kalian, buka composer.json kemudian yang perlu kita perhatikan ada beberapa versi dependencies yang harus kita upgrade.

Penting: Jika kalian sudah memiliki banyak package, atau projek kalian sudah besar, maka saya sarankan jangan ikuti cara di atas, hehehe. 

Beberapa versi dependencies yang perlu diupgrade diantaranya:

  • "laravel/framework": "^6.2" menjadi "^7.0"
  • "facade/ignition": "^1.4" menjadi "^2.0"
  • "nunomaduro/collision": "^3.0" menjadi "^4.1"
  • "php": "^7.2" menjadi "^7.2.5"
  • "fideloper/proxy": "^4.0" menjadi "^4.2"
  • "mockery/mockery": "^1.0" menjadi "^1.3.1"
  • "phpunit/phpunit": "^8.0" menjadi  "^8.5"

Dan juga tambahkan ini pada objek "require"
  • "fruitcake/laravel-cors": "^1.0",
  • "guzzlehttp/guzzle": "^6.3",

Kurang lebih kode lengkapnya seperti berikut:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
{
    "name": "laravel/laravel",
    "type": "project",
    "description": "The Laravel Framework.",
    "keywords": [
        "framework",
        "laravel"
    ],
    "license": "MIT",
    "require": {
        "php": "^7.2.5",
        "fideloper/proxy": "^4.2",
        "fruitcake/laravel-cors": "^1.0",
        "guzzlehttp/guzzle": "^6.3",
        "laravel/framework": "^7.0",
        "laravel/tinker": "^2.0"
    },
    "require-dev": {
        "facade/ignition": "^2.0",
        "fzaninotto/faker": "^1.9.1",
        "mockery/mockery": "^1.3.1",
        "nunomaduro/collision": "^4.1",
        "phpunit/phpunit": "^8.5"
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true
    },
    "extra": {
        "laravel": {
            "dont-discover": []
        }
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/"
        },
        "classmap": [
            "database/seeds",
            "database/factories"
        ]
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "scripts": {
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover --ansi"
        ],
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate --ansi"
        ]
    }
}

Langkah Kedua

Silahkan buka file app/Exceptions/Handler.php, nah disini kita harus mengganti semua kode Exception menjadi Throwable. Ini adalah impact dari upgrading Symfony 5. Berikut adalah kode lengkapnya.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php

namespace App\Exceptions;

use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Throwable;

class Handler extends ExceptionHandler
{
    /**
     * A list of the exception types that are not reported.
     *
     * @var array
     */
    protected $dontReport = [
        //
    ];

    /**
     * A list of the inputs that are never flashed for validation exceptions.
     *
     * @var array
     */
    protected $dontFlash = [
        'password',
        'password_confirmation',
    ];

    /**
     * Report or log an exception.
     *
     * @param  \Throwable  $exception
     * @return void
     */
    public function report(Throwable $exception)
    {
        parent::report($exception);
    }

    /**
     * Render an exception into an HTTP response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Throwable  $exception
     * @return \Illuminate\Http\Response
     */
    public function render($request, Throwable $exception)
    {
        return parent::render($request, $exception);
    }
}

Langkah Terakhir

Ketikkan perintah composer update. Tunggu beberapa menit, agak lama sih proses ini, tergantung koneksi internet juga. Berikut tampilan saat instalasinya.

Tutorial Upgrade ke Laravel 7

Kemudian cek dengan perintah php artisan -V dan lihat Laravel kalian sudah berubah versi.

Tutorial Upgrade ke Laravel 7

Oke, sekian tutorial Upgrade Laravel 7 kali ini, semoga bermanfaat, jika ada pertanyaan atau masukkan silahkan tulis di komentar, mari kita belajar bareng disini. Wasalamualaikum wr. wb.

Thanks to Laravel and Bitfumes untuk referensinya

Posting Komentar

2 Komentar

  1. malah minta install laravel/ui.
    Install aja gitu?

    BalasHapus
    Balasan
    1. Biasanya kalau mau buat auth, harus install itu, tergantung kasusnya gimana, kalau tutorial di atas hanya sebatas upgrade versi, cukup itu saja.

      Hapus