Innehållsförteckning
När vi utvecklar en applikation eller webbsystem behöver vi vanligtvis interagera med databaser. För detta måste vi skapa gränssnitt som gör att vi kan ansluta, lägga till data, redigera eller ta bort det. Denna typ av operation är känd på olika sättCRUD är en förkortning som står för Create, Read, Update and Delete. ABM är en förkortning som står för High, Low och Data Modification. ABCDE är en förkortning som står för Lägg till, Sök, Ändra, Visa (visa eller lista), Radera data.
Varje php -webbutvecklare försöker alltid optimera utvecklingstiden och att göra denna typ av uppgif.webpter kräver mycket tid, till exempel att skapa ett enkelt, stabilt och säkert webbadministrationssystem. Faktum är att det som tar mest tid är att förstå och översätta interaktionskraven med databasen, affärslogiken, modellerna och vyerna för att interagera med varje tabell i databasen till koden.
En lösning i detta fall för CodeIgniter är att använda Grocerycrud -biblioteket, som kommer att ansvara för att generera allt genom att bara konfigurera några parametrar, Den innehåller också css -design, JavaScript, tabeller, formulär, datanät, funktioner, modeller som vi kan använda direkt i vårt system.
Grocery CRUD är ett bibliotek utvecklat i pHp, är gratis programvara och öppen källkod dess licens GPL v3 och MIT. För att kunna använda det måste vi ladda ner biblioteket från http://www.grocerycrud.com/downloads
Efter nedladdning packar vi upp och kopierar filerna
Vi kommer inte att detaljera hur man konfigurerar Kodigniter istället kommer vi att fokusera på direkt användning. Anta att vi har en databas med fastigheter, vars tabeller är fastigheter, användare, städer, provinser, typer av fastigheter och typ av verksamhet om det är försäljning eller uthyrning.
För att generera fastigheten i fastighetsbordet skapar vi en controller som kallas fastigheter med följande kod
load-> databas (); $ this-> load-> library ('dagligvaru_CRUD');} offentligt funktionsindex () {$ crud = ny matvaru_CRUD (); $ crud-> set_theme ('datatabeller'); $ crud-> set_table ('properties'); $ crud-> columns ('userid', 'property type id', 'price'); $ grid = $ crud-> render (); $ this-> load-> view ('real estate.php', $ grid);}}Vi åberopar databasbiblioteket och biblioteket dagligvarukrud sedan ställer vi in temat eller designen som vi vill använda för rutnätet, vi ställer in tabellen för att visa och vi anger vilka kolumner eller fält som ska visas genom att tilldela fälten i tabellen som vi vill ska visas, vi genererar allt med funktionen framställa () och vi sparar det i en variabel som vi skickar till vyn. Därefter skapar vi den vy som vi kallar fastighetslista.php
I vyn måste vi visa css och js som är nödvändiga för att den ska fungera, platsen för filerna är redan definierad av mallen, i det här fallet bestämde vi oss för att använda mallen databler som vi kan hitta i mallkatalogen:
/ assets / dagligvaru_crud / teman / datatabeller /Om vi testar vår ansökan blir resultatet följande:
FÖRSTORA
Vi ser hur hela nätet genererades med lite kod, nu ska vi se hur vi lägger till och förbättrar funktioner. Till exempel kan id -kolumnerna byta namn och istället för id för relaterade data skulle vi vilja ha mer viktiga data, till exempel istället för användar -ID, visas namnet och istället för idtipoinmueble som visar vilken typ det är om det är hem, kontor etc. För detta bör vi göra några ändringar av regulatorn.För att ändra namnet på en kolumn gör vi följande i kontrollen använder vi display_as (nuvarande namn, nytt namn)
$ crud-> kolumner ('userid', 'property type id', 'price'); $ crud-> display_as ('user id', 'User'); $ crud-> display_as ('property type id', ' Fastighetstyp ');För att visa data istället för id måste vi ange med set_subjet (relaterad tabell) och set_relation (relations -id, relaterad tabell, fältrelaterad tabell)
$ crud-> set_subject ('user'); $ crud-> set_relation ('userid', 'users', 'name'); // id är den i databasen som jag visar, det vill säga förhållandet i fastigheter $ crud -> set_relation ('property_type', 'property_type', 'name');Därefter uppdaterar vi sidan för att se ändringarna med koden vi lade till:
Låt oss se hur dataregistrering eller modifiering genereras, från fält i tabellstrukturen genereras dataregistreringsformuläret. Vissa kan konfigurera dem enligt typen av data, andra måste vi ange vilken typ av data och formelement som ska tilldelas.
Vi ser att texttypfälten blir textområde och cfkeditor-tillägget läggs till, vi kan se det på ckeditor.com-webbplatsen, datumfält blir datapicker, de relaterade fälten kommer att bli kombinationer eller rullgardinsmenyelement.
En viktig aspekt är hur vi validerar data som vi registrerar, för detta måste vi använda funktionen required_fields (fält), därför kan vi i kontrollen lägga till följande kod för att validera att ett fält krävs.
$ crud-> required_fields ('userid', 'price');Vi kan också fastställa vilken typ av data som vi ska validera med funktionen set_rules
$ crud-> set_rules ('price', 'Rental price', 'numeric'); $ crud-> set_rules ('email', 'User email', 'email');På detta sätt kommer det att indikera under formuläret när du skickar om det finns ett fel:
Förutom de data som vi kan ange, i detta fall måste vi ladda upp bildfiler för egenskaperna, för dem måste vi använda funktionen set_field_upload ('fält,' katalog '), som standard kan vi använda katalogen tillgångar / uppladdningar / filer, som redan innehåller dagligvarukrudAnnars kan vi konfigurera vår egen.
$ 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');Hur man gör ett flerspråkigt datanät
Inne i katalogen / assets / dagligvaru_crud vi har katalogen språk med alla översättningar till varje språk i gränssnittet som rutnätet visar,
Vi kan gå till konfigurationen från katalogen application / config / dagligvaru_crud.php och ange standardspråket som vi vill använda i språkkonfigurationen.
$ config ['grocery_crud_default_language'] = 'spanska';Om vi vill göra det dynamiskt, till exempel genom en meny för att välja språk från webben, lägger vi till språket i vår kod
$ crud-> set_language ("engelska").Ta bort funktioner från nätet
En av möjligheterna är att ta bort funktioner som vi inte vill att ska visas eller inaktivera fält för detta vi kommer att använda en uppsättning och dess olika möjligheter unset_add, unset_edit, unset_delete och unset_list
Så till exempel om vi använder $ crud-> unset_edit (); redigeringsknappen kommer inte att visas i listan, om vi använder $ crud-> unset_texteditor ('beskrivning'); textområdet som motsvarar beskrivningen använder inte plugin -programmet cfkeditor. Om vi bara vill visa en lista utan att kunna utföra någon annan operation än sökning använder vi funktionen.
$ crud-> unset_operations ();Hur man åberopar en funktion från en händelse
Grocerycurd tillåter oss att hantera återuppringningar, det vill säga att åberopa en funktion före, under eller efter att en händelse inträffar. Några exempel. Om vi vill lägga till ett återuppringning när formuläret genereras och påverkar ett visst fält använder vi följande funktion:
$ crud-> callback_add_field ('email', array ($ this, 'color change'));I kontrollen definierar vi sedan den funktion som vi åberopar vid återuppringning
ändring av funktionens färg () {return '';}Om vi vill manipulera någon kolumn kommer vi att använda följande:
kod $ crud-> callback_column ('price', array ($ this, 'allocatecurrency')); function allocatecurrency ($ value, $ row) {return $ value. ' € ';}Vi kan också använda återuppringningen innan vi sätter in eller sparar data:
$ crud-> callback_before_insert (array ($ this, 'calculate_total));Det finns många andra evenemang för att åberopa återuppringningar som vi kan konsultera på webbplatsen för Livsmedel Crud. Andra verktyg som det har är möjligheten att exportera till excel och skriva ut rutnätet med dess data, om vi vill lägga till en knapp med extra funktionalitet som att exportera till pdf måste vi ändra koden för mallen som finns i katalogen tillgångar \ dagligvaru_crud \ teman \ mypantilla \ vyer, i katalogen för mallen som vi använder ändrar vi filerna list_template.php och vi lägger till det vi behöver.Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng