Obsah
Při vývoji aplikace nebo webových systémů obvykle potřebujeme interakci s databázemi. K tomu potřebujeme vytvořit rozhraní, která nám umožní připojit se, přidat data, upravit nebo odstranit. Tento typ operace je znám různými způsobyCRUD je zkratka pro Create, Read, Update a Delete. ABM je zkratka pro High, Low a Data Modification. ABCDE je zkratka pro Add, Find, Change, Display (show or list), Delete data.
Každý webový vývojář php se vždy snaží optimalizovat čas vývoje a provádění tohoto typu úkolu vyžaduje spoustu času, například vytvoření jednoduchého, stabilního a bezpečného systému pro správu webu. Ve skutečnosti to, co zabere nejvíce času, je pochopit a přeložit do kódu požadavky na interakci s databází, obchodní logiku, modely a pohledy na interakci s každou tabulkou v databázi.
Řešením v tomto případě pro CodeIgniter je použít Knihovna Grocerycrud, která bude mít na starosti generování všeho pouhou konfigurací některých parametrů, Zahrnuje také design css, JavaScripty, tabulky, formuláře, datovou mřížku, funkce, modely, které můžeme použít přímo v našem systému.
Grocery CRUD je knihovna vyvinutá v php, je svobodný software a má open source licenci GPL v3 a MIT. Abychom ji mohli použít, musíme si stáhnout knihovnu z http://www.grocerycrud.com/downloads
Po stažení soubory rozbalíme a zkopírujeme
načíst-> databáze (); $ this-> load-> library ('grocery_CRUD');} index veřejné funkce () {$ crud = new grocery_CRUD (); $ crud-> set_theme ('datatables'); $ crud-> set_table ('properties'); $ crud-> columns ('userid', 'property type id', 'price'); $ grid = $ crud-> render (); $ this-> load-> view ('real estate.php', $ grid);}}Vyvoláme databázovou knihovnu a knihovnu obchod s potravinami poté nastavíme motiv nebo design, který chceme použít pro mřížku, nastavíme tabulku tak, aby se zobrazovala a určíme, které sloupce nebo pole se zobrazí, přiřazením polí tabulky, které chceme zobrazit, vše vygenerujeme pomocí funkce poskytnout () a uložíme jej do proměnné, kterou odešleme do zobrazení. Dále vytvoříme pohled, který nazýváme realitní list.php
V pohledu budeme muset zobrazit css a js nezbytné pro jeho fungování, umístění souborů je již definováno šablonou, v tomto případě jsme se rozhodli použít šablonu databází které můžeme najít v adresáři šablon:
/ aktiva / grocery_crud / témata / datové soubory /Pokud naši aplikaci otestujeme, bude výsledek následující:
ZVĚTŠIT
Chcete -li změnit název sloupce, u ovladače používáme následující příkaz display_as (aktuální jméno, nové jméno)
$ crud-> sloupce ('userid', 'property type id', 'price'); $ crud-> display_as ('user id', 'User'); $ crud-> display_as ('property type id', ' Typ majetku');Abychom místo id zobrazili data, musíme uvést set_subjet (související tabulka) a set_relation (relační id, související tabulka, tabulka související s polem)
$ crud-> set_subject ('user'); $ crud-> set_relation ('userid', 'users', 'name'); // id je databáze, kterou zobrazuji, tj. nemovitost $ crud -> set_relation ('property_type', 'property_type', 'name');Dále stránku obnovíme, abychom viděli změny pomocí kódu, který jsme přidali:
Důležitým aspektem je, jak ověřit data, která registrujeme, k tomu musíme použít funkci required_fields (pole), proto do kontroleru můžeme přidat následující kód pro ověření, že je vyžadováno pole.
$ crud-> required_fields ('userid', 'price');Můžeme také určit typ dat, která se chystáme ověřit pomocí funkce set_rules
$ crud-> set_rules ('price', 'Rental price', 'numeric'); $ crud-> set_rules ('email', 'User email', 'email');Tímto způsobem pod formulářem při odesílání uvede, zda došlo k chybě:
$ 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');
Uvnitř adresáře / assets / grocery_crud máme adresář Jazyky se všemi překlady do každého jazyka rozhraní, které mřížka zobrazuje,
Můžeme přejít na konfiguraci z adresáře aplikace / config / grocery_crud.php a označte výchozí jazyk, který chceme použít v jazykové konfiguraci.
$ config ['grocery_crud_default_language'] = 'španělština';Pokud to chceme dělat dynamicky, například prostřednictvím nabídky pro výběr jazyka z webu, přidáme jazyk do našeho kódu
$ crud-> set_language ("anglicky").Odebírání funkcí ze sítě
Jednou z možností je odebrat funkce, které nechceme zobrazovat, nebo deaktivovat pole, která použijeme jedna sada a jeho různé možnosti unset_add, unset_edit, unset_delete a unset_list
Pokud například použijeme $ crud-> unset_edit (); tlačítko Upravit se v seznamu neobjeví, pokud použijeme $ crud-> unset_texteditor ('description'); textová oblast odpovídající popisu nebude používat plugin cfkeditor. Pokud chceme pouze zobrazit seznam, aniž bychom mohli provádět jakoukoli jinou operaci než vyhledávání, použijeme funkci.
$ crud-> unset_operations ();Jak vyvolat funkci z události
Grocerycurd nám umožňuje zpracovat zpětná volání, tj. Vyvolat funkci před, během nebo po výskytu události. Nějaké příklady. Pokud chceme při generování formuláře přidat zpětné volání a ovlivnit konkrétní pole, použijeme následující funkci:
$ crud-> callback_add_field ('email', pole ($ this, 'color change'));Poté v ovladači definujeme funkci, kterou vyvoláme při zpětném volání
změna barvy funkce () {return '';}Pokud chceme manipulovat s jakýmkoli sloupcem, použijeme následující:
kód $ crud-> callback_column ('price', array ($ this, 'allocatecurrency')); function allocatecurrency ($ value, $ row) {return $ value. ' € ';}
$ crud-> callback_before_insert (pole ($ this, 'count_total));Existuje mnoho dalších událostí pro vyvolání zpětných volání, které můžeme konzultovat na webových stránkách Crudery s potravinami. Dalšími nástroji, které má, je možnost exportu do Excelu a tisk mřížky s jejími daty, pokud chceme přidat tlačítko s extra funkcemi, jako je export do pdf, musíme upravit kód šablony, která je v adresáři aktiva \ grocery_crud \ themes \ mypantilla \ views, v adresáři šablony, kterou používáme, upravíme soubory list_template.php a přidáme, co potřebujeme.Líbil se vám tento návod a pomohl mu?Autora můžete odměnit stisknutím tohoto tlačítka, čímž mu dáte kladný bod