Как вызвать функцию внутри другого файла контроллера в PHP? - PullRequest
0 голосов
/ 21 мая 2019

У меня есть одна функция, которую мне нужно вызвать из другого файла с помощью Codeigniter, и я не уверен, как это сделать.

Один файл находится в controllers / Jobassignment.php, который содержит функцию createassignments (), которую мне нужно вызвать из controllers / Reporting.php. Я довольно новичок в Codeigniter, так как мне вызвать функцию createassignments из Reporting.php?

Я пытался

$this->load->library('controllers/jobassignment');
$this->jobassignment->createassignments();

Но это не работает.

Он был вызван в теге формы:

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

но я не могу сделать это в середине функции.

Они оба являются файлами контроллера. Любая помощь будет оценена.

Ответы [ 2 ]

2 голосов
/ 21 мая 2019

Это не имеет ничего общего с Codeigniter. Если Jobassignment.php является классом PHP, вы можете создать его экземпляр и затем вызвать эту функцию:

user namespace/Jobassignment

$jobassignment = new Jobassignment();

$jobassignment->createassignments();

но если этот метод, который вы создаете, будет вызывать другие классы, вы должны создать класс в каталоге Helpers, а затем вызвать метод так, как я объяснил.

Не создавать экземпляр класса запроса. Вы должны создать вспомогательный класс, чтобы разобраться с этим.

0 голосов
/ 21 мая 2019

Если цель состоит в том, чтобы сделать действие формы методом в другом контроллере, тогда ваш код

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

в порядке.Вам просто нужно понять, что вы делаете перенаправление и выполнение кода в текущем контроллере завершено.Поймите, что <form action...> - это всегда перенаправление, когда значения элемента ввода формы отправляются на сервер.

Поскольку это перенаправление, нет причины вызывать $this->load->library('controllers/jobassignment');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...