我有两个控制器类AuthenticationController
和RegisterUrlController
。
我想在AuthenticationController
类中调用一个名为authorization
的函数来返回一个值,并使用RegisterUrlController
类中的值和函数registerUrl
作为CURLOPT_HTTPHEADER数组值的ACCESS_TOKEN
变量。
参见示例代码;
<?php
namespace App\Http\Controllers\C2B;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class RegisterUrlController extends Controller
{
public function registerUrl(Request $request)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
// The ACCESS_TOKEN should be passed from the other class
curl_setopt($curl, CURLOPT_HTTPHEADER,
array('Content-Type:application/json','Authorization:Bearer $ACCESS_TOKEN')
);
$curl_post_data = array(
//Fill in the request parameters with valid values
'ShortCode' => $request->ShortCode,
'ResponseType' => 'ResponseType',
'ConfirmationURL' => $request->confirmation_url,
'ValidationURL' => $request->validation_url
);
$data_string = json_encode($curl_post_data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string);
$curl_response = curl_exec($curl);
print_r($curl_response);
echo $curl_response;
curl_close($curl);
}
}
上面生成ACCESS_TOKEN
的类如下。
如何将此返回值作为上面数组头上的ACCESS_TOKEN
值传递?
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class AuthenticationController extends Controller
{
public function __construct()
{
$this->middleware('guest');
}
public function authorization()
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
$credentials = base64_encode('statum:ub435!');
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Authorization: Basic '.$credentials)); //setting a custom header
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$curl_response = curl_exec($curl);
return json_decode($curl_response); //this is the response I need passed over to the other class
}
}
问题,如何从另一个控制器获取值?
任何人?
您可以使用几种方法来执行此操作