Sukurta su „Grocerycrud“, skirta „Codeigniter“ pHp

Turinys
Kurdami programą ar žiniatinklio sistemas, dažniausiai turime sąveikauti su duomenų bazėmis. Tam turime sukurti sąsajas, kurios leistų mums prisijungti, pridėti duomenų, juos redaguoti ar ištrinti. Šio tipo operacijos žinomos įvairiais būdais
CRUD yra akronimas, reiškiantis kurti, skaityti, atnaujinti ir ištrinti. ABM yra akronimas, reiškiantis „High“, „Low“ ir „Data Modification“. ABCDE yra akronimas, reiškiantis Pridėti, Rasti, Keisti, Rodyti (rodyti ar sąrašą), Ištrinti duomenis.
Kiekvienas PHP žiniatinklio kūrėjas visada siekia optimizuoti kūrimo laiką, o tokio tipo užduotims atlikti reikia daug laiko, pavyzdžiui, sukurti paprastą, stabilią ir saugią žiniatinklio administravimo sistemą. Tiesą sakant, daugiausiai laiko reikia suprasti ir išversti į kodą sąveikos su duomenų baze reikalavimus, verslo logiką, modelius ir rodinius, kad būtų galima sąveikauti su kiekviena duomenų bazės lentele.
Šiuo atveju „CodeIgniter“ sprendimas yra naudoti „Grocerycrud“ biblioteka, kuri bus atsakinga už visko generavimą tik sukonfigūravus kai kuriuos parametrus, Jame taip pat yra css dizainas, „JavaScripts“, lentelės, formos, duomenų tinklas, funkcijos, modeliai, kuriuos galime naudoti tiesiogiai savo sistemoje.
„Grocery CRUD“ yra biblioteka, sukurta pagal pHp, yra nemokama programinė įranga ir atviro kodo licencija GPL v3 ir MIT. Norėdami ja naudotis, turime atsisiųsti biblioteką iš http://www.grocerycrud.com/downloads
Atsisiuntę išpakuojame ir nukopijuojame failus

Mes nedetalizuosime, kaip sukonfigūruoti Kodas Vietoj to mes sutelksime dėmesį į tiesioginį naudojimą. Tarkime, kad turime nuosavybės duomenų bazę, kurios lentelės yra nuosavybės, vartotojai, miestai ar miestai, provincijos, nuosavybės rūšys ir veiklos rūšis, jei tai pardavimas ar nuoma.

Norėdami sugeneruoti nekilnojamojo turto lentelę, sukursime valdiklį, vadinamą nekilnojamuoju turtu su šiuo kodu
 apkrova-> duomenų bazė (); $ this-> load-> library ('grocery_CRUD');} viešųjų funkcijų indeksas () {$ crud = new grocery_CRUD (); $ crud-> set_theme ('duomenų lentelės'); $ crud-> set_table ('properties'); $ crud-> stulpeliai ('userid', 'property type id', 'price'); $ grid = $ crud-> render (); $ this-> load-> view ('real estate.php', $ grid);}}
Mes iškviečiame duomenų bazių biblioteką ir biblioteką bakalėjos parduotuvė tada mes nustatome temą ar dizainą, kurį norime naudoti tinkleliui, nustatome, kad lentelė būtų rodoma, ir nurodome, kurie stulpeliai ar laukai bus rodomi, priskirdami lentelės laukus, kuriuos norime parodyti, ir viską sugeneruojame funkcija pateikti () ir išsaugome jį kintamajame, kurį siunčiame į rodinį. Toliau sukuriame vaizdą, kurį vadiname nekilnojamojo turto sąrašu. Php
 
Rodinyje turėsime rodyti css ir js, kad jis veiktų, failų vieta jau apibrėžta šablone, šiuo atveju nusprendėme naudoti šabloną duomenų bazes kurį galime rasti šablonų kataloge:
 / asset / grocery_crud / themes / datatables /
Jei išbandysime savo programą, rezultatas bus toks:

DIDELIS

Mes matome, kaip buvo sukurtas visas tinklelis su nedideliu kodu, o dabar pamatysime, kaip pridėti ir pagerinti funkcijas. Pavyzdžiui, ID stulpelius galime pakeisti pavadinimu, o vietoj to, kad būtų rodomi susiję duomenys, norėtume daugiau reikšmingų duomenų, pavyzdžiui, vietoj vartotojo ID rodomas vardas, o vietoj idtipoinmueble, kuris parodo, kokio tipo jis yra jei tai namai, biuras ir pan. Norėdami tai padaryti, turėtume šiek tiek pakeisti valdiklį.
Norėdami pakeisti stulpelio pavadinimą, valdiklyje atliekame šiuos veiksmus: mes naudojame display_as (dabartinis vardas, naujas vardas)
 $ crud-> stulpeliai ('userid', 'property type id', 'price'); $ crud-> display_as ('user id', 'User'); $ crud-> display_as ('property type id', ' Nuosavybės tipas');
Norėdami rodyti duomenis vietoj ID, turime nurodyti su set_subjet (susijusi lentelė) ir set_relation (santykių ID, susijusi lentelė, su lauku susijusi lentelė)
 $ crud-> set_subject ('vartotojas'); $ crud-> set_relation ('userid', 'users', 'name'); // id yra ta duomenų bazė, kurią aš rodau, tai yra santykis nekilnojamasis turtas $ crud -> set_relation ('property_type', 'property_type', 'name');
