Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 4包配置文件_Php_Laravel 4_Packages - Fatal编程技术网

Php Laravel 4包配置文件

Php Laravel 4包配置文件,php,laravel-4,packages,Php,Laravel 4,Packages,我开发了一个用于备份mysql数据库的Laravel4包,并将其推送到github和packagist。当我在另一个laravel装置上拉包时,一切正常。我发布包的配置文件没有问题,但是当我尝试覆盖发布的配置文件中的一些配置时,包仍然使用供应商中的原始配置文件,它不会查看发布的配置文件。这是我的密码: Vendor/rafia/db backup/src/rafia/DbBackup/backupdatebase.php <?php namespace Rafia\DbBackup; u

我开发了一个用于备份mysql数据库的Laravel4包,并将其推送到github和packagist。当我在另一个laravel装置上拉包时,一切正常。我发布包的配置文件没有问题,但是当我尝试覆盖发布的配置文件中的一些配置时,包仍然使用供应商中的原始配置文件,它不会查看发布的配置文件。这是我的密码:

Vendor/rafia/db backup/src/rafia/DbBackup/backupdatebase.php

<?php

namespace Rafia\DbBackup;
use Config;
use Illuminate\Filesystem\Filesystem;
class BackupDatabase {
/**
 * @var
 */
private $filesystem;
/**
 * @param Filesystem $filesystem
 */
public function __construct(Filesystem $filesystem)
{
    $this->filesystem = $filesystem;
}
public function backup()
{
    $this->DbBackupFolder();
    if($this->runBackup() == 0)
    {
        return true;
    }
    return false;
}
private function DbBackupFolder()
{
    if(!$this->filesystem->isDirectory(Config::get('DbBackup::DbBackupPath')))
    {
        return $this->filesystem->makeDirectory(Config::get('DbBackup::DbBackupPath'));
    }
    return true;
}
private function runBackup()
{
    $output = array();
    $return_var = NULL;
    $command = Config::get('DbBackup::DbMysqlDumpPath')." --opt --host=".Config::get('DbBackup::DbHost')." --user=".Config::get('DbBackup::DbUser')." --password=".Config::get('DbBackup::DbPass')." ".Config::get('DbBackup::DbName')." > ".Config::get('DbBackup::DbBackupPath')."/".Config::get('DbBackup::DbName')."_".date('m_d_y_g-i-a').".sql";
    $run = exec($command, $output, $return_var);
    return $return_var;
}
}

在服务提供商定义中添加:

public function boot() {
    $this->package('vendor/name', 'namespace');
}

public function register() {
    $loader = $this->app['config']->getLoader();

    // Get environment name
    $env = $this->app['config']->getEnvironment();

    // Add package namespace with path set, override package if app config exists in the main app directory
    if (file_exists(app_path() . '/config/packages/vendor/namespace')) {
        $loader->addNamespace('namespace', app_path() . '/config/packages/vendor/namespace');
    } else {
        $loader->addNamespace('namespace', __DIR__ . '/../../config');
    }

    $config = $loader->load($env, 'config', 'namespace');

    $this->app['config']->set('namespace::config', $config);

    ...  

虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,则仅链接的答案可能无效。请也看看这里:
<?php

return [
'DbName' => 'packages',
'DbUser' => 'root',
'DbPass' => '',
'DbHost' => 'localhost',
'DbMysqlDumpPath' => 'C:/xampp/mysql/bin/mysqldump',
'DbBackupPath' => app_path().'/storage/DbBackup'
];
<?php


namespace Rafia\DbBackup\Facades;

use Illuminate\Support\Facades\Facade;

class BackupDatabaseFacade extends Facade {

protected static function getFacadeAccessor() { return 'BackupDatabase'; }

}
public function boot() {
    $this->package('vendor/name', 'namespace');
}

public function register() {
    $loader = $this->app['config']->getLoader();

    // Get environment name
    $env = $this->app['config']->getEnvironment();

    // Add package namespace with path set, override package if app config exists in the main app directory
    if (file_exists(app_path() . '/config/packages/vendor/namespace')) {
        $loader->addNamespace('namespace', app_path() . '/config/packages/vendor/namespace');
    } else {
        $loader->addNamespace('namespace', __DIR__ . '/../../config');
    }

    $config = $loader->load($env, 'config', 'namespace');

    $this->app['config']->set('namespace::config', $config);

    ...