2012-04-07 13 views
0

Ich bin neu in CodeIgniter und habe einen Controller erstellt, der mit einigen Ansichten und Modellen kommuniziert.Wie kann ich einen anderen Controller in CodeIgniter übergeben?

Sobald mein Controller fertig ist, seine Dinge zu erledigen (lässt sich sagen, dass dieser Controller Logins und Registrierungen behandelt), wie wird es an einen anderen Controller übergeben (um die Benutzerschnittstelle zu handhaben usw.)?

Antwort

1

Scheint, dass ich es nur falsch gemacht habe. Ich war immer Fehler wie:

Kann nicht modify header information - headers already sent by (Ausgabe auf [Pfad] gestartet

Und so war ich Dinge in der falschen Reihenfolge zu tun

.. Meine Lösung war, nur den Code und Benutzer redirect() zu beheben.

-1

Sie könnten die Datei mit dem Controller enthalten, dann eine neue Instanz des Controllers machen:

<?php 
require_once("path/to/other_controller.php"); 
class MainController extends CI_Controller { 
    public function index() { 
     // Logic here... 
     $other_controller = new OtherController(); 
     $other_controller->moreLogic(); 
    } 
} 
?> 

Aber wenn Sie mehrere Controller verwenden müssen, sind Sie etwas falsch zu machen. Sie sollten mehrere Modelle verwenden, die jeweils ihre geeignete Logik (in separaten Dateien auch!) Behandeln. Die Benutzeroberfläche sollte sowieso in den Sichten behandelt werden, auch wenn das bedeutet, dass Logik in den Sichten ausgeführt werden muss.

+1

Meine gesamte Web-App würde von einem Controller verwaltet werden? Ich nahm an, dass es separate Controller für unterschiedliche Zwecke/Abschnitte der App haben würde. – jeremy

+0

Nein, du bist richtig dort r sollten sich die Controller niemals gegenseitig referenzieren. Ich meinte "wenn Sie mehrere Controller ** für eine Seite ** brauchen, dann machen Sie etwas falsch." Es wäre sicherlich chaotisch mit nur einem Controller für alles: P –

Verwandte Themen