Tada atnaujiname puslapį, kad pamatytume pakeitimus su pridėtu kodu:

Pažiūrėkime, kaip generuojama duomenų registracija ar modifikavimas, iš lentelės struktūros laukų sugeneruojama duomenų registravimo forma. Kai kurie gali juos konfigūruoti pagal duomenų tipą, kiti turime nurodyti, kokio tipo duomenys ir formos elementas turėtų būti priskirti.

Matome, kad teksto tipo laukai tampa teksto sritimi ir pridedamas „cfkeditor“ papildinys, mes galime tai pamatyti svetainėje ckeditor.com, datos laukai tampa datos rinkikliu, susiję laukai taps kombinacijomis arba išskleidžiamaisiais pasirinkimo elementais.
Svarbus aspektas yra tai, kaip patvirtinti užregistruotus duomenis, tam turime naudoti funkciją „required_fields“ (laukas), todėl valdiklyje galime pridėti šį kodą, kad patvirtintume, jog laukas yra būtinas.
 $ crud-> required_fields ('userid', 'price');
Taip pat galime nustatyti duomenų tipą, kurį ketiname patvirtinti naudodami funkciją „set_rules“
 $ crud-> set_rules („kaina“, „nuomos kaina“, „skaitinė“); $ crud-> set_rules („el. paštas“, „vartotojo el. paštas“, „el. paštas“);
Tokiu būdu siunčiant žemiau formos bus nurodyta, ar yra klaida:

Be duomenų, kuriuos galime įvesti, šiuo atveju turime įkelti ypatybių vaizdo failus, jiems turime naudoti funkciją set_field_upload ('laukas, katalogas'), pagal numatytuosius nustatymus galime naudoti katalogą turtas / įkėlimai / failai, į kurią jau įtraukta bakalėjos parduotuvėPriešingu atveju galime sukonfigūruoti savo.
 $ crud-> set_field_upload ('vaizdas1', 'ištekliai / įkėlimai / failai'); $ crud-> set_field_upload ('vaizdas2,' ištekliai / įkėlimai / failai '); $ crud-> set_field_upload ('image3', 'ištekliai / įkėlimai / failai'); $ crud-> set_field_upload ('image4', 'ištekliai / įkėlimai / failai');

Kaip sukurti daugiakalbę duomenų tinklelį
Katalogo viduje / asset / grocery_crud mes turime katalogą Kalbos su visais vertimais į kiekvieną sąsajos kalbą, kurią rodo tinklelis,
Galime pereiti prie konfigūracijos iš katalogo application / config / grocery_crud.php ir nurodykite numatytąją kalbą, kurią norime naudoti kalbų konfigūracijoje.
 $ config ['grocery_crud_default_language'] = 'ispanų';
Jei norime tai padaryti dinamiškai, pavyzdžiui, meniu, norėdami pasirinkti kalbą iš žiniatinklio, mes įtraukiame kalbą į savo kodą
 $ crud-> set_language ("anglų").
Funkcijų pašalinimas iš tinklo
Viena iš galimybių yra pašalinti funkcijas, kurių nenorime rodyti, arba išjungti laukus, kuriuos naudosime vienas komplektas ir jos įvairios galimybės unset_add, unset_edit, unset_delete ir unset_list
Pavyzdžiui, jei mes naudojame $ crud-> unset_edit (); redagavimo mygtukas nebus rodomas sąraše, jei naudosime $ crud-> unset_texteditor ('aprašymas'); aprašymą atitinkanti teksto sritis nenaudos „cfkeditor“ papildinio. Jei norime rodyti sąrašą tik negalėdami atlikti jokių kitų veiksmų, išskyrus paiešką, mes naudojame šią funkciją.
 $ crud-> unset_operations ();
Kaip iškviesti funkciją iš įvykio
„Grocerycurd“ leidžia mums valdyti atgalinius skambučius, tai yra, iškviesti funkciją prieš įvykį, jo metu arba po jo. Kai kurie pavyzdžiai. Jei norime pridėti atšaukimą, kai sugeneruojama forma, ir paveikti tam tikrą lauką, naudosime šią funkciją:
 $ crud-> callback_add_field ('email', array ($ this, 'color change'));
Tada valdiklyje mes apibrėžiame funkciją, kurią mes iškviečiame atgalinio ryšio metu
 funkcijos spalvos keitimas () {return '';}
Jei norime manipuliuoti bet kuriuo stulpeliu, naudosime šiuos veiksmus:
 kodas $ crud-> callback_column ('kaina', masyvas ($ this, 'allocatecurrency')); funkcija allocatecurrency ($ value, $ row) {return $ value. ' € “;}

Mes taip pat galime naudoti atgalinį ryšį prieš įterpdami ar išsaugodami duomenis:
 $ crud-> callback_before_insert (masyvas ($ this, 'calc_total));
Yra daug kitų įvykių, kuriais galima iškviesti atgalinį skambutį Bakalėjos Crud. Kitos paslaugos, kurias ji turi, yra galimybė eksportuoti į „Excel“ ir spausdinti tinklelį su jo duomenimis, jei norime pridėti mygtuką su papildomomis funkcijomis, pvz., Eksportuoti į pdf, turime pakeisti katalogo šablono kodą ištekliai \ grocery_crud \ themes \ mypantilla \ views, naudojamo šablono kataloge modifikuojame failus list_template.php ir pridedame tai, ko mums reikia.Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką
wave wave wave wave wave