Vývoj s Grocerycrud pro Codeigniter pHp

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ůsoby
CRUD 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

Nebudeme podrobně popisovat, jak konfigurovat Codeigniter místo toho se zaměříme na přímé použití. Předpokládejme, že máme databázi nemovitostí, jejichž tabulky jsou vlastnosti, uživatelé, města, provincie, typy nemovitostí a typ provozu, pokud jde o prodej nebo pronájem.

K vygenerování hrubého grafu realitní tabulky vytvoříme řadič s názvem realitní s následujícím kódem
 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

Vidíme, jak byla celá mřížka generována s malým kódem, nyní uvidíme, jak přidat a zlepšit funkce. Například sloupce id můžeme změnit název a také místo toho, aby se zobrazilo ID souvisejících dat, chtěli bychom nějaká významnější data, například místo ID uživatele se objeví jméno a místo idtipoinmueble, který ukazuje, o jaký typ se jedná pokud je to domov, kancelář atd. K tomu bychom měli provést nějaké úpravy v ovladači.
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:

Podívejme se, jak je generována registrace nebo úprava dat, z polí struktury tabulky je generován formulář pro registraci dat. Někteří je mohou konfigurovat podle typu dat, u jiných musíme uvést, jaký typ dat a prvek formuláře by měl být přiřazen.

Vidíme, že pole typu textu se stanou textarea a je přidán plugin cfkeditor, můžeme to vidět na webových stránkách ckeditor.com, z datových polí se stane datepicker, ze souvisejících polí se stanou komba nebo rozevírací výběrové prvky.
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ě:

Kromě údajů, které můžeme zadat, musíme v tomto případě nahrát obrazové soubory vlastností, pro které musíme použít funkci set_field_upload ('pole,' adresář '), ve výchozím nastavení můžeme použít adresář aktiva / nahrávky / soubory, který již obsahuje obchod s potravinamiV opačném případě můžeme nakonfigurovat vlastní.
 $ 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');

Jak vytvořit vícejazyčnou datovou mřížku
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. ' € ';}

Můžeme také použít zpětné volání před vložením nebo uložením dat:
 $ 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
wave wave wave wave wave