Я использую Codeignator. У меня проблема как добавить файл в контроллер?
Давайте объясним подробно
У меня есть код в контроллере, что-то вроде этого кода ниже. Просто обратите внимание, что условие if-else равно двум.
foreach($order_list as $order) {
if (is_array($order)) {
foreach($order as $r) {
if ($r - > status == -1) {
//button
} elseif($r - > status == 1) {
//button
} elseif($r - > status == 2) {
//button
} elseif($r - > status == 3) {
//button
} else {
//button
}
// It will increase more in future
}
} else {
// same if-else code
if ($r - > status == -1) {//button}
elseif($r - > status == 1) {//button}
elseif($r - > status == 2) {//button}
elseif($r - > status == 3) {//button }
else {//button}
// It will increase more in future
}
}
Так что я подумал, я создам новый файл и добавлю что-то вроде этого
foreach($order_list as $order) {
if (is_array($order)) {
foreach($order as $r) {
//externalfile.php
}
} else {
//externalfile.php
}
}
externalfile.php
if ($r - > status == -1) {
//button
} elseif($r - > status == 1) {
//button
} elseif($r - > status == 2) {
//button
} elseif($r - > status == 3) {
//button
} else {
//button
}
Почему я так поступаю, потому что не знаю, как увеличить количество строк, и я не хочу менять какое-либо условие, текст или HTML дважды в будущем.
Не могли бы вы помочь мне или с какой-нибудь другой идеей решить эту проблему?
Актуальный код.
foreach($order_list as $order) {
if(is_array($order)){
foreach($order as $r) {
$encryption_id=base64_encode($this->encryption->encrypt($r->cust_id));
$this->myCode($r);//added here
$data[] = array(
"Sr_No" => $n,
"cust_id" =>$encryption_id,//encrpt the id
"Name"=>$r->c_firstname."".$r->c_lastname
);
$n++;
}
} else{
$this->myCode($r);//added here
}
}
public function myCode($status) {
if ($status== -1) {
$order_status='<a href="#">Action name</a>';
} elseif($status == 0) {
$order_status='<a href="#">Action name</a>';
} elseif($status == 1) {
$order_status='<a href="#">Action name</a>';
} else {
$order_status='<a href="#">Action name</a>';
}
}