我正在尝试将我的函数中的API返回的错误消息显示在控制器中,但即使我自己设置了错误变量,它也会返回null,即:$error = 'Error Message'
功能:
class ImportexportDomains {
public function add($input) {
$error = $data['message'];
return $error;
}
}
控制器:
public function store() {
$input = array_except(Input::all(), '_method');
$addnew = new ImportexportDomains;
$addnew->add($input);
dd($addnew);
}
$addnew
ImportexportDomains {#285 ▼
+error: null
}
答案 0 :(得分:1)
$input
在上面的函数中,从未使用过public function add($input) {
$error = "";
if($input == ""){
$error = "Not valid input";
}
return $error;
}
,之后作为该函数中的参数传递的任何内容都将无效。
javax.net.ssl.trustStore=cacerts
javax.net.ssl.keyStore=1234567890123
javax.net.ssl.keyStorePassword=wordpass
这可能不是你想要的,但你可以从中得到想法。
答案 1 :(得分:0)
您的代码有几个错误。看起来你不明白一个类和对象是如何工作的。
ImportexportDomains add()
不是函数。它被称为方法。$data
变量在add
方法上下文中不存在。 (事实上,它不存在于任何地方)dd()
,而不是add
方法响应。我知道你想通过自己尝试来学习,但是有一个很好的社区叫Laracasts
,它有一些非常好解释的截屏视频。
这两个系列将帮助你理解一切!
您需要支付一个月的时间才能访问这些视频,但它只需要8美元!!!
答案 2 :(得分:0)
方式强>
class ImportexportDomains {
public $error;
public function add($input) {
$userid = Settings::where('acc_id', Auth::user()->acc_id)->where('setting', 'resellerclub_id')->value('value');
$apikey = Settings::where('acc_id', Auth::user()->acc_id)->where('setting', 'resellerclub_key')->value('value');
$cust_email = Client::where('id', $input['client_id'])->value('email');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://httpapi.com/api/customers/details.json?auth-userid=$userid&api-key=$apikey&username=$cust_email");
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$httpResponse = curl_exec($ch);
$data = json_decode($httpResponse, true);
if (isset($data['status'])) {
$error = $data['message'];
}
return $this->error = $error;
<强>控制器强>
public function store() {
$input = array_except(Input::all(), '_method');
$addnew = new ImportexportDomains;
$addnew->add($input);
echo $addnew->error;
}