CodeIgniter definiert Modelle, Ansichten und Controller

mqdefault.jpg

CodeIgniter ist ein leistungsstarkes PHP-Framework , das die Entwicklung von Webanwendungen erheblich beschleunigen kann. Es hat eine geringe Größe und eine sehr gute Leistung aufgrund des modularen Ansatzes zum Laden seiner Bibliotheken und es leistet hervorragende Arbeit, die Logik der Präsentation durch Verwendung eines dynamischen Model-View-Controllers (MVC) zu trennen.

In diesem Fall werden wir anhand eines einfachen Beispiels sehen, wie der Code übersichtlicher und geordneter funktioniert:

Angenommen, die folgende Tabelle Mitarbeiter einer Datenbank

 TABELLE ERSTELLEN, WENN KEINE MITARBEITER VORHANDEN SIND ( `id` int (11) NICHT NULL AUTO_INCREMENT, `name` varchar (50) NICHT NULL, `salary` int (11) NICHT NULL, PRIMARY KEY (`id`) ) ENGINE = InnoDB DEFAULT CHARSET = latin1 AUTO_INCREMENT = 5; 

Das Modell

Wenn wir das Datenmodell erstellen, wird dies die Funktion sein, die Daten in der Datenbank abfragt

 <? php class Employees_model erweitert CI_Model { Funktion __construct () { $ this-> load-> database (); } Funktion receive_employees () { $ query = $ this-> db-> get ('employee'); return $ query-> result_array (); } } ?> 

In der Funktion __construct laden wir die Datenbank, damit wir mit $ this-> db darauf zugreifen können, um Daten abzufragen, wie wir es in der Funktion receive_employees tun. Um alle Einträge in der Employees-Tabelle wiederherzustellen, führen wir die get () -Funktion aus, die als Parameter die Tabelle empfängt, aus der die Datensätze abgerufen werden sollen. Daher wird dieser Aufruf in der SQL-Abfrage SELECT * FROM ’employee’ übersetzt. Die Funktion get () ist dank der Active Record-Klasse von CodeIgniter verfügbar.

Damit wir unser Modell mit der Datenbank verknüpft haben, wird das nächste Ding sein, den Controller so zu erstellen, dass er diese Daten verarbeitet. Dazu erstellen wir die Datei workers.php in Controllern und definieren die Funktion list_employees.

 Funktion list_employees () { $ this-> load-> model ('employee_model'); // Ich bekomme die Liste und halte sie in einer Matrix $ Employee list = $ this-> employee_model-> receive_employees (); // Ich ordne die Matrix einer Datenmatrix zu, die an die Ansicht gesendet wird $ data ['employee'] = $ listingEmployees; $ this-> load-> view (Mitarbeiterliste ', $ data); } 

Wir laden das Modell, das wir in der ersten Zeile erstellt haben, mit der Funktion load-> model und geben den Namen des Modells an, das wir benötigen, rufen dann die Funktion auf, die wir erstellt haben, und erhalten ein Array mit den Informationen aus der Datenbank. Kopieren Sie die erhaltene Matrix, die wir in der $ -Datenmarkierung an das Vista senden. Bei Sicht senden wir nur eine Matrix mit verschiedenen Daten, die wir später anzeigen werden, zum Beispiel:

 $ data ['employee'] = $ listingEmployees; $ data ['ttitulo_pagina'] = 'Mitarbeiter'; 

Schließlich bereiten wir die Ansicht vor, um die Informationen auf ordnungsgemäße Weise anzuzeigen:

 <html> <body> <h1> <? Geben Sie $ titulo_pagina?> </ H1> zurück <table> <tr> <th> Name </ th> <th> Jahresgehalt </ th> </ tr> <? php foreach ($ employee as $ employee):?> <tr> <td> <? php echo $ used ['name']; ?> </ td> <td> <? php echo $ employee ['Gehalt']; ?> </ td> </ tr> <? php endforeach; ?> </ table> </ body> </ html> 

So rufen Sie die Seite auf, um sie anzuzeigen:

 www.dominio.com/controlador/funcion 

In diesem Fall sollten wir es wie folgt nennen:

 www.mydomain.com/employees/listar_employees 

: Standardmäßig verwendet Codeigniter die URL :

 www.mydomain.com/index.php/controller/function 

Um die index.php aus der URL zu entfernen, wenden wir den folgenden Code in der .htaccess- Datei an

 <IfModule mod_rewrite.c> RewriteEngine ein RewriteCond% {REQUEST_FILENAME}! -F RewriteCond% {REQUEST_FILENAME}! -D RewriteRule. * Index.php / $ 0 [PT, L] </ IfModule> 

See also  Verbinden Sie die Steuerung PS4 ohne Kabel PC Windows 10 Bluetooth

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *