Udvikling med Grocerycrud til Codeigniter pHp

Indholdsfortegnelse
Når vi udvikler en applikation eller websystemer, har vi normalt brug for at interagere med databaser. Til dette skal vi oprette grænseflader, der giver os mulighed for at oprette forbindelse, tilføje data, redigere eller slette dem. Denne type operation er kendt på forskellige måder
CRUD er et akronym, der står for Opret, læs, opdater og slet. ABM er et akronym, der står for High, Low og Data Modification. ABCDE er et akronym, der står for Tilføj, Find, Skift, Vis (vis eller liste), Slet data.
Hver php -webudvikler søger altid at optimere udviklingstiden og at udføre denne type opgaver kræver meget tid, for eksempel at oprette et enkelt, stabilt og sikkert webadministrationssystem. Faktisk tager det mest tid at forstå og oversætte interaktionskravene med databasen, forretningslogikken, modellerne og visningerne til at interagere med hver tabel i databasen til koden.
En løsning i dette tilfælde for CodeIgniter er at bruge Grocerycrud -bibliotek, som skal stå for at generere alt ved blot at konfigurere nogle parametre, Det indeholder også css -design, JavaScripts, tabeller, formularer, datagitter, funktioner, modeller, som vi kan bruge direkte i vores system.
Dagligvarer CRUD er et bibliotek udviklet i pHp, er gratis software og open source dens licens GPL v3 og MIT. For at bruge det skal vi downloade biblioteket fra http://www.grocerycrud.com/downloads
Efter at have downloadet det, pakker vi ud og kopierer filerne

Vi vil ikke beskrive, hvordan man konfigurerer Kodeigniter i stedet vil vi fokusere på direkte brug. Antag, at vi har en database med ejendomme, hvis tabeller er ejendomme, brugere, byer, provinser, ejendomstyper og driftstype, hvis det er salg eller leje.

For at generere crud i tabellen med fast ejendom opretter vi en controller kaldet fast ejendom med følgende kode
 load-> database (); $ this-> load-> bibliotek ('dagligvare_CRUD');} offentligt funktionsindeks () {$ crud = ny købmand_CRUD (); $ crud-> set_theme ('datatabeller'); $ crud-> set_table ('egenskaber'); $ crud-> kolonner ('userid', 'property type id', 'price'); $ grid = $ crud-> render (); $ this-> load-> view ('real estate.php', $ grid);}}
Vi påberåber os databasebiblioteket og biblioteket købmand derefter sætter vi det tema eller design, som vi vil bruge til gitteret, vi sætter tabellen til at vise, og vi angiver, hvilke kolonner eller felter der vil blive vist ved at tildele felterne i tabellen, som vi vil have vist, vi genererer alt med funktionen gengive () og vi gemmer det i en variabel, som vi sender til visningen. Dernæst opretter vi den visning, som vi kalder fast ejendom list.php
 
I visningen bliver vi nødt til at vise den css og js, der er nødvendige for at den kan fungere, placeringen af ​​filerne er allerede defineret af skabelonen, i dette tilfælde besluttede vi at bruge skabelonen databler som vi kan finde i skabelonmappen:
 / assets / dagligvare_crud / temaer / datatabeller /
Hvis vi tester vores ansøgning, vil resultatet blive følgende:

FORSTØRRE

Vi ser, hvordan hele nettet blev genereret med lidt kode, nu vil vi se, hvordan vi tilføjer og forbedrer funktionaliteter. For eksempel kan id -kolonnerne ændre navnet og også i stedet for, at de relaterede data vises, vil vi gerne have nogle mere betydningsfulde data, for eksempel i stedet for bruger -id, vises navnet, og i stedet for idtipoinmueble, der viser, hvilken type det er hvis det er hjem, kontor osv. Til dette bør vi foretage nogle ændringer af controlleren.
For at ændre navnet på en kolonne gør vi følgende i controlleren, vi bruger display_as (nuværende navn, nyt navn)
 $ crud-> kolonner ('userid', 'property type id', 'price'); $ crud-> display_as ('user id', 'User'); $ crud-> display_as ('property type id', ' Ejendomstype');
For at vise dataene i stedet for id'et skal vi angive med set_subjet (relateret tabel) og set_relation (relationel id, relateret tabel, feltrelateret tabel)
 $ crud-> set_subject ('bruger'); $ crud-> set_relation ('userid', 'users', 'name'); // id'et er det i databasen, jeg viser, det vil sige forholdet i fast ejendom $ crud -> set_relation ('property_type', 'property_type', 'name');
Dernæst opdaterer vi siden for at se ændringerne med den kode, vi tilføjede:

Lad os se, hvordan dataregistreringen eller modifikationen genereres, fra felterne i tabelstrukturen genereres dataregistreringsformularen. Nogle kan konfigurere dem i henhold til datatypen, andre skal vi angive, hvilken type data og formelement der skal tildeles.

Vi ser, at teksttypefelterne bliver til et tekstområde, og cfkeditor-plugin tilføjes, vi kan se det på webstedet ckeditor.com, datofelterne bliver datapicker, de relaterede felter bliver til kombinationer eller rullelister, der vælger elementer.
Et vigtigt aspekt er, hvordan vi validerer de data, vi registrerer, til dette skal vi bruge funktionen required_fields (felt), derfor kan vi i controlleren tilføje følgende kode for at validere, at et felt er påkrævet.
 $ crud-> required_fields ('userid', 'price');
Vi kan også fastslå, hvilken type data vi skal validere med funktionen set_rules
 $ crud-> set_rules ('pris', 'lejepris', 'numerisk'); $ crud-> set_rules ('email', 'User email', 'email');
På denne måde angiver det under formularen, når der sendes, hvis der er en fejl:

Ud over de data, vi kan indtaste, skal vi i dette tilfælde uploade billedfiler af egenskaberne, for dem skal vi bruge funktionen set_field_upload ('felt,' bibliotek '), som standard kan vi bruge biblioteket aktiver / uploads / filer, som allerede inkorporerer købmandEllers kan vi konfigurere vores egne.
 $ 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');

Sådan laver du et flersproget datagitter
Inde i biblioteket / assets / dagligvare_crud vi har biblioteket Sprog med alle oversættelser til hvert sprog i grænsefladen, som gitteret viser,
Vi kan gå til konfigurationen fra biblioteket application / config / dagligvare_crud.php og angiv det standardsprog, som vi vil bruge i sprogkonfigurationen.
 $ config ['grocery_crud_default_language'] = 'spansk';
Hvis vi vil gøre det dynamisk, f.eks. Gennem en menu for at vælge sprog fra internettet, tilføjer vi sproget til vores kode
 $ crud-> set_language ("engelsk").
Fjernelse af funktionaliteter fra nettet
En af mulighederne er at fjerne funktionaliteter, som vi ikke vil have vist, eller deaktivere felter til dette, vi vil bruge et sæt og dens forskellige muligheder unset_add, unset_edit, unset_delete og unset_list
Så for eksempel hvis vi bruger $ crud-> unset_edit (); rediger -knappen vises ikke på listen, hvis vi bruger $ crud-> unset_texteditor ('beskrivelse'); tekstområdet, der svarer til beskrivelsen, bruger ikke cfkeditor -pluginet. Hvis vi kun vil vise en liste uden at kunne udføre andre operationer end søgning, bruger vi funktionen.
 $ crud-> unset_operations ();
Sådan påberåbes en funktion fra en begivenhed
Grocerycurd giver os mulighed for at håndtere tilbagekald, det vil sige at påberåbe en funktion før, under eller efter en begivenhed opstår. Nogle eksempler. Hvis vi vil tilføje et tilbagekald, når formularen genereres og påvirke et bestemt felt, vil vi bruge følgende funktion:
 $ crud-> callback_add_field ('email', array ($ dette, 'farveændring'));
Derefter definerer vi i controlleren den funktion, vi påkalder i tilbagekald
 funktionsfarveændring () {return '';}
Hvis vi vil manipulere en kolonne, bruger vi følgende:
 kode $ crud-> callback_column ('price', array ($ this, 'allocatecurrency')); function allocatecurrency ($ value, $ row) {return $ value. ' € ';}

Vi kan også bruge tilbagekaldelsen, før vi indsætter eller gemmer data:
 $ crud-> callback_before_insert (array ($ dette, 'beregn_total));
Der er mange andre begivenheder for at påkalde tilbagekald, som vi kan konsultere på webstedet for Dagligvarer Crud. Andre hjælpeprogrammer, den har, er muligheden for at eksportere til excel og udskrive nettet med sine data. Hvis vi vil tilføje en knap med ekstra funktionalitet, f.eks. Eksport til pdf, skal vi ændre koden til den skabelon, der er i biblioteket aktiver \ dagligvare_crud \ temaer \ mypantilla \ visninger, i biblioteket over den skabelon, vi bruger, ændrer vi filerne list_template.php og vi tilføjer, hvad vi har brug for.Kan du lide og hjælpe denne vejledning?Du kan belønne forfatteren ved at trykke på denne knap for at give ham et positivt punkt
wave wave wave wave wave