Entwicklung mit Grocerycrud für Codeigniter pHp

Inhaltsverzeichnis
Wenn wir eine Anwendung oder ein Websystem entwickeln, müssen wir normalerweise mit Datenbanken interagieren. Dazu müssen wir Schnittstellen schaffen, die es uns ermöglichen, Daten zu verbinden, hinzuzufügen, zu bearbeiten oder zu löschen. Diese Art der Operation ist auf unterschiedliche Weise bekannt
CRUD ist ein Akronym, das für Create, Read, Update und Delete steht. ABM ist ein Akronym, das für High, Low und Data Modification steht. ABCDE ist ein Akronym, das für Add, Find, Change, Display (show or list), Delete data steht.
Jeder PHP-Webentwickler ist immer bestrebt, die Entwicklungszeit zu optimieren, und die Durchführung dieser Art von Aufgaben erfordert viel Zeit, beispielsweise die Erstellung eines einfachen, stabilen und sicheren Webverwaltungssystems. Tatsächlich dauert es am längsten, die Interaktionsanforderungen mit der Datenbank, die Geschäftslogik, die Modelle und die Ansichten für die Interaktion mit jeder Tabelle in der Datenbank zu verstehen und in den Code zu übersetzen.
Eine Lösung in diesem Fall für CodeIgniter ist die Verwendung des Grocerycrud-Bibliothek, die dafür verantwortlich ist, alles zu generieren, indem sie nur einige Parameter konfiguriert, Es enthält auch CSS-Design, JavaScripts, Tabellen, Formulare, Datenraster, Funktionen und Modelle, die wir direkt in unserem System verwenden können.
Grocery CRUD ist eine in pHp . entwickelte Bibliothek, ist freie Software und Open Source mit der Lizenz GPL v3 und MIT. Um es verwenden zu können, müssen wir die Bibliothek von http://www.grocerycrud.com/downloads herunterladen
Nach dem Download entpacken und kopieren wir die Dateien

Wir werden nicht detailliert beschreiben, wie man es konfiguriert Mitzünder Stattdessen konzentrieren wir uns auf die direkte Nutzung. Angenommen, wir haben eine Datenbank mit Immobilien, deren Tabellen Immobilien, Benutzer, Städte, Provinzen, Immobilienarten und die Art des Betriebs sind, wenn es sich um einen Verkauf oder eine Vermietung handelt.

Um den Crud der Immobilientabelle zu generieren, erstellen wir einen Controller namens Immobilien mit dem folgenden Code
 laden-> Datenbank (); $ this-> load-> library ('grocery_CRUD');} public function index () {$ crud = new shopping_CRUD (); $ crud-> set_theme ('Datentabellen'); $ crud-> set_table ('Eigenschaften'); $ crud-> Spalten ('Benutzer-ID', 'Eigenschaftstyp-ID', 'Preis'); $ grid = $ crud-> render(); $ this-> load-> view ('immobilien.php', $ grid);}}
Wir rufen die Datenbankbibliothek und die Bibliothek auf Lebensmittelgeschäft dann legen wir das Thema oder Design fest, das wir für das Raster verwenden möchten, wir legen die anzuzeigende Tabelle fest und geben an, welche Spalten oder Felder angezeigt werden, indem wir die Felder der Tabelle zuweisen, die wir anzeigen möchten, wir generieren alles mit die Funktion rendern () und wir speichern es in einer Variablen, die wir an die Ansicht senden. Als nächstes erstellen wir die Ansicht, die wir Immobilienliste nennen.php
 
In der Ansicht müssen wir das für die Funktion erforderliche CSS und JS anzeigen. Der Speicherort der Dateien ist bereits durch die Vorlage definiert. In diesem Fall haben wir uns für die Verwendung der Vorlage entschieden Datenblätter die wir im Vorlagenverzeichnis finden:
 / Assets / Lebensmittelgeschäft_crud / Themen / Datentabellen /
Wenn wir unsere Anwendung testen, sehen wir folgendes Ergebnis:

VERGRÖSSERN

Wir sehen, wie das gesamte Grid mit wenig Code generiert wurde, jetzt werden wir sehen, wie man Funktionalitäten hinzufügt und verbessert. Zum Beispiel können wir in den ID-Spalten den Namen ändern und auch anstelle der ID der zugehörigen Daten möchten wir, dass einige aussagekräftigere Daten angezeigt werden, zum Beispiel anstelle der Benutzer-ID der Name und anstelle des idtipoinmueble, das anzeigt, um welchen Typ es sich handelt wenn es zu Hause, im Büro usw. Dazu sollten wir einige Modifikationen am Controller vornehmen.
Um den Namen einer Spalte zu ändern, machen wir im Controller Folgendes: Wir verwenden display_as (currentname, newname)
 $ crud-> Spalten ('userid', 'property type id', 'price'); $ crud-> display_as ('user id', 'User'); $ crud-> display_as ('property type id', ' Art der Immobilie');
Um die Daten anstelle der ID anzuzeigen, müssen wir mit set_subjet (bezogene Tabelle) und set_relation (relationale ID, verknüpfte Tabelle, feldbezogene Tabelle) angeben.
 $ crud-> set_subject ('user'); $ crud-> set_relation ('userid', 'users', 'name'); // die ID ist die der Datenbank, die ich zeige, also die Beziehung in Immobilien $ crud -> set_relation ('property_type', 'property_type', 'name');
Als Nächstes aktualisieren wir die Seite, um die Änderungen mit dem hinzugefügten Code anzuzeigen:

Sehen wir uns an, wie die Datenregistrierung oder -änderung generiert wird, aus den Feldern der Tabellenstruktur wird das Datenregistrierungsformular generiert. Einige können sie je nach Datentyp konfigurieren, andere müssen wir angeben, welcher Datentyp und welches Formularelement zugewiesen werden soll.

Wir sehen, dass die Texttypfelder zu textarea werden und das cfkeditor-Plugin hinzugefügt wird.
Ein wichtiger Aspekt ist die Validierung der von uns registrierten Daten. Dazu müssen wir die Funktion required_fields (Feld) verwenden. Daher können wir im Controller den folgenden Code hinzufügen, um zu überprüfen, ob ein Feld erforderlich ist.
 $ crud-> required_fields ('userid', 'price');
Wir können auch den Datentyp festlegen, den wir mit der Funktion set_rules validieren
 $ crud-> set_rules ('price', 'Mietpreis', 'numeric'); $ crud-> set_rules ('email', 'User email', 'email');
Auf diese Weise wird beim Senden unterhalb des Formulars angezeigt, wenn ein Fehler aufgetreten ist:

Zusätzlich zu den Daten, die wir eingeben können, müssen wir in diesem Fall Bilddateien der Immobilien hochladen, dafür müssen wir die Funktion verwenden set_field_upload ('Feld,' Verzeichnis'), standardmäßig können wir das Verzeichnis verwenden Assets / Uploads / Dateien, die bereits enthält LebensmittelgeschäftAndernfalls können wir unsere eigenen konfigurieren.
 $ crud-> set_field_upload ('image1', 'assets/uploads/files'); $ crud-> set_field_upload ('image2,'assets/uploads/files'); $ crud-> set_field_upload ('image3', 'assets/uploads/files'); $ crud-> set_field_upload ('image4', 'assets/uploads/files');

So erstellen Sie ein mehrsprachiges Datenraster
Im Verzeichnis / Vermögenswerte / Lebensmittelgeschäft_crud Wir haben das Verzeichnis Sprachen mit allen Übersetzungen in jede Sprache der Benutzeroberfläche, die das Raster anzeigt,
Wir können aus dem Verzeichnis zur Konfiguration gehen Anwendung / Konfiguration / Lebensmittelgeschäft_crud.php und geben Sie die Standardsprache an, die wir in der Sprachkonfiguration verwenden möchten.
 $ config ['grocery_crud_default_language'] = 'spanisch';
Wenn wir dies dynamisch tun möchten, zum Beispiel über ein Menü, um die Sprache aus dem Web auszuwählen, fügen wir die Sprache zu unserem Code hinzu
 $ crud-> set_language ("englisch").
Funktionen aus dem Netz entfernen
Eine der Möglichkeiten besteht darin, Funktionen zu entfernen, die wir nicht anzeigen möchten, oder Felder zu deaktivieren, die wir dafür verwenden werden ein Satz und seine verschiedenen Möglichkeiten unset_add, unset_edit, unset_delete und unset_list
Wenn wir also zum Beispiel verwenden $ crud-> unset_edit (); der Bearbeiten-Button wird nicht in der Liste angezeigt, wenn wir verwenden $ crud-> unset_texteditor ('Beschreibung'); der der Beschreibung entsprechende Textbereich verwendet nicht das cfkeditor-Plugin. Wenn wir nur eine Liste anzeigen möchten, ohne eine andere Operation als die Suche ausführen zu können, verwenden wir die Funktion.
 $ crud-> unset_operations ();
So rufen Sie eine Funktion aus einem Ereignis auf
Grocerycurd ermöglicht es uns, Callbacks zu verarbeiten, d. h. eine Funktion vor, während oder nach dem Eintreten eines Ereignisses aufzurufen. Einige Beispiele. Wenn wir beim Generieren des Formulars einen Rückruf hinzufügen möchten und ein bestimmtes Feld betreffen, verwenden wir die folgende Funktion:
 $ crud-> callback_add_field ('email', array ($ this, 'color change'));
Dann definieren wir im Controller die Funktion, die wir im Callback aufrufen
 Funktion Farbwechsel () {return '';}
Wenn wir eine Spalte manipulieren möchten, verwenden wir Folgendes:
 code $ crud-> callback_column ('price', array ($ this, 'allocatecurrency')); Funktion allocatecurrency ($ value, $ row) {return $ value. ' € ';}

Wir können den Rückruf auch vor dem Einfügen oder Speichern von Daten verwenden:
 $ crud-> callback_before_insert (Array ($ this, 'calculate_total));
Es gibt viele andere Ereignisse, die Rückrufe auslösen können, die wir auf der Website von . konsultieren können Lebensmittel Crud. Andere Dienstprogramme, die es hat, sind die Möglichkeit, nach Excel zu exportieren und das Raster mit seinen Daten zu drucken. Wenn wir eine Schaltfläche mit zusätzlichen Funktionen wie dem Exportieren in PDF hinzufügen möchten, müssen wir den Code der Vorlage ändern, die sich im Verzeichnis befindet Assets \ Lebensmittelgeschäft_crud \ Themes \ Mypantilla \ Ansichten, im Verzeichnis der von uns verwendeten Vorlage ändern wir die Dateien list_template.php und wir fügen hinzu, was wir brauchen.Hat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben
wave wave wave wave wave