php - 拉维尔 4 : Config get returns array or null

标签 php paypal laravel laravel-4 facade

我已经使用 php artisan config:publishapp/config/packages/lightshire/laravel/ 中发布了配置文件。我正在尝试访问这个

$client_id  = Config::get('lightshire/laravel-paypal::client_id');

它返回的全部是 array(0) { }

我的服务提供商

<?php
namespace Lightshire\Paypal;

use Illuminate\Support\ServiceProvider as IlluminateServiceProvider;

class PaypalServiceProvider extends IlluminateServiceProvider
{
    protected $defer = false;

    public function boot()
    {
        $this->package("lightshire/laravel-paypal");
        include app_path()."/routes.php";
    }

    public function register()
    {
        $this->app["paypal"] = $this->app->share(function($app)
        {

            return new Paypal;
        });
    }
    public function provides()
    {
        return array('paypal');
    }
}

我的 Paypal.php

<?php
    namespace Lightshire\Paypal;

    require base_path()."/vendor/autoload.php";


    use App;
    use Config;


    class Paypal
    {
        private $creds = null;
        private $token = null;

        public function __construct()
        {
            // // $data = Paypal::launch();
            // $this->creds = $data["creds"];
            // $this->token = $data["token"];

        }



        public static function getTokenCreds()
        {



            $client_id  = Config::get('lightshire/laravel-paypal::client_id');
            $secret     = Config::get('laravel-paypal:secret');
            $mode       = Config::get('laravel-paypal:mode');
            $endPoint   = Config::get('laravel-paypal:endpoint');
;
            $headers    = array(
                    // 'Authorization' => 'Basic '.$encodedID,
                    'Accept'            =>  'application/json',
                    'Accept-Language'   => 'en_US'
                ); 

            $params     = array(
                    'grant_type'    => 'client_credentials'
                ); 

            $url        = "https://api.sandbox.paypal.com/v1/oauth2/token";

            dd($client_id);

            $ch = curl_init();
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
            curl_setopt($ch, CURLOPT_USERPWD, $client_id.":".$secret);
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_HEADER, true);
            curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $params);

            $response = curl_exec($ch);

            curl_close($ch);

            return $response;
        }
    }

知道为什么吗?

最佳答案

在您的服务提供商的注册方法中试试这个(您可能需要编辑配置的位置):

$this->app['config']->package('lightshire/laravel-paypal', __DIR__.'/../../config');

第二个参数是你的配置的位置(待发布)

然后您应该能够通过以下方式访问您的配置:

Config::get('laravel-paypal::client_id');

关于php - 拉维尔 4 : Config get returns array or null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21691933/

相关文章:

mysql - 最佳性能结构

c# - 将敏感数据从我的网站发送到我的 C# 应用程序

php - 如何处理每次访问时都会更改的 ics 日历的 ID?

javascript - 如何在Yii2表单文本字段中设置标点符号?

如果信息太多,php 脚本不返回任何内容

forms - 如何将 2 个不同的提交按钮放在一个表单中(使用 CI)?

laravel - PayPal Checkout 出现访客结账错误

security - PayPal returnURL 安全性

php - 在 laravel 5.4 中为 mysql join 语句创建一个 PHP 多维数组,该数组为用户 id 返回多行

php - 我如何在 laravel 上对对象进行排序?