07/09/2018, 17:48

Cập nhật Laravel 5.5 Phần 6: Automatic Package Discovery

Ở các phiên bản trước Laravel 5.5 muốn cài 1 package nào đó chẳng hạn: laracasts/flash bạn phải chạy lên command composer composer require laracasts/flash Sau đó add vào danh sách providers trong app/config.php 'providers' => [ LaracastsFlashFlashServiceProvider::class, ]; ...

Ở các phiên bản trước Laravel 5.5 muốn cài 1 package nào đó chẳng hạn: laracasts/flash bạn phải chạy lên command composer

composer require laracasts/flash

Sau đó add vào danh sách providers trong app/config.php

'providers' => [
    LaracastsFlashFlashServiceProvider::class,
];

 Cuối cùng nếu có aliase và bạn muốn dùng phải thêm vào mảng aliases trong app/config.php

    'aliases' => [
        'View' => IlluminateSupportFacadesView::class,
        ...
        'Flash' => LaracastsFlashFlash::class,
        ...
    ],

Kể từ phiên bản Laravel 5.5 này, package nào tích hợp Package Discovery thì không cần phải làm gì cả, nếu bạn là nhà phát triển các gói cho mình xài hoặc cho cộng đồng xài thì nên cập nhật file composer.json cho package như sau:

"extra": {
    "laravel": {
        "providers": [
            "LaracastsFlashFlashServiceProvider"
        ],
        "aliases": {
            "Flash": "LaracastsFlashFlash"
        }
    }
},

Nếu như bạn muốn package nào đó không tự động tích hợp vào project của mình thì sửa file composer.json ở root project

    "extra": {
        "laravel": {
            "dont-discover": [
                "laracasts/flash"
            ]
        }
    },

Nếu muốn tự làm thủ công tất cả thì sẽ như thế này:

    "extra": {
        "laravel": {
            "dont-discover": [
                "*"
            ]
        }
    },

0