Prvé slovenské CMS Buxus: Cesta od PHP 3 k Laravelu

Na začiaku apríla sa konala developerská konferencia CodeCon, na ktorej sme sa za ui42 zúčastnili nielen ako návštevníci, ale Šimon Zámečník (Technical Architect a BUXUS lead z ui42) aj aktívne prednášal tému CMS BUXUS. 

Hovoriť o prvom slovenskom CMS a zároveň o frameworku Laravel znie tak trochu ako oxymoron. Predsalen, v roku 1999 nie len že Laravel neexistoval, ale PHP vtedy bolo vo verzii 3 a práve len začínalo byť objektovo orientované. Trh s CMS pre webové stránky bol tiež veľmi obmedzený. (Napríklad predchodca dnes najpopulárnejšieho CMS Wordpress b2 cafelog vznikol v roku 2001.)

Zakladatelia ui42 teda prišli s vlastným riešením web content management systému, ktorý dostal názov Redis (skratka pre redakčný informačný systém). Primerane svojej dobe mal vlastnosti, ktoré z dnešného pohľadu pôsobia negatívne. “Spaghetti” kód šablón miešal PHP s HTML viac ako by sa patrilo a tieto šablóny boli navyše uložené v databáze - čo malo v tej dobe svoje opodstatnenie. A keďže už spomenuté OOP len prichádzalo do PHP, aj BUXUS používal iba funkcie, nie objekty.

Zend Framework

V roku 2009 nastal obrovský posun vpred prechodom na Zend Framework 1. Okrem iného to architektonicky dovolilo používať MVC, autoloading, objekty pre prácu s databázou a inými dôležitými komponentami.

Laravel

Rok 2015 bol už rokom, kedy framework Laravel naberal popularitu a v ui42 sa rozhodlo, že jeho výhody chceme používať v CMS BUXUS aj my. Ako ale na to? Existujúci systém mal v sebe veľa kódu napísaného v Zend Framework 1 a existovali len dve možnosti: komplet všetko prepísať alebo integrovať Laravel do existujúceho kódu. Roky skúseností rozhodli, že stavať aplikáciu ‘na zelenej lúke’ sa neoplatí, a tak sa išlo druhou cestou. Tá predstavovala to, že sa do BUXUSu dostávali komponenty Laravelu, ako napríklad service container, illuminate/queue a iné. BUXUS teda ešte ako taký nebežal priamo na Laraveli, ale prerábali sme ho tak, aby sa na Laravel čo najviac podobal.

Časová os vývoja BUXUS CMS od PHP3 po Laravel 5.8

Kompletný prechod na Laravel nastal v roku 2017 - znamenalo to, že celý framework (nie len jeho vybrané časti) bol závislosť pre inštaláciu BUXUS CMS a aj adresárová štruktúra, teda layout projektu, je podľa Laravelu.

Prerábanie existujúcej aplikácie, ktorá je nasadená do produkcie na desiatkach až stovkách webov, si vyžaduje veľa úsilia pre spätnú kompatibilitu. Zároveň však developeri chcú používať čo najmodernejšie postupy a nástroje všade tam, kde je to možné. V CMS BUXUS sme sa s touto úlohou popasovali celkom dobre. Pre webových vývojárov a ďalších ľudí, ktorých táto téma zaujíma, odporúčam pozrieť si celú Šimonovu prednášku, ktorú nájdete v priloženom videu.

V prípade, že sme vás zaujali, alebo máte nejaké otázky k téme CMS, BUXUS, prípadne inej, neváhajte nás kontaktovať. Veľmi radi vám poradíme.