Rumah pembangunan bahagian belakang tutorial php laravel扩展包的配置文件复制到config文件夹下的问题解决

laravel扩展包的配置文件复制到config文件夹下的问题解决

Jun 20, 2016 pm 12:29 PM

我们在写扩展包的时候,总是会纠结,里面的一些个性化的配置要怎么处理呢。

laravel 很好的解决了这个问题。

laravel 的 ServiceProvider很好的解决了这个问题。

具体来说,如果,你想要在外部配置你的扩展包,那么,就先要把你这个 包注册成 服务。

首先需要定义一个类 继承 ServiceProvider.

1.里面定义一个register函数 指定 包所用的配置文件的绝对路径,然后把配置的外部文件和内部文件的内容合并。

2.在boot函数中,指定 publish的具体位置。

代码如下

<?php/** * Created by Bane.Shi. * Copyright MoenSun * User: Bane.Shi * Date: 16/4/30 * Time: 00:06 */namespace MoenSun\MSFileSystem;use Illuminate\Support\ServiceProvider;class MSFileSystemServiceProvider extends ServiceProvider{    public function register()    {        $configPath = __DIR__ . '/../../../config/mslaravelsystem.php';        $this->mergeConfigFrom($configPath,"mslaravelsystem");    }    public function boot(){        $app = $this->app;        $configPath = __DIR__ . '/../../../config/mslaravelsystem.php';        $this->publishes([$configPath => $this->getConfigPath()],'config');    }    public function getConfigPath(){        return config_path("mslaravelsystem.php"); }    protected function publishConfig($configPath)    {        $this->publishes([$configPath => config_path('mslaravelsystem.php')], 'config');    }}
Salin selepas log masuk

在 config/app.php 文件夹下,添加该服务

在 providers 数组下添加

MoenSun\MSFileSystem\MSFileSystemServiceProvider::class
Salin selepas log masuk

再执行

php artisan vendor:publish
Salin selepas log masuk

这样文件就会copy 到config文件夹下了。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

11 skrip pemendek URL terbaik PHP (percuma dan premium) 11 skrip pemendek URL terbaik PHP (percuma dan premium) Mar 03, 2025 am 10:49 AM

11 skrip pemendek URL terbaik PHP (percuma dan premium)

Pengenalan kepada API Instagram Pengenalan kepada API Instagram Mar 02, 2025 am 09:32 AM

Pengenalan kepada API Instagram

Bekerja dengan Data Sesi Flash di Laravel Bekerja dengan Data Sesi Flash di Laravel Mar 12, 2025 pm 05:08 PM

Bekerja dengan Data Sesi Flash di Laravel

Bina aplikasi React dengan hujung belakang Laravel: Bahagian 2, React Bina aplikasi React dengan hujung belakang Laravel: Bahagian 2, React Mar 04, 2025 am 09:33 AM

Bina aplikasi React dengan hujung belakang Laravel: Bahagian 2, React

Respons HTTP yang dipermudahkan dalam ujian Laravel Respons HTTP yang dipermudahkan dalam ujian Laravel Mar 12, 2025 pm 05:09 PM

Respons HTTP yang dipermudahkan dalam ujian Laravel

Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST Mar 14, 2025 am 11:42 AM

Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST

12 skrip sembang php terbaik di codecanyon 12 skrip sembang php terbaik di codecanyon Mar 13, 2025 pm 12:08 PM

12 skrip sembang php terbaik di codecanyon

Pemberitahuan di Laravel Pemberitahuan di Laravel Mar 04, 2025 am 09:22 AM

Pemberitahuan di Laravel

See all articles