更新専門家の指示に従って、コードを次のように変更しました。
<?php
//Class Validation
class transaction_validate{
private $val_id;
function __construct($id) {
$this->val_id = $id;
}
public function status(){
//Call our server and decode json value
$data = $this->get_data($this->val_id);
$obj = json_decode($data);
return $obj->status;
}
public function amount(){
//Call our server and decode json value
$data = $this->get_data($this->val_id);
$obj = json_decode($data);
return $obj->amount;
}
//Create a function for fetching data
private function get_data($sid){
$url = 'https://domain.com/verify/process.php?trx='.$sid;
$ch = curl_init();
$timeout = 5;
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
}
$validate = new transaction_validate();
$validate->val_id = '5201211120944';
echo $validate->amount();
echo '<br>';
echo $validate->status();
そして、出力は
警告: transaction_validate::__construct() の引数 1 がありません。
致命的なエラー: プライベート プロパティ transaction_validate::$val_id にアクセスできません
混乱している!
============================前の質問=================== ==================
私はOOPスタイルのPHPコーディングを学んでいます。個人的な使用のためにスクリプトをコーディングしようとしましたが、間違っているようです。コードは次のとおりです。
<?php
//Class Validation
class transaction_validate{
var $val_id;
public function status(){
//Call our server and decore json value
$data = get_data();
$obj = json_decode($data);
return $obj->status;
}
public function amount(){
//Call our server and decore json value
$data = get_data();
$obj = json_decode($data);
return $obj->amount;
}
//Create a function for featching data
private function get_data($val_id){
$url = 'https://domain.com/verify/process.php?trx='.$val_id;
$ch = curl_init();
$timeout = 5;
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
}
$validate = new transaction_validate('5201211120944');
echo $validate->amount();
echo '<br>';
echo $validate->status();
そして、出力は
致命的なエラー: 17 行目の /home/userdo/public_html/class.php の未定義関数 get_data() の呼び出し
私は自分が何をしたかを認識する必要があります。