„Codeigniter4 komponentai“ – savadarbių html elementų kūrimo įrankis

Kurdami svetaines ar sistemas dažnai susiduriame su ta pačia problema – kodo pasikartojimu. Nors karkasai palengvina darbą, tam tikrus vartotojo sąsajos (UI) elementus vis tiek tenka vis iš naujo aprašinėti taip pat. Mygtukai, kortelės, iššokančių pranešimų aprašymai, formų elementai – tai daugybė pasikartojančio kodo.

Laravel, populiariausias PHP karkasas, tokioms problemoms spręsti turi Blade Components biblioteką – ji sudaro galimybes rašyti pvz. tokį savadarbį html:

<x-button-save />

O naršyklei pasiunčiamas visas html mygtukas su konkrečiam projektui pritaikytu stiliumi:

<button
  style="color: white; background-color: green;"
>
  Įrašyti
</button>

Codeigniter4 PHP karkasas, kurį naudodamas kūriau daugelį savo projektų, tokio įrankio neturėjo; tiksliau, kažkas panašaus buvo integruota į Bonfire2 administracinių panelių įrankį, tačiau tą funkcionalumą buvo galima naudoti tik kartu su Bonfire2.

Pagalvojau, kad tą funkcionalumą galima perkelti į atskirą biblioteką, paderinau tai su Bonfire2 kūrėju Lonnie Ezell, ir štai, tas mano projektėlis – dgvirtual/codeigniter4-components, – tapo populiariausiu mano projektu „Packagist“ platformoje!

Šiuo metu šis paketas jau skaičiuoja per 210+ diegimų. Nors atvirojo kodo mastu tai nedidelis skaičius, turint omeny, kad pats Codeigniter4 nėra išskirtinio populiarumo projektas, šis skaičius rodo, kad sprendimas yra naudingas kitiems programuotojams.

Kas tai yra ir su kuo tai valgyti?

Šis paketas skirtas CodeIgniter 4 karkasui. Jo pagrindinis tikslas – suteikti galimybę kurti švarius, pakartotinai naudojamus komponentus (angl. reusable components) jūsų peržiūros (View) failuose. Kaip jau minėjau, tai leidžia pasiekti panašų patogumą, kokį turi modernių JavaScript karkasų (Vue, React) ar Laravel Blade komponentai, išlaikant PHP paprastumą ir greitį.

Pagrindiniai privalumai:

  • Mažiau „Copy-Paste“ kodo projektuose.
  • Tvarkingesnė ir lengviau prižiūrima struktūra.
  • Greitas UI elementų (kortelių, mygtukų, pranešimų) valdymas, jų stiliaus derinimas vienoje vietoje.

Kaip tai veikia praktikoje?

Įsidiegti paketą galite akimirksniu per Composer:

composer require dgvirtual/codeigniter4-components

Įdiegus, CodeIgniter 4 projektuose galite naudoti patogią ir intuityvią sintaksę. Pavyzdžiui, vietoj ilgo HTML kodo, sėkmingo veiksmo mygtuką galite iškviesti tiesiog taip:

<x-button-success>Įrašyti</x-button-success>

Komponentai palaiko ir atributų bei parametrų perdavimą. Jei norite sukurti dinamiškesnį mygtuką su papildomomis klasėmis ar nuorodomis, kodas atrodys taip:

<x-button-green onclick="alert('Mane paspaudė!')">
   Įrašyti!
</x-button-green>

Na, o šablono failas, kuris naudojamas „už scenos“ iš html ir php generuojant galutinį kodą, atrodytų taip:

<button
  style="color: white; background-color: green;"
  <?= isset($onclick) ? 'onclick="' . $onclick . '"' : '' ?>
>
  <?= $slot ?>
</button>

Palaikykite projektą 🚀

Jei programuojate su CodeIgniter 4 arba tiesiog norite palaikyti šį atvirojo kodo projektą, kviečiu užsukti, išbandyti ir įvertinti:

👉 Peržiūrėti paketą ir pilną dokumentaciją: Packagist.org

Turite idėjų, kaip jį patobulinti, ar pastebėjote klaidą? Grįžtamasis ryšys visada laukiamas – pateikite pasiūlymų arba palikite atsiliepimą!


Paskelbta

sukūrė

Komentarai

Parašykite komentarą

El. pašto adresas nebus skelbiamas. Būtini laukeliai pažymėti *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Raktažodžiai

atviras kodas bylos Codeigniter Codeigniter4 darbas drėlingas el. parašas EŽTT genocidas gimimas holokaustas InEnglish internetas joga Jurgelis karo nusikaltimai kde konferencija Kraujelis kubuntu LAT LGGRTC lietuvybė linux microsoft mokslai mokslas nusikaltimai žmoniškumui partizanai PHP pokaris programavimas programos religija religijos laisvė sausio13 sektos seneliai teismas teisė tinklaraštis vasiliauskas vertimas wordpress žurnalizmas

Vėliausi įrašai

Mano web projektai

Sąskaitos paprastai | Nuorodų trumpintuvė | Patobulinta juridinių asmenų paieška | Asmens kodų tikrinimo priemonė

Hobiai

Happysup.eu | Pawed Wave

Visuomenė, politika, etc.

Gentys | Religija.lt | Lietuvos religijotyrininkų draugija | Krizių įveikimo centras | GPB | BDS judėjimas

Tinklaraščiai

Kūlverstukas | Rimas Kudelis | Ar kas nors dar rašo tinklaraščius? 🙂

Technologijos

Laravel+Filament | Codeigniter | HTMX | Alpine.js | Kubuntu

Mano viešasis PGP raktas
keybase.io paskyra

Autorinės teisės

© 2004-2024, Donatas Glodenis. Šiame tinklaraštyje paskelbtą autorinį turinį kitur galima naudoti tik gavus raštišką autoriaus sutikimą.

Jei konkrečiu atveju nėra nurodyta kitaip, tinklaraščio įrašuose išsakomi vertinimai yra asmeninė jų autoriaus nuomonė.