gpt4 book ai didi

php - 点火器 | Controller 中的重复代码

转载 作者:搜寻专家 更新时间:2023-10-31 21:51:45 27 4
gpt4 key购买 nike

我正在使用 Codeigniter,问题是我的 Controller 中有重复很多的特定代码,我需要将这段代码放在一个地方,然后在 Controller 中调用它。

例子:

 public function A()
{
something 1
something 2
something 3
something 4

$data = bla bla bla;
}

public function B()
{
something 1
something 2
something 3
something 4

for ($i=0; $i < ; $i++) {
# code...
}
}
public function C()
{
something 1
something 2
something 3
something 4

if (condition) {
# code...
} else {
# code...
}

}

每次我需要(东西 1 东西 2 东西 3 东西 4)我怎样才能停止重复呢?

编辑:这是我的“东西”代码:

$all_menus = $this->menu_model->get_all($this->getLanguage());
foreach ($all_menus as $row) {
$children = $this->menu_model->get_children($row->id_menu,$this->getLanguage());
$row->children = $children;
$data[] = $row;

最佳答案

你可以这样做:

class Something{

public function A(){
self::myFunction();
}

public function B(){
self::myFunction();
}

private function myFunction(){
$all_menus = $this->menu_model->get_all($this->getLanguage());
foreach ($all_menus as $row) {
$children = $this->menu_model->get_children($row>id_menu,$this->getLanguage());
$row->children = $children;
$data[] = $row;
}
}

}

通过这种方式,您可以访问每个使用 self 调用 myFunction 的函数中的数据

关于php - 点火器 | Controller 中的重复代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40686278/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com