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

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-20 12:29:58
asal
2173 orang telah melayarinya

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

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan