ich neu zu oop und ich würde gerne wissen, wie mehrere Variablen/Eigenschaften zu einer Funktion innerhalb einer Klasse oder Methoden übergeben. zum Beispiel versuche ich, diesen Code unten zu oop zu konvertieren bitte nicht nur konvertieren es für mich id gerne wissen, wie man mehrere Eigenschaften statt mehrere Globals festlegen. sollte ich es mit dem Konstruktor tun oder es einfach über die Funktion übergeben, zB _comm ($ var1, $ var2, $ var3, $ var3) oder so? "neue comm_class ($ var1, $ var2, $ var3, $ var3);"tring zu lernen oop und brauchen Hilfe zu verstehen, wie mehrere Variablen zu Funktion/Methoden übergeben
function _comm($vresults) {
global $conn;
global $varfightno;
global $p_comm;
global $b_comm;
global $s_comm;
global $vtagid;
global $aid;
$fdetails = $conn->prepare("select distinct(fldusrcd) as vuser from tblplyrbetlisttemp where fldarenaid= ?");
$fdetails->execute([$aid]);
$row_rscoll = $fdetails->fetch();
if ($fdetails->rowCount() > 0) {
do {
$varuserid = $row_rscoll['vuser'];
$vtrandate = date("Y-m-d G:i:s");
$T0 = 0;
if ($vresults == 'BANKER') {
$varodd = 'fldB0price';
$win_comm = $b_comm;
}
if ($vresults == 'PLAYER') {
$varodd = 'fldP0price';
$win_comm = $p_comm;
}
$sel_bet = $conn->prepare("select SUM({$varodd}),SUM(fldT0),SUM(fldPP0),SUM(fldBP0),SUM(fldAP0) FROM tblplyrbetlisttemp where fldarenaid = ? and fldusrcd = ?");
$sel_bet->execute([$aid,$varuserid]);
$fetch_bet = $sel_bet->fetch(PDO::FETCH_NUM);
if ($sel_bet->rowCount() > 0) {
$sel_bet = null;
$OC = ($win_comm * $fetch_bet[0]) + 0;
$T0 = $fetch_bet[1] + 0;
$PP0 = $fetch_bet[2] + 0;
$BP0 = $fetch_bet[3] + 0;
$AP0 = $fetch_bet[4] + 0;
$sel_tranno = $conn->prepare("select max(fldtranno) from tblcollplasada where fldarenaid= ?");
$sel_tranno->execute([$aid]);
$vtranno = $sel_tranno->fetchColumn() + 1;
$sel_tranno = null;
$params = array(
$vtagid,
$vtranno,
$varfightno,
$vtrandate,
$varuserid,
$vresults,
$win_comm,
$s_comm,
$OC,
$T0,
$PP0,
$BP0,
$AP0,
$aid,
);
$place_holders = implode(',', array_fill(0, count($params), '?'));
$ins = $conn->prepare("INSERT INTO tblcollplasada(fldtag,fldtranno,fldfightno,fldtrandate,fldusrcd,fldwinner,fldpercomm,sys_comm,fld1010,fldD7,fldPP0,fldBP0,fldAP0,fldarenaid) VALUES({$place_holders})");
$ins->execute($params);
$ins = null;
}
} while ($row_rscoll = $fdetails->fetch());
}
}
Jeder Weg wäre in Ordnung. Es hängt wirklich davon ab, wofür die Klasse verwendet wird, und diese Datenelemente werden von mehr als einer Methode verwendet. Wenn sie in mehr als einer der Klassen verwendet werden, können Methoden, die das '__construct()' übergeben, sinnvoller sein – RiggsFolly