Dnes úvod do toho, co jsem psal jako bakalářku. K pochopení Zend Frameworku to asi nepomůže, ale bude se to hodit v dalších textech – budete vědět co jsem vlastně dělal.
Modularita
Požadavek modularity vyplývá z nutnosti budoucích změn a úprav. Jako demonstrativní aplikace je v této práci vytvořen elektronický obchod. Elektronických obchodů poskytovaných v různých volných licencích je mnoho, takže není problém mít obchod během několika málo hodin. Při následném požadavku na firemní blog či fotogalerii nastává však většinou problém. Opět můžeme použít volně dostupné řešení, ale každá z aplikací je vytvořena zvlášť a propojit je, je někdy problém s obtížností větší, než vytvoření aplikace, která bude zvládat zmíněné požadavky navíc. Stejně tak lze pokračovat s dalšími aplikacemi jako je například diskusní fórum. Modulární aplikace je tedy schopna pracovat s více samostatnými částmi. Tyto části mohou být pak použity společně při tvorbě rozsáhlého webu, či jako samostatné řešení.
Cílem je tedy vytvořit elektronický obchod, který bude však jen jedním modulem celé hypotetické aplikace. Požadavkem na další budoucí moduly je pouze zachování struktury a samozřejmě využívání společných zdrojových kódů.
V budoucnosti není tedy problém přidat libovolný z teoreticky existujících modulů, případně si svůj vytvořit. O kompletní propojení se pak postará již vlastní aplikace. Zde je třeba říci, že se v této práci se nejedná pouze o modul elektronický obchod, ale právě i o společnou aplikační část pro všechny budoucí moduly – konkrétně se jedná zejména
o modul pro správu uživatelů a základní rozvržení administrace. Administrací je myšleno zejména ošetření vstupu pouze autorizovaným uživatelům.
Při tvorbě libovolného modulu je třeba mít na paměti, aby ke společným datům měli přístup všechny (i teoretické, budoucí) moduly. Proto je nutné například v modulu obchod ukládat fotografie výrobků v takové podobě, aby bylo možno je využít bez návaznosti na jiná data. Příkladem může být použití těchto fotografií v modulu Fotogalerie.
Dalším požadavkem je dynamické nahrávání modulů. Složitá instalace
a odinstalace je často důvodem krachu celé aplikace pro koncového uživatele, proto musí být instalace obstarána pouhým nahráním modulu do struktury aplikace. Stejně tak musí být zaručeno automatické propojení administrace a generování administračních menu. Jde o podobný mechanismus, jakým disponuje publikační systém WordPress při správě pluginů.
O společná data (všeobecně používaná data v databázi, konfigurace apod.) se musí starat již zmíněná vlastní aplikace. Z důvodu přehlednosti musí být všechna společná data soustředěna na jednom místě.
Administrační rozhraní
Největší nároky na administrační rozhraní plynou z modulárního konceptu aplikace. Je třeba moduly nejen dynamicky nahrát do aplikace, ale je třeba přímo generovat administrační možnosti dle dostupných modulů. V řešeném modulu elektronického obchodu je základem administrace správa zboží a objednávek, v modulu obstarávajícím uživatele, jde o jednoduchou správu uživatelských nastavení.
Uživatelské rozhraní
V řešeném modulu elektronický obchod nejsou kladeny zvláštní nároky na rozhraní. Registraci a správu uživatelů obstarává modul User a jedná se tak tedy pouze o správu košíku. Je nutné, aby bylo umožněno přidávat zboží do košíku uživatelům jak přihlášeným, tak nepřihlášeným. Je třeba také ošetřit možnost, že uživatel naplní košík jako nepřihlášený a následně se přihlásí, stejně tak naopak. Pro všechny varianty přihlášení a odhlášení je nutno mít košík aktuální a co nejvíce komfortní pro uživatele. Samozřejmostí je výpis zboží a kategorií zboží.