我希望这是可能的
我可以将参数传递给CORE / MY_Controller中的函数吗?
我正在开发一个具有三个控制器的应用程序,并且大多数功能是相同的,所以我想编写函数,并在需要时在他们可敬的控制器中再次使用它们。
像search_User_Name()这样的函数将在两个控制器中,如果我可以编写一次并重复使用它将会很酷。我目前面临的问题是我在核心文件夹中有一个控制器作为MY_Controller
class MY_Controller extends CI_Controller{
public function __construct() {
parent::__construct();
}
public function Testing($var){
$function_var= $var;
return $function_var;
}
}
我在控制器文件夹中有一个控制器作为Sub_Controlller
class Sub_Controller extends MY_Controller{
public function __construct() {
parent::__construct();
}
public function Show(){
echo($this->Testing());
}
}
在我有
的视图上echo anchor('Sub_Controller/Show/Parameter','Pass a parameter');
根据我的理解,我是配偶在屏幕上得到“参数”这个词。 有什么帮助吗?
答案 0 :(得分:1)
它可以正常工作,但你仍然需要传递参数:
class Sub_Controller extends MY_Controller {
public function Show($arg = null) {
echo($this->Testing($arg));
}
}
或者,您可以从基本函数中读取URI段,但是您可以控制较少:
class MY_Controller extends CI_Controller {
public function Testing() {
$function_var = $this->uri->segment(2);
return $function_var;
}
}
class Sub_Controller extends MY_Controller {
public function Show() {
echo($this->Testing()); // prints the argument in the URL
}
}
第一种方式更好。