所以我建立了一个系统,现在我正在整理。我使用Codeigniter MVC框架和PHP Storm,在我看来,我有大量的数学。见吼叫。
foreach ($records as $row) :
$join_date = $row->start_date;
$date1 = new DateTime('now');
$date2 = new DateTime($join_date);
$p = $row->start_amount;
$i = $row->interest;
$c = 12; // compound frequency set to monthly
$n = ((int)$date1->diff($date2)->format("%m")) / 12;
$r = $row->monthly_deposits;
$x = $i / $c;
$y = pow((1 + $x), ($n * $c));
$Total_balance = $p * $y + ($r * (1 + $x) * ($y - 1) / $x);
$remain = 365 - $date1->diff($date2)->format("%a days");
$Total_Deposits = ($row->monthly_deposits * (int)$date1->diff($date2)->format("%m")) + $row->start_amount;
$Total_Int = $Total_balance - $Total_Deposits;
$originalDate = $row->start_date;
$newDate = date("jS \of F Y", strtotime($originalDate));
// Add field values to get row total
$rowTotal = $Total_balance;
// Add row total to grand total
$grandTotal += $rowTotal;
?>
我需要它,所以我可以在我的代码中调用变量,它需要在循环中。
这是最好的方法,显示我将数学放在模型中,并在循环中放置this>model>modelname
之类的东西?
谢谢大家,代码工作得很好,只是不确定最好的方法来保持整洁。
答案 0 :(得分:0)
视图基本上是指显示已在控制器中计算的内容。以此为一般规则(这并不意味着如果需要,您无法在模型或视图上计算任何内容)。
为了保持代码清洁和有意义,我会执行以下操作:
<强>模型强>
class Random_model extends CI_Model {
function get_records() {
// access the database and return the rows you need
}
}
<强>控制器强>
function whatever() {
$data = array(
'first_result' => '',
'second_result' => ''
);
$this->load->model('random_model');
$records = $this->random_model->get_records();
foreach ($records as $row) {
// do here the huge chunk of math and
// put in $data the results you need to display
}
$this->load->view('myview', $data)
}
查看
<div> <?php echo $first_result; ?> </div>
<div> <?php echo $second_result; ?> </div>