我有一个函数需要使用Codeigniter从另一个文件调用,我不确定如何执行此操作。
一个文件位于controllers / Jobassignment.php中,其中包含一个名为createassignments()的函数,我需要从controllers / Reporting.php进行调用。我是Codeigniter的新手,所以如何从Reporting.php调用createassignments函数?
我尝试了
$this->load->library('controllers/jobassignment');
$this->jobassignment->createassignments();
但这不起作用。
它已经在表单标签中被调用:
<form action="<?php echo base_url( 'jobassignment/createassignments' ); ?>
但是我不能在函数中间这样做。
它们都是控制器文件。任何帮助将不胜感激。
答案 0 :(得分:0)
它与Codeigniter无关。如果Jobassignment.php是一个PHP类,则可以为其创建一个实例,然后调用该函数:
user namespace/Jobassignment
$jobassignment = new Jobassignment();
$jobassignment->createassignments();
但是,如果您创建的此方法要在其他类中调用,则必须在Helpers目录下创建一个类,然后按照我的解释调用该方法。
不创建请求类的实例。您必须创建一个辅助课程来处理这个问题。
答案 1 :(得分:0)
如果目标是在另一个控制器中使表单的操作成为方法,那么您的代码
<form action="<?php echo base_url( 'jobassignment/createassignments' ); ?>
很好。您只需要了解您正在执行重定向,就可以在当前控制器中执行代码。了解<form action...>
始终是重定向,其中表单的输入元素值发送到服务器。
由于这是重定向,因此没有理由调用$this->load->library('controllers/jobassignment');