Ich habe einen Controller namens home.php
, in dem eine Funktion namens podetails
ist. Ich möchte diese Funktion in einem anderen Controller user.php
aufrufen.
Ist es möglich, dies zu tun? Ich habe über HMVC
in CI gelesen, aber ich möchte wissen, ist es möglich, ohne Verwendung von HMVC zu tun?So rufen Sie eine Controller-Funktion in einem anderen Controller in Code-Nummer
Antwort
zu Controller erweitern bitte entweder diese tutorial folgen oder einen Code unten sehen.
Unterschiede zwischen private/public/protected
machen eine Datei im Ordner /application/core/
namens MY_Controller.php
Innerhalb dieser Datei haben einige Code wie
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class MY_Controller extends CI_Controller {
protected $data = Array(); //protected variables goes here its declaration
function __construct() {
parent::__construct();
$this->output->enable_profiler(FALSE); // I keep this here so I dont have to manualy edit each controller to see profiler or not
$this->load->model('some_model'); //this can be also done in autoload...
//load helpers and everything here like form_helper etc
}
protected function protectedOne() {
}
public function publicOne() {
}
private function _privateOne() {
}
protected function render($view_file) {
$this->load->view('header_view');
if ($this->_is_admin()) $this->load->view('admin_menu_view');
$this->load->view($view_file . '_view', $this->data); //note all my view files are named <name>_view.php
$this->load->view('footer_view');
}
private function _isAdmin() {
return TRUE;
}
}
und jetzt in jeder von Ihnen bestehenden Controller bearbeiten nur 1st oder 2 nd Linie, wo
class <controller_name> extends MY_Controller {
und fertig
auch beachten Sie, dass alle Variablen, die gemeint sind, im Hinblick verwendet werden sollen in dieser Variablen (array) $this->data
Beispiel einiger Controller, der durch MY_Controller
erweitert
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
class About extends MY_Controller {
public function __construct() {
parent::__construct();
}
public function index() {
$this->data['today'] = date('Y-m-d'); //in view it will be $today;
$this->render('page/about_us'); //calling common function declared in MY_Controller
}
}
Danke das ist viel besser :) – user2936213
Schöne Lösung. Vielen Dank – user2899728
schreiben Sie die podetails() als eine Funktion in einer Hilfsdatei.
dann laden Sie diesen Helfer in beiden Controllern.
in der Steuerung einfach podetails() aufrufen
Angenommen:
--controller 1--
function podetails()
{
podetails(); // will call function in helper ;
}
--controller 2--
function podetails()
{
podetails(); // will call function in helper ;
}
- 1. rufen Sie einen Controller in einem anderen Controller Angularjs
- 2. Rufen Sie einen Controller aus einem anderen
- 3. So rufen Sie einen anderen Beitrag in einem anderen Controller in Rails Functional Test
- 4. rufen Sie eine Funktion von einem anderen Controller
- 5. So rufen Sie Methode von einem Controller zu einem anderen Controller appcelerator
- 6. Rufen Sie einen Controller aus einem anderen Controller
- 7. So verwenden Sie Methoden von einem Controller in einem anderen
- 8. So rufen Sie den UINavigation Controller in Ziel c
- 9. Rufen Sie eine Funktion aus einem anderen Paket in Go
- 10. So rufen Sie jQuery ordnungsgemäß von einem AngularJS-Controller aus
- 11. So rufen Sie die Funktion von einem anderen Skript (AngularJS)
- 12. So rufen Sie eine Hostfunktion in einem CUDA-Kernel auf?
- 13. So rufen Sie eine Funktion in einem Objekt auf
- 14. So rufen Sie eine Methode vom Controller über link_to auf?
- 15. So rufen Sie eine Controller-Methode aus Javascript
- 16. So rufen Sie einen Sub aus einem anderen Sub dynamisch
- 17. So rufen Sie Mailto in AngularJS-Controller auf
- 18. So rufen Sie die Vorlagendatei in meinem Controller auf?
- 19. So rufen Sie eine WebApi-Controller-Methode auf?
- 20. eine Aktion in einem anderen Controller
- 21. So rufen Sie Module in lib Ordner
- 22. So rufen Sie eine Aktivität zurück Stapel von einem anderen in Android
- 23. So rufen Sie eine benutzerdefinierte Hilfsfunktion in einem anderen benutzerdefinierten Hilfsprogramm auf
- 24. Ember: Rufen Sie eine Komponente Aktion von einem Controller
- 25. So rufen Sie eine Funktion in app_controller in meinen Elementen
- 26. RUBY - So rufen Sie eine Methode aus einer anderen Klasse
- 27. So rufen Sie Modelle in Laravel 5?
- 28. AngularJS rufen einen anderen Controller die Funktion
- 29. So rufen Sie einen Selektor in einer anderen Klasse auf
- 30. So rufen Sie Tag-Klartext in einem verschachtelten Tag ab
mit Beispiel erklären und verwenden –
Ich habe es sehr deutlich erklärt. Bitte lesen Sie die Frage erneut. – user2936213
bitte angeben, was ist die Verwendung? –