我开发一个应用程序,我想用CURL获取一些数据,我正在使用Guzzle来获取这些信息。在每个请求中,我都需要将参数放在api_token
.我对请求没有问题,但我需要创建一个全局变量或配置此值。我的问题是:我如何定义这个值并在我发出的每个请求中使用它们?
$response = $client->request('POST', 'https://api.iugu.com/v1/payment_token?api_token=API_TOKEN', [
'json' => [
'account_id' => $account_id,
'method' => $method,
'test' => true,
'data' => [[
'number' => $number,
'verification_value' => $verification_value,
'first_name' => $first_name,
'last_name' => $last_name,
'month' => $month,
'year' => $year
]]
]
]);
当我用纯PHP创建一个项目时。我使用这个:
require 'environment.php';
$config = array();
if(ENVIRONMENT == 'development') {
define("BASE_URL", "http://localhost/plans/");
define("ACCOUNT_ID", "SECRET");
define("ACCESS_TOKEN", "SECRET");
$config['db_name'] = 'SECRET';
$config['host'] = 'localhost';
$config['db_user'] = 'root';
$config['db_password'] = 'XXXXXX';
} else {
define("BASE_URL", "http://www.blablabla/test");
define("ACCOUNT_ID", "SECRET");
define("ACCESS_TOKEN", "MY_TOKEN");
$config['db_name'] = 'INSERIR DATABASE';
$config['host'] = 'INSERIR HOST';
$config['db_user'] = 'INSERIR USUARIO';
$config['db_password'] = 'INSERIR SENHA';
}
global $database;
try {
$database = new PDO("mysql:dbname=".$config['db_name'].";host=".$config['host'], $config['db_user'],$config['db_password']);
} catch (Exception $ex) {
echo "Erro: ".$ex->getMessage();
exit;
}
在environment.php
:
<?php
define("ENVIRONMENT", "development");
//define("ENVIRONMENT", "production");
值都应该在你的.env
文件中。然后,您需要使用帮助程序在配置文件中读取这些值env()
:
'variable' => env('SOME_DATA'),
然后,您将能够全局使用这些值:
config('config_file.variable')
对于全局变量,您可以在文件夹中创建一个类似constants.php
config
文件。
在constants.php
文件中,您可以定义全局变量api_token
如下所示:
<?php
return [
'api_token' => env('API_TOKEN','https://api.iugu.com/v1/payment_token?api_token=API_TOKEN'),
];
?>
您现在可以使用以下两个函数之一访问此变量:
Config::get('constants.api_token')
config('constants.api_token')
对于刀片文件,请执行以下操作:
{{ config('constants.api_token') }}
另一种方法是在位于控制器文件夹中Controller.php
文件中__construct
函数中设置全局变量,如下所示:
class Controller extends BaseController
{
public $api_token;
public function __construct(){
$this->api_token = "https://api.iugu.com/v1/payment_token?api_token=API_TOKEN";
}
从您的问题中,我不知道您想将api_token
或ENVIRONMENT
为全局变量,但两种解决方案都可以解决您的问题。