У меня есть одна функция, это очень длинная функция, эту функцию нужно запускать на всех моих контроллерах, в частности, в индексной функции, чтобы при каждой загрузке моего контроллера эта функция выполнялась. Я пытался использовать include
, но это не сработало. Я использую HMVC в качестве шаблона.
Я знаю, что это не очень хорошая идея, но вот мой вид функции.
public function sample(){
foreach($this->First_model->getID() as $data)
{
if($this->First_model->getNewData($data["id"]) == 0)
{
if((date('d')) == $data["month"])
{
$in = date_create($data["date_of_activation"]);
$end_date = date_modify(date_create($in->format('Y-m-' . $data["month"])),"+1 month")->format('Y-m-d');
if($this->First_model->check_history($data["id"]) >=1)
{
$price = $this->First_model->getElectricity_with_history($data["id"],$data["date_of_activation"],$end_date);
}
else
{
$price = $this->First_model->getElectricity_no_history($data["id"],$data["date_of_activation"],$end_date);
}
if($this->First_model->check_data($data["id"])== 0)
{
$data = array(
"id" => $data["id"],
"is_updated" => "0",
"total" => $price->price
);
$this->First_model->insert_data($data);
}
}
}
else
{
if((date('d')) == $data["month"])
{
$start = date("Y-m-d", strtotime("+ 1 day - 1 month"));
$end = date("Y-m-d", strtotime("+ 1 day"));
$price = 0;
if($this->First_model->check_history($data["id"]) >=1)
{
$price = $this->First_model->getValue_history($data["id"],$start,$end);
}
else
{
$price = $this->First_model->getElectricity_no_history($data["id"],$start,$end);
}
if($this->First_model->check_if_has($data["id"])== 0)
{
$data = array(
"id" => $data["id"],
"is_updated" => "0",
"total" => $price->price
);
$this->First_model->insert_data($data);
}
}
}
}
}
есть ли способ, которым я могу вызватьэто для всех моих контролеров? поэтому вместо того, чтобы помещать эту очень длинную функцию в каждую мою независимость от моих контроллеров.