簡體   English   中英

如何在PHP的另一個控制器文件中調用函數?

[英]How do I call a function inside another controller file in PHP?

我有一個函數需要使用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' ); ?>

但是我不能在函數中間這樣做。

它們都是控制器文件。 任何幫助,將不勝感激。

它與Codeigniter無關。 如果Jobassignment.php是一個PHP類,則可以為其創建一個實例,然后調用該函數:

user namespace/Jobassignment

$jobassignment = new Jobassignment();

$jobassignment->createassignments();

但是,如果您創建的該方法要在其他類中調用,則必須在Helpers目錄下創建一個類,然后按照我的解釋調用該方法。

不要創建請求類的實例。 您必須參加一個幫助班來處理。

如果目標是在另一個控制器中使表單的操作成為方法,則您的代碼

<form action="<?php echo base_url( 'jobassignment/createassignments' ); ?>

很好。 您只需要了解您正在執行重定向,就可以在當前控制器中執行代碼。 理解<form action...>始終是重定向,其中將表單的輸入元素值發送到服務器。

因為是重定向,所以沒有理由調用$this->load->library('controllers/jobassignment');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